diff --git a/.github/scripts/check-skip-label.sh b/.github/scripts/check-skip-label.sh new file mode 100755 index 0000000000..fd61658bfb --- /dev/null +++ b/.github/scripts/check-skip-label.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Check if the "skip-validate-benchmarks" label is present on a PR. +# Usage: check-skip-label.sh +# Exits 0 normally, or exits 0 after cancelling the workflow if label found. + +set -euo pipefail + +PR_NUMBER="${1:-}" +[[ -z "$PR_NUMBER" ]] && exit 0 + +REPO="${GITHUB_REPOSITORY:-}" +[[ -z "$REPO" ]] && exit 0 + +labels=$(gh pr view "$PR_NUMBER" --repo "$REPO" --json labels --jq '.labels[].name' 2>/dev/null || true) + +if echo "$labels" | grep -q "skip-validate-benchmarks"; then + echo "skip-validate-benchmarks label found — exiting." + exit 1 +fi diff --git a/.github/workflows/run-benchmarks.yml b/.github/workflows/run-benchmarks.yml index 12df3f8ab6..0e3dea9dc1 100644 --- a/.github/workflows/run-benchmarks.yml +++ b/.github/workflows/run-benchmarks.yml @@ -18,12 +18,8 @@ jobs: validate-benchmarks: runs-on: Benchmarking - env: - SKIP_BENCHMARKS: "0" - steps: - name: Check out PR branch - if: ${{ env.SKIP_BENCHMARKS != '1' }} uses: actions/checkout@v4 with: repository: ${{ github.event.pull_request.head.repo.full_name }} @@ -31,144 +27,56 @@ jobs: fetch-depth: 0 - name: Install GitHub CLI - if: ${{ env.SKIP_BENCHMARKS != '1' }} run: | sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get update - sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get install -y --no-install-recommends -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" gh + sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get install -y --no-install-recommends \ + -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" gh echo "${{ secrets.GITHUB_TOKEN }}" | gh auth login --with-token - # (1) — first skip‑label check - - name: Check skip label - if: ${{ env.SKIP_BENCHMARKS != '1' }} - run: | - labels=$(gh pr view ${{ github.event.pull_request.number }} \ - --repo "${{ github.repository }}" \ - --json labels --jq '.labels[].name') - if echo "$labels" | grep -q "skip-validate-benchmarks"; then - echo "skip-validate-benchmarks label found — skipping benchmarks." - echo "SKIP_BENCHMARKS=1" >> "$GITHUB_ENV" - fi - - name: Install system dependencies - if: ${{ env.SKIP_BENCHMARKS != '1' }} run: | - sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get update - sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get install -y --no-install-recommends -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" build-essential clang curl libssl-dev llvm libudev-dev protobuf-compiler pkg-config - - # (2) - - name: Check skip label - if: ${{ env.SKIP_BENCHMARKS != '1' }} - run: | - labels=$(gh pr view ${{ github.event.pull_request.number }} \ - --repo "${{ github.repository }}" \ - --json labels --jq '.labels[].name') - if echo "$labels" | grep -q "skip-validate-benchmarks"; then - echo "skip-validate-benchmarks label found — skipping benchmarks." - echo "SKIP_BENCHMARKS=1" >> "$GITHUB_ENV" - fi + sudo DEBIAN_FRONTEND=noninteractive NEEDRESTART_MODE=a apt-get install -y --no-install-recommends \ + -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \ + build-essential clang curl libssl-dev llvm libudev-dev protobuf-compiler pkg-config - name: Install Rust toolchain - if: ${{ env.SKIP_BENCHMARKS != '1' }} uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable - # (3) - - name: Check skip label - if: ${{ env.SKIP_BENCHMARKS != '1' }} - run: | - labels=$(gh pr view ${{ github.event.pull_request.number }} \ - --repo "${{ github.repository }}" \ - --json labels --jq '.labels[].name') - if echo "$labels" | grep -q "skip-validate-benchmarks"; then - echo "skip-validate-benchmarks label found — skipping benchmarks." - echo "SKIP_BENCHMARKS=1" >> "$GITHUB_ENV" - fi - - name: Cache Rust build - if: ${{ env.SKIP_BENCHMARKS != '1' }} uses: Swatinem/rust-cache@v2 with: key: bench-${{ hashFiles('**/Cargo.lock') }} cache-on-failure: true - # (4) - - name: Check skip label - if: ${{ env.SKIP_BENCHMARKS != '1' }} - run: | - labels=$(gh pr view ${{ github.event.pull_request.number }} \ - --repo "${{ github.repository }}" \ - --json labels --jq '.labels[].name') - if echo "$labels" | grep -q "skip-validate-benchmarks"; then - echo "skip-validate-benchmarks label found — skipping benchmarks." - echo "SKIP_BENCHMARKS=1" >> "$GITHUB_ENV" - fi - - - name: Build node with benchmarks - if: ${{ env.SKIP_BENCHMARKS != '1' }} + - name: Build node with benchmarks + weight tools run: | + .github/scripts/check-skip-label.sh ${{ github.event.pull_request.number }} cargo build --profile production -p node-subtensor --features runtime-benchmarks - - # (5) - - name: Check skip label - if: ${{ env.SKIP_BENCHMARKS != '1' }} - run: | - labels=$(gh pr view ${{ github.event.pull_request.number }} \ - --repo "${{ github.repository }}" \ - --json labels --jq '.labels[].name') - if echo "$labels" | grep -q "skip-validate-benchmarks"; then - echo "skip-validate-benchmarks label found — skipping benchmarks." - echo "SKIP_BENCHMARKS=1" >> "$GITHUB_ENV" - fi - - - name: Ensure artifact folder exists - if: ${{ env.SKIP_BENCHMARKS != '1' }} - run: mkdir -p .bench_patch + .github/scripts/check-skip-label.sh ${{ github.event.pull_request.number }} + cargo build --profile production -p subtensor-weight-tools --bin weight-compare - name: Run & validate benchmarks - if: ${{ env.SKIP_BENCHMARKS != '1' }} timeout-minutes: 180 run: | + .github/scripts/check-skip-label.sh ${{ github.event.pull_request.number }} + mkdir -p .bench_patch chmod +x scripts/benchmark_action.sh scripts/benchmark_action.sh - - name: List artifact contents (for debugging) - if: ${{ always() }} - run: | - echo "Workspace: $GITHUB_WORKSPACE" - if [ -d ".bench_patch" ]; then - echo "== .bench_patch ==" - ls -la .bench_patch || true - else - echo ".bench_patch directory is missing" - fi - - name: Archive bench patch - if: ${{ always() }} + if: always() run: | if [ -d ".bench_patch" ]; then tar -czf bench-patch.tgz .bench_patch - ls -lh bench-patch.tgz - else - echo "No .bench_patch directory to archive." fi - - name: Upload patch artifact (if prepared) - if: ${{ always() }} + - name: Upload patch artifact + if: always() uses: actions/upload-artifact@v4 with: name: bench-patch path: bench-patch.tgz if-no-files-found: warn - - # (6) — final check after run - - name: Check skip label after run - if: ${{ env.SKIP_BENCHMARKS != '1' }} - run: | - labels=$(gh pr view ${{ github.event.pull_request.number }} \ - --repo "${{ github.repository }}" \ - --json labels --jq '.labels[].name') - if echo "$labels" | grep -q "skip-validate-benchmarks"; then - echo "skip-validate-benchmarks label was found — but benchmarks already ran." - fi diff --git a/.maintain/frame-weight-template.hbs b/.maintain/frame-weight-template.hbs index 5e837b2471..624fc57aa3 100644 --- a/.maintain/frame-weight-template.hbs +++ b/.maintain/frame-weight-template.hbs @@ -16,6 +16,7 @@ #![allow(unused_parens)] #![allow(unused_imports)] #![allow(missing_docs)] +#![allow(dead_code)] use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; use core::marker::PhantomData; @@ -33,7 +34,7 @@ pub trait WeightInfo { /// Weights for `{{pallet}}` using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); -{{#if (eq pallet "frame_system")}} +{{#if (or (eq pallet "frame_system") (eq pallet "frame_system_extensions"))}} impl WeightInfo for SubstrateWeight { {{else}} impl WeightInfo for SubstrateWeight { @@ -118,4 +119,4 @@ impl WeightInfo for () { {{/each}} } {{/each}} -} \ No newline at end of file +} diff --git a/Cargo.lock b/Cargo.lock index 3f6ed94fe1..e7cf36d22e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10369,6 +10369,7 @@ dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "pallet-balances", "parity-scale-codec", "scale-info", "sp-core", @@ -10376,6 +10377,7 @@ dependencies = [ "sp-runtime", "sp-std", "subtensor-macros", + "subtensor-runtime-common", ] [[package]] @@ -18331,6 +18333,15 @@ dependencies = [ "subtensor-swap-interface", ] +[[package]] +name = "subtensor-weight-tools" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "syn 2.0.106", +] + [[package]] name = "subtle" version = "1.0.0" diff --git a/chain-extensions/Cargo.toml b/chain-extensions/Cargo.toml index 9727439e7a..e7445e5fb2 100644 --- a/chain-extensions/Cargo.toml +++ b/chain-extensions/Cargo.toml @@ -67,3 +67,20 @@ std = [ "num_enum/std", "substrate-fixed/std", ] +runtime-benchmarks = [ + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-subtensor/runtime-benchmarks", + "pallet-subtensor-swap/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "pallet-contracts/runtime-benchmarks", + "pallet-crowdloan/runtime-benchmarks", + "pallet-drand/runtime-benchmarks", + "pallet-preimage/runtime-benchmarks", + "pallet-scheduler/runtime-benchmarks", + "pallet-subtensor-proxy/runtime-benchmarks", + "pallet-subtensor-utility/runtime-benchmarks", + "pallet-timestamp/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks" +] diff --git a/chain-extensions/src/mock.rs b/chain-extensions/src/mock.rs index 3f9379bc5a..e3b7eb2e94 100644 --- a/chain-extensions/src/mock.rs +++ b/chain-extensions/src/mock.rs @@ -423,6 +423,7 @@ impl pallet_subtensor::Config for Test { type CommitmentsInterface = CommitmentsI; type EvmKeyAssociateRateLimit = EvmKeyAssociateRateLimit; type AuthorshipProvider = MockAuthorshipProvider; + type WeightInfo = (); } // Swap-related parameter types @@ -445,6 +446,8 @@ impl pallet_subtensor_swap::Config for Test { type MinimumLiquidity = SwapMinimumLiquidity; type MinimumReserve = SwapMinimumReserve; type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } pub struct OriginPrivilegeCmp; @@ -589,6 +592,7 @@ impl pallet_drand::Config for Test { type Verifier = pallet_drand::verifier::QuicknetVerifier; type UnsignedPriority = ConstU64<{ 1 << 20 }>; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = (); } impl frame_system::offchain::SigningTypes for Test { diff --git a/docs/benchmarks-and-weights.md b/docs/benchmarks-and-weights.md new file mode 100644 index 0000000000..5178173c3d --- /dev/null +++ b/docs/benchmarks-and-weights.md @@ -0,0 +1,194 @@ +# Benchmarks and Weights + +## Overview + +Every extrinsic in the runtime has a **weight** — a measure of the computational +resources it consumes. Weights are used to calculate transaction fees and to +prevent blocks from being overloaded. + +Weights are defined in `weights.rs` files inside each pallet and are generated +by running benchmarks on reference hardware. + +## Tools + +| Tool | Purpose | +|------|---------| +| `scripts/benchmark_all.sh` | Generate `weights.rs` for one or all pallets (runs real benchmarks) | +| `weight-compare` | Compare two `weights.rs` files and report drift (used by CI) | + +`weight-compare` lives in `support/weight-tools/` and has no heavy dependencies +(no runtime build required). + +## Adding a new pallet + +1. Write your benchmarks in `pallets//src/benchmarking.rs` using + `#[benchmarks]` and `#[benchmark]` macros. + +2. Create `pallets//src/weights.rs` manually. Copy the structure from + any existing pallet (e.g. `pallets/drand/src/weights.rs`) and replace the + function signatures with yours, using `Weight::from_parts(0, 0)` as the + body so the pallet compiles immediately: + + ```rust + pub trait WeightInfo { + fn my_extrinsic() -> Weight; + } + + pub struct SubstrateWeight(PhantomData); + impl WeightInfo for SubstrateWeight { + fn my_extrinsic() -> Weight { + Weight::from_parts(0, 0) + } + } + + impl WeightInfo for () { + fn my_extrinsic() -> Weight { + Weight::from_parts(0, 0) + } + } + ``` + +3. Add `pub mod weights;` to your pallet's `lib.rs`. + +4. Add `type WeightInfo: crate::weights::WeightInfo;` to your pallet's + `Config` trait. + +5. Use `T::WeightInfo::extrinsic_name()` in `#[pallet::weight(...)]` + annotations instead of hardcoded `Weight::from_parts(...)`. + +6. Wire up in `runtime/src/lib.rs`: + ```rust + type WeightInfo = pallet_::weights::SubstrateWeight; + ``` + +7. Add `type WeightInfo = ();` to all test mocks implementing your pallet's + `Config`. + +8. Register the pallet in the `define_benchmarks!` macro in + `runtime/src/lib.rs` so the benchmark runner can discover it: + ```rust + define_benchmarks!( + // ...existing pallets... + [pallet_, PalletInstance] + ); + ``` + +The benchmark scripts auto-discover pallets by scanning for directories under +`pallets/` that have both `benchmarking.rs` and `weights.rs`. No manual +registration in scripts is needed. If you forget step 8 (`define_benchmarks!`), +the benchmark CLI will error — no silent failures. + +CI will generate real weights automatically when the PR is opened. + +## Adding a new extrinsic to an existing pallet + +1. Write the benchmark in `benchmarking.rs`. + +2. Add the function signature to the `WeightInfo` trait in `weights.rs`, and + a `Weight::from_parts(0, 0)` body to both the `SubstrateWeight` and + `()` impls so the pallet continues to compile: + + ```rust + // in trait WeightInfo: + fn new_extrinsic() -> Weight; + + // in both impls: + fn new_extrinsic() -> Weight { + Weight::from_parts(0, 0) + } + ``` + +3. Add `#[pallet::weight(T::WeightInfo::new_extrinsic())]` to the extrinsic. + +CI will generate real weights automatically when the PR is opened. + +## Parameterized weights + +For extrinsics whose cost scales with an input, use `Linear` +parameters in the benchmark. You can use one or more parameters: + +```rust +// Single parameter +#[benchmark] +fn refund(k: Linear<1, 100>) { + // setup with k contributors... + #[extrinsic_call] + _(origin, crowdloan_id); +} + +// Multiple parameters +#[benchmark] +fn transfer_batch(n: Linear<1, 256>, m: Linear<1, 64>) { + // setup with n recipients and m tokens each... + #[extrinsic_call] + _(origin, recipients, amounts); +} +``` + +This generates weight functions with matching signatures: + +```rust +fn refund(k: u32) -> Weight; +fn transfer_batch(n: u32, m: u32) -> Weight; +``` + +The generated weight includes base values plus per-parameter slope terms +(e.g., `base + slope_k * k` for single parameter, or +`base + slope_n * n + slope_m * m` for multiple). Reference them as: + +```rust +#[pallet::weight(T::WeightInfo::refund(T::MaxContributors::get()))] +#[pallet::weight(T::WeightInfo::transfer_batch(recipients.len() as u32, max_tokens))] +``` + +## CI workflow + +The `Validate-Benchmarks` workflow (`.github/workflows/run-benchmarks.yml`) +runs on every PR: + +1. Builds the node with `--features runtime-benchmarks` +2. Runs benchmarks for every pallet, generating new `weights.rs` to temp files +3. Uses `weight-compare` to compare old vs new values with a **40% threshold** + - Base weight: threshold-based (allows measurement noise) + - Reads/writes: exact match (these are deterministic) + - Component slopes: threshold-based for weights, exact for reads/writes +4. If drift is detected, prepares a patch in `.bench_patch/` +5. Adding the `apply-benchmark-patch` label auto-applies the patch + +To skip benchmarks on a PR, add the `skip-validate-benchmarks` label. This can +be added at any point during the job — it's checked between expensive steps. + +## Running benchmarks locally + +```sh +# Build + generate weights for all pallets +./scripts/benchmark_all.sh + +# Build + generate weights for a single pallet +./scripts/benchmark_all.sh pallet_subtensor + +# Run benchmark unit tests (fast, no real measurements — just checks setup) +cargo test -p pallet-subtensor --features runtime-benchmarks benchmarks + +# Compare two weight files +cargo run -p subtensor-weight-tools --bin weight-compare -- \ + --old pallets/foo/src/weights.rs \ + --new /tmp/new_weights.rs \ + --threshold 40 +``` + +## Weight file structure + +Generated `weights.rs` files contain: + +- `WeightInfo` trait — one function per benchmarked extrinsic +- `SubstrateWeight` impl — used in the runtime, references `T::DbWeight` +- `()` impl — used in tests, references `RocksDbWeight` + +The `()` fallback uses `RocksDbWeight` constants even though the node defaults +to ParityDb. This is intentional — RocksDb is slower, so it serves as a +conservative upper bound. The production runtime uses `T::DbWeight::get()` +which is configured in `runtime/src/lib.rs` via `type DbWeight`. + +The files are generated by the `frame-benchmarking-cli` using the Handlebars +template at `.maintain/frame-weight-template.hbs`. diff --git a/eco-tests/src/mock.rs b/eco-tests/src/mock.rs index b2ecdd3c5a..a24af9a39d 100644 --- a/eco-tests/src/mock.rs +++ b/eco-tests/src/mock.rs @@ -88,6 +88,7 @@ impl pallet_balances::Config for Test { impl pallet_shield::Config for Test { type AuthorityId = sp_core::sr25519::Public; type FindAuthors = (); + type WeightInfo = (); } pub struct NoNestingCallFilter; @@ -305,6 +306,7 @@ impl pallet_subtensor::Config for Test { type CommitmentsInterface = CommitmentsI; type EvmKeyAssociateRateLimit = EvmKeyAssociateRateLimit; type AuthorshipProvider = MockAuthorshipProvider; + type WeightInfo = (); } // Swap-related parameter types @@ -516,6 +518,7 @@ impl pallet_drand::Config for Test { type Verifier = pallet_drand::verifier::QuicknetVerifier; type UnsignedPriority = ConstU64<{ 1 << 20 }>; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = (); } impl frame_system::offchain::SigningTypes for Test { diff --git a/pallets/admin-utils/scripts/benchmark.sh b/pallets/admin-utils/scripts/benchmark.sh deleted file mode 100755 index 82d417ffd6..0000000000 --- a/pallets/admin-utils/scripts/benchmark.sh +++ /dev/null @@ -1,9 +0,0 @@ -cargo build --profile production --features runtime-benchmarks -./target/production/node-subtensor benchmark pallet \ - --chain=local \ - --pallet=pallet_admin_utils \ - --extrinsic="*" \ - --steps 50 \ - --repeat 20 \ - --output=pallets/admin-utils/src/weights.rs \ - --template=./.maintain/frame-weight-template.hbs diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index ceb33119c9..d1bce9453c 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -12,6 +12,8 @@ use sp_consensus_grandpa::AuthorityList; use sp_runtime::{DispatchResult, RuntimeAppPublic, Vec, traits::Member}; mod benchmarking; +pub mod weights; +pub use weights::WeightInfo; #[cfg(test)] pub(crate) mod tests; @@ -20,6 +22,7 @@ pub(crate) mod tests; #[frame_support::pallet] #[allow(clippy::expect_used)] pub mod pallet { + use super::weights::WeightInfo; use super::*; use frame_support::pallet_prelude::*; use frame_support::traits::tokens::Balance; @@ -64,6 +67,9 @@ pub mod pallet { /// Unit of assets type Balance: Balance; + + /// Weight information for extrinsics in this pallet. + type WeightInfo: WeightInfo; } #[pallet::event] @@ -193,9 +199,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Aura pallet to change the authorities. #[pallet::call_index(0)] - #[pallet::weight(Weight::from_parts(4_629_000, 0) - .saturating_add(::DbWeight::get().reads(0_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::swap_authorities(new_authorities.len() as u32))] pub fn swap_authorities( origin: OriginFor, new_authorities: BoundedVec<::AuthorityId, T::MaxAuthorities>, @@ -214,9 +218,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the default take. #[pallet::call_index(1)] - #[pallet::weight(Weight::from_parts(5_420_000, 0) - .saturating_add(::DbWeight::get().reads(0_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_default_take())] pub fn sudo_set_default_take(origin: OriginFor, default_take: u16) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_max_delegate_take(default_take); @@ -228,8 +230,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the transaction rate limit. #[pallet::call_index(2)] - #[pallet::weight(Weight::from_parts(5_400_000, 0) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_tx_rate_limit())] pub fn sudo_set_tx_rate_limit(origin: OriginFor, tx_rate_limit: u64) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_tx_rate_limit(tx_rate_limit); @@ -241,9 +242,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the serving rate limit. #[pallet::call_index(3)] - #[pallet::weight(Weight::from_parts(22_980_000, 0) - .saturating_add(::DbWeight::get().reads(2_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_serving_rate_limit())] pub fn sudo_set_serving_rate_limit( origin: OriginFor, netuid: NetUid, @@ -269,9 +268,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the minimum difficulty. #[pallet::call_index(4)] - #[pallet::weight(Weight::from_parts(26_390_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_min_difficulty())] pub fn sudo_set_min_difficulty( origin: OriginFor, netuid: NetUid, @@ -295,9 +292,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the maximum difficulty. #[pallet::call_index(5)] - #[pallet::weight(Weight::from_parts(26_990_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_max_difficulty())] pub fn sudo_set_max_difficulty( origin: OriginFor, netuid: NetUid, @@ -330,9 +325,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the weights version key. #[pallet::call_index(6)] - #[pallet::weight(Weight::from_parts(26_220_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_weights_version_key())] pub fn sudo_set_weights_version_key( origin: OriginFor, netuid: NetUid, @@ -367,9 +360,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the weights set rate limit. #[pallet::call_index(7)] - #[pallet::weight(Weight::from_parts(15_060_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_weights_set_rate_limit())] pub fn sudo_set_weights_set_rate_limit( origin: OriginFor, netuid: NetUid, @@ -395,9 +386,7 @@ pub mod pallet { /// It is only callable by the root account, not changeable by the subnet owner. /// The extrinsic will call the Subtensor pallet to set the adjustment interval. #[pallet::call_index(8)] - #[pallet::weight(Weight::from_parts(21_320_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_adjustment_interval())] pub fn sudo_set_adjustment_interval( origin: OriginFor, netuid: NetUid, @@ -454,9 +443,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the immunity period. #[pallet::call_index(13)] - #[pallet::weight(Weight::from_parts(26_620_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_immunity_period())] pub fn sudo_set_immunity_period( origin: OriginFor, netuid: NetUid, @@ -489,9 +476,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the minimum allowed weights. #[pallet::call_index(14)] - #[pallet::weight(Weight::from_parts(26_630_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_min_allowed_weights())] pub fn sudo_set_min_allowed_weights( origin: OriginFor, netuid: NetUid, @@ -524,9 +509,7 @@ pub mod pallet { /// It is only callable by the root account and subnet owner. /// The extrinsic will call the Subtensor pallet to set the maximum allowed UIDs for a subnet. #[pallet::call_index(15)] - #[pallet::weight(Weight::from_parts(32_140_000, 0) - .saturating_add(::DbWeight::get().reads(6_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_max_allowed_uids())] pub fn sudo_set_max_allowed_uids( origin: OriginFor, netuid: NetUid, @@ -576,9 +559,7 @@ pub mod pallet { /// 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(16)] - #[pallet::weight(Weight::from_parts(15_390_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_kappa())] pub fn sudo_set_kappa(origin: OriginFor, netuid: NetUid, kappa: u16) -> DispatchResult { ensure_root(origin)?; ensure!( @@ -594,9 +575,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the rho. #[pallet::call_index(17)] - #[pallet::weight(Weight::from_parts(23_360_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_rho())] pub fn sudo_set_rho(origin: OriginFor, netuid: NetUid, rho: u16) -> DispatchResult { let maybe_owner = pallet_subtensor::Pallet::::ensure_sn_owner_or_root_with_limits( origin, @@ -623,9 +602,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the activity cutoff. #[pallet::call_index(18)] - #[pallet::weight(Weight::from_parts(28_720_000, 0) - .saturating_add(::DbWeight::get().reads(4_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_activity_cutoff())] pub fn sudo_set_activity_cutoff( origin: OriginFor, netuid: NetUid, @@ -664,9 +641,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the network registration allowed. #[pallet::call_index(19)] - #[pallet::weight(Weight::from_parts(7_343_000, 0) - .saturating_add(::DbWeight::get().reads(0)) - .saturating_add(::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_network_registration_allowed())] pub fn sudo_set_network_registration_allowed( origin: OriginFor, netuid: NetUid, @@ -703,9 +678,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the target registrations per interval. #[pallet::call_index(21)] - #[pallet::weight(Weight::from_parts(25_980_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_target_registrations_per_interval())] pub fn sudo_set_target_registrations_per_interval( origin: OriginFor, netuid: NetUid, @@ -732,9 +705,7 @@ pub mod pallet { /// It is only callable by root and subnet owner. /// The extrinsic will call the Subtensor pallet to set the minimum burn. #[pallet::call_index(22)] - #[pallet::weight(Weight::from_parts(29_970_000, 0) - .saturating_add(::DbWeight::get().reads(4_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_min_burn())] pub fn sudo_set_min_burn( origin: OriginFor, netuid: NetUid, @@ -773,9 +744,7 @@ pub mod pallet { /// It is only callable by root and subnet owner. /// The extrinsic will call the Subtensor pallet to set the maximum burn. #[pallet::call_index(23)] - #[pallet::weight(Weight::from_parts(30_510_000, 0) - .saturating_add(::DbWeight::get().reads(4_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_max_burn())] pub fn sudo_set_max_burn( origin: OriginFor, netuid: NetUid, @@ -814,9 +783,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the difficulty. #[pallet::call_index(24)] - #[pallet::weight(Weight::from_parts(38_500_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_difficulty())] pub fn sudo_set_difficulty( origin: OriginFor, netuid: NetUid, @@ -837,9 +804,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the maximum allowed validators. #[pallet::call_index(25)] - #[pallet::weight(Weight::from_parts(30_930_000, 0) - .saturating_add(::DbWeight::get().reads(4_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_max_allowed_validators())] pub fn sudo_set_max_allowed_validators( origin: OriginFor, netuid: NetUid, @@ -871,9 +836,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the bonds moving average. #[pallet::call_index(26)] - #[pallet::weight(Weight::from_parts(26_270_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_bonds_moving_average())] pub fn sudo_set_bonds_moving_average( origin: OriginFor, netuid: NetUid, @@ -912,9 +875,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the bonds penalty. #[pallet::call_index(60)] - #[pallet::weight(Weight::from_parts(26_890_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_bonds_penalty())] pub fn sudo_set_bonds_penalty( origin: OriginFor, netuid: NetUid, @@ -945,9 +906,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the maximum registrations per block. #[pallet::call_index(27)] - #[pallet::weight(Weight::from_parts(26_970_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_max_registrations_per_block())] pub fn sudo_set_max_registrations_per_block( origin: OriginFor, netuid: NetUid, @@ -1006,9 +965,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the tempo. #[pallet::call_index(30)] - #[pallet::weight(Weight::from_parts(25_790_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_tempo())] pub fn sudo_set_tempo(origin: OriginFor, netuid: NetUid, tempo: u16) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::ensure_admin_window_open(netuid)?; @@ -1025,9 +982,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the issuance for the network. #[pallet::call_index(33)] - #[pallet::weight(Weight::from_parts(2_875_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_total_issuance())] pub fn sudo_set_total_issuance( origin: OriginFor, total_issuance: TaoBalance, @@ -1113,9 +1068,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the recycled RAO. #[pallet::call_index(39)] - #[pallet::weight(Weight::from_parts(15_060_000, 4045) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_rao_recycled())] pub fn sudo_set_rao_recycled( origin: OriginFor, netuid: NetUid, @@ -1134,9 +1087,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the weights min stake. #[pallet::call_index(42)] - #[pallet::weight(Weight::from_parts(5_000_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_stake_threshold())] pub fn sudo_set_stake_threshold(origin: OriginFor, min_stake: u64) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_stake_threshold(min_stake); @@ -1147,9 +1098,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the minimum stake required for nominators. #[pallet::call_index(43)] - #[pallet::weight(Weight::from_parts(28_050_000, 6792) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_nominator_min_required_stake())] pub fn sudo_set_nominator_min_required_stake( origin: OriginFor, // The minimum stake required for nominators. @@ -1171,9 +1120,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the rate limit for delegate take transactions. #[pallet::call_index(45)] - #[pallet::weight(Weight::from_parts(5_019_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_tx_delegate_take_rate_limit())] pub fn sudo_set_tx_delegate_take_rate_limit( origin: OriginFor, tx_rate_limit: u64, @@ -1190,9 +1137,7 @@ pub mod pallet { /// It is only callable by the root account. /// The extrinsic will call the Subtensor pallet to set the minimum delegate take. #[pallet::call_index(46)] - #[pallet::weight(Weight::from_parts(7_214_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_min_delegate_take())] pub fn sudo_set_min_delegate_take(origin: OriginFor, take: u16) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_min_delegate_take(take); @@ -1204,9 +1149,7 @@ pub mod pallet { /// It is only callable by the root account or subnet owner. /// The extrinsic will call the Subtensor pallet to set the value. #[pallet::call_index(49)] - #[pallet::weight(Weight::from_parts(26_730_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_commit_reveal_weights_enabled())] pub fn sudo_set_commit_reveal_weights_enabled( origin: OriginFor, netuid: NetUid, @@ -1244,9 +1187,7 @@ pub mod pallet { /// # Weight /// This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. #[pallet::call_index(50)] - #[pallet::weight(Weight::from_parts(18_300_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_liquid_alpha_enabled())] pub fn sudo_set_liquid_alpha_enabled( origin: OriginFor, netuid: NetUid, @@ -1270,9 +1211,7 @@ pub mod pallet { /// Sets values for liquid alpha #[pallet::call_index(51)] - #[pallet::weight(Weight::from_parts(25_280_000, 4089) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_alpha_values())] pub fn sudo_set_alpha_values( origin: OriginFor, netuid: NetUid, @@ -1313,9 +1252,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(55)] - #[pallet::weight(Weight::from_parts(5_000_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_dissolve_network_schedule_duration())] pub fn sudo_set_dissolve_network_schedule_duration( origin: OriginFor, duration: BlockNumberFor, @@ -1349,9 +1286,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(57)] - #[pallet::weight(Weight::from_parts(26_950_000, 0) - .saturating_add(::DbWeight::get().reads(3_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_commit_reveal_weights_interval())] pub fn sudo_set_commit_reveal_weights_interval( origin: OriginFor, netuid: NetUid, @@ -1420,9 +1355,7 @@ pub mod pallet { /// No change should be signaled while any change is pending. Returns an error if a change /// is already pending. #[pallet::call_index(59)] - #[pallet::weight(Weight::from_parts(7_779_000, 0) - .saturating_add(::DbWeight::get().reads(1_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::schedule_grandpa_change(next_authorities.len() as u32))] pub fn schedule_grandpa_change( origin: OriginFor, // grandpa ID is always the same type, so we don't need to parametrize it via `Config` @@ -1444,9 +1377,7 @@ pub mod pallet { /// # Weight /// This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. #[pallet::call_index(61)] - #[pallet::weight(Weight::from_parts(20_460_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_toggle_transfer())] pub fn sudo_set_toggle_transfer( origin: OriginFor, netuid: NetUid, @@ -1517,9 +1448,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(62)] - #[pallet::weight(Weight::from_parts(5_744_000, 3507) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(0_u64)))] + #[pallet::weight(::WeightInfo::sudo_toggle_evm_precompile())] pub fn sudo_toggle_evm_precompile( origin: OriginFor, precompile_id: PrecompileEnum, @@ -1548,9 +1477,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(63)] - #[pallet::weight(Weight::from_parts(3_000_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_subnet_moving_alpha())] pub fn sudo_set_subnet_moving_alpha(origin: OriginFor, alpha: I96F32) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::SubnetMovingAlpha::::set(alpha); @@ -1594,9 +1521,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(65)] - #[pallet::weight(Weight::from_parts(3_415_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_ema_price_halving_period())] pub fn sudo_set_ema_price_halving_period( origin: OriginFor, netuid: NetUid, @@ -1627,9 +1552,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(68)] - #[pallet::weight(Weight::from_parts(23_140_000, 4045) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_alpha_sigmoid_steepness())] pub fn sudo_set_alpha_sigmoid_steepness( origin: OriginFor, netuid: NetUid, @@ -1674,9 +1597,7 @@ pub mod pallet { /// # Weight /// This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. #[pallet::call_index(69)] - #[pallet::weight(Weight::from_parts(20_460_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_yuma3_enabled())] pub fn sudo_set_yuma3_enabled( origin: OriginFor, netuid: NetUid, @@ -1710,9 +1631,7 @@ pub mod pallet { /// # Weight /// This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. #[pallet::call_index(70)] - #[pallet::weight(Weight::from_parts(32_930_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_bonds_reset_enabled())] pub fn sudo_set_bonds_reset_enabled( origin: OriginFor, netuid: NetUid, @@ -1767,9 +1686,7 @@ pub mod pallet { /// # Rate Limiting /// This function is rate-limited to one call per subnet per interval (e.g., one week). #[pallet::call_index(67)] - #[pallet::weight(Weight::from_parts(20_570_000, 4204) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_sn_owner_hotkey())] pub fn sudo_set_sn_owner_hotkey( origin: OriginFor, netuid: NetUid, @@ -1791,9 +1708,7 @@ pub mod pallet { /// # Weight /// Weight is handled by the `#[pallet::weight]` attribute. #[pallet::call_index(66)] - #[pallet::weight(Weight::from_parts(17_980_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_subtoken_enabled())] pub fn sudo_set_subtoken_enabled( origin: OriginFor, netuid: NetUid, @@ -1811,9 +1726,7 @@ pub mod pallet { /// Sets the commit-reveal weights version for all subnets #[pallet::call_index(71)] - #[pallet::weight(Weight::from_parts(7_114_000, 0) - .saturating_add(::DbWeight::get().writes(1)) - .saturating_add(::DbWeight::get().reads(0_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_commit_reveal_version())] pub fn sudo_set_commit_reveal_version( origin: OriginFor, version: u16, @@ -1825,9 +1738,7 @@ pub mod pallet { /// Sets the number of immune owner neurons #[pallet::call_index(72)] - #[pallet::weight(Weight::from_parts(18_020_000, 0) - .saturating_add(::DbWeight::get().reads(2_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_owner_immune_neuron_limit())] pub fn sudo_set_owner_immune_neuron_limit( origin: OriginFor, netuid: NetUid, @@ -1865,9 +1776,7 @@ pub mod pallet { /// Sets the admin freeze window length (in blocks) at the end of a tempo. /// Only callable by root. #[pallet::call_index(74)] - #[pallet::weight(Weight::from_parts(5_510_000, 0) - .saturating_add(::DbWeight::get().reads(0_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_admin_freeze_window())] pub fn sudo_set_admin_freeze_window(origin: OriginFor, window: u16) -> DispatchResult { ensure_root(origin)?; pallet_subtensor::Pallet::::set_admin_freeze_window(window); @@ -1878,9 +1787,7 @@ pub mod pallet { /// Sets the owner hyperparameter rate limit in epochs (global multiplier). /// Only callable by root. #[pallet::call_index(75)] - #[pallet::weight(Weight::from_parts(5_701_000, 0) - .saturating_add(::DbWeight::get().reads(0_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_owner_hparam_rate_limit())] pub fn sudo_set_owner_hparam_rate_limit( origin: OriginFor, epochs: u16, @@ -1951,9 +1858,7 @@ pub mod pallet { /// the lowest emitters while preserving temporally and owner immune UIDs. The UIDs are /// then compressed to the left and storage is migrated to the new compressed UIDs. #[pallet::call_index(78)] - #[pallet::weight(Weight::from_parts(32_880_000, 0) - .saturating_add(::DbWeight::get().reads(6_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_trim_to_max_allowed_uids())] pub fn sudo_trim_to_max_allowed_uids( origin: OriginFor, netuid: NetUid, @@ -1979,9 +1884,7 @@ pub mod pallet { /// The extrinsic sets the minimum allowed UIDs for a subnet. /// It is only callable by the root account. #[pallet::call_index(79)] - #[pallet::weight(Weight::from_parts(31_550_000, 0) - .saturating_add(::DbWeight::get().reads(5_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_min_allowed_uids())] pub fn sudo_set_min_allowed_uids( origin: OriginFor, netuid: NetUid, @@ -2080,9 +1983,7 @@ pub mod pallet { /// Sets the minimum number of non-immortal & non-immune UIDs that must remain in a subnet #[pallet::call_index(84)] - #[pallet::weight(Weight::from_parts(7_114_000, 0) - .saturating_add(::DbWeight::get().writes(1)) - .saturating_add(::DbWeight::get().reads(0_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_min_non_immune_uids())] pub fn sudo_set_min_non_immune_uids( origin: OriginFor, netuid: NetUid, @@ -2106,9 +2007,7 @@ pub mod pallet { /// Sets the announcement delay for coldkey swap. #[pallet::call_index(86)] - #[pallet::weight(Weight::from_parts(5_000_000, 0) - .saturating_add(::DbWeight::get().reads(0_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_coldkey_swap_announcement_delay())] pub fn sudo_set_coldkey_swap_announcement_delay( origin: OriginFor, duration: BlockNumberFor, @@ -2121,9 +2020,7 @@ pub mod pallet { /// Sets the coldkey swap reannouncement delay. #[pallet::call_index(87)] - #[pallet::weight(Weight::from_parts(5_000_000, 0) - .saturating_add(::DbWeight::get().reads(0_u64)) - .saturating_add(::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_coldkey_swap_reannouncement_delay())] pub fn sudo_set_coldkey_swap_reannouncement_delay( origin: OriginFor, duration: BlockNumberFor, diff --git a/pallets/admin-utils/src/tests/mock.rs b/pallets/admin-utils/src/tests/mock.rs index 335485f5e0..2596d80069 100644 --- a/pallets/admin-utils/src/tests/mock.rs +++ b/pallets/admin-utils/src/tests/mock.rs @@ -232,6 +232,7 @@ impl pallet_subtensor::Config for Test { type CommitmentsInterface = CommitmentsI; type EvmKeyAssociateRateLimit = EvmKeyAssociateRateLimit; type AuthorshipProvider = MockAuthorshipProvider; + type WeightInfo = (); } parameter_types! { @@ -348,6 +349,8 @@ impl pallet_subtensor_swap::Config for Test { type MinimumLiquidity = SwapMinimumLiquidity; type MinimumReserve = SwapMinimumReserve; type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } pub struct OriginPrivilegeCmp; @@ -380,6 +383,7 @@ impl crate::Config for Test { type Aura = (); type Grandpa = GrandpaInterfaceImpl; type Balance = Balance; + type WeightInfo = (); } parameter_types! { @@ -409,6 +413,7 @@ impl pallet_drand::Config for Test { type Verifier = pallet_drand::verifier::QuicknetVerifier; type UnsignedPriority = ConstU64<{ 1 << 20 }>; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = (); } impl frame_system::offchain::SigningTypes for Test { diff --git a/pallets/admin-utils/src/weights.rs b/pallets/admin-utils/src/weights.rs new file mode 100644 index 0000000000..6f52b1a513 --- /dev/null +++ b/pallets/admin-utils/src/weights.rs @@ -0,0 +1,1702 @@ + +//! Autogenerated weights for `pallet_admin_utils` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0 +//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runnervm46oaq`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` + +// Executed Command: +// /home/runner/work/subtensor/subtensor/target/production/node-subtensor +// benchmark +// pallet +// --runtime +// /home/runner/work/subtensor/subtensor/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=benchmark +// --wasm-execution=compiled +// --pallet +// pallet_admin_utils +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 +// --no-storage-info +// --no-min-squares +// --no-median-slopes +// --output=/tmp/tmp.jbwzpfl0EP +// --template=/home/runner/work/subtensor/subtensor/.maintain/frame-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] +#![allow(dead_code)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_admin_utils`. +pub trait WeightInfo { + fn swap_authorities(a: u32, ) -> Weight; + fn schedule_grandpa_change(a: u32, ) -> Weight; + fn sudo_set_default_take() -> Weight; + fn sudo_set_serving_rate_limit() -> Weight; + fn sudo_set_max_difficulty() -> Weight; + fn sudo_set_min_difficulty() -> Weight; + fn sudo_set_weights_set_rate_limit() -> Weight; + fn sudo_set_weights_version_key() -> Weight; + fn sudo_set_bonds_moving_average() -> Weight; + fn sudo_set_bonds_penalty() -> Weight; + fn sudo_set_max_allowed_validators() -> Weight; + fn sudo_set_difficulty() -> Weight; + fn sudo_set_adjustment_interval() -> Weight; + fn sudo_set_target_registrations_per_interval() -> Weight; + fn sudo_set_activity_cutoff() -> Weight; + fn sudo_set_rho() -> Weight; + fn sudo_set_kappa() -> Weight; + fn sudo_set_min_allowed_uids() -> Weight; + fn sudo_set_max_allowed_uids() -> Weight; + fn sudo_set_min_allowed_weights() -> Weight; + fn sudo_set_immunity_period() -> Weight; + fn sudo_set_max_registrations_per_block() -> Weight; + fn sudo_set_max_burn() -> Weight; + fn sudo_set_min_burn() -> Weight; + fn sudo_set_network_registration_allowed() -> Weight; + fn sudo_set_tempo() -> Weight; + fn sudo_set_commit_reveal_weights_interval() -> Weight; + fn sudo_set_commit_reveal_weights_enabled() -> Weight; + fn sudo_set_commit_reveal_version() -> Weight; + fn sudo_set_tx_rate_limit() -> Weight; + fn sudo_set_total_issuance() -> Weight; + fn sudo_set_rao_recycled() -> Weight; + fn sudo_set_stake_threshold() -> Weight; + fn sudo_set_nominator_min_required_stake() -> Weight; + fn sudo_set_tx_delegate_take_rate_limit() -> Weight; + fn sudo_set_min_delegate_take() -> Weight; + fn sudo_set_liquid_alpha_enabled() -> Weight; + fn sudo_set_alpha_values() -> Weight; + fn sudo_set_coldkey_swap_announcement_delay() -> Weight; + fn sudo_set_coldkey_swap_reannouncement_delay() -> Weight; + fn sudo_set_dissolve_network_schedule_duration() -> Weight; + fn sudo_set_toggle_transfer() -> Weight; + fn sudo_toggle_evm_precompile() -> Weight; + fn sudo_set_subnet_moving_alpha() -> Weight; + fn sudo_set_ema_price_halving_period() -> Weight; + fn sudo_set_alpha_sigmoid_steepness() -> Weight; + fn sudo_set_yuma3_enabled() -> Weight; + fn sudo_set_bonds_reset_enabled() -> Weight; + fn sudo_set_sn_owner_hotkey() -> Weight; + fn sudo_set_subtoken_enabled() -> Weight; + fn sudo_set_admin_freeze_window() -> Weight; + fn sudo_set_owner_hparam_rate_limit() -> Weight; + fn sudo_set_owner_immune_neuron_limit() -> Weight; + fn sudo_trim_to_max_allowed_uids() -> Weight; + fn sudo_set_min_non_immune_uids() -> Weight; +} + +/// Weights for `pallet_admin_utils` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + /// Storage: `Aura::Authorities` (r:0 w:1) + /// Proof: `Aura::Authorities` (`max_values`: Some(1), `max_size`: Some(1025), added: 1520, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 32]`. + fn swap_authorities(a: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_118_000 picoseconds. + Weight::from_parts(4_812_201, 0) + // Standard Error: 1_811 + .saturating_add(Weight::from_parts(13_436, 0).saturating_mul(a.into())) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Grandpa::PendingChange` (r:1 w:1) + /// Proof: `Grandpa::PendingChange` (`max_values`: Some(1), `max_size`: Some(1294), added: 1789, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 32]`. + fn schedule_grandpa_change(a: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `174` + // Estimated: `2779` + // Minimum execution time: 7_133_000 picoseconds. + Weight::from_parts(7_810_023, 2779) + // Standard Error: 702 + .saturating_add(Weight::from_parts(20_773, 0).saturating_mul(a.into())) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MaxDelegateTake` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_default_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_210_000 picoseconds. + Weight::from_parts(5_550_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_serving_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `627` + // Estimated: `4092` + // Minimum execution time: 21_179_000 picoseconds. + Weight::from_parts(21_861_000, 4092) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_difficulty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_426_000 picoseconds. + Weight::from_parts(25_417_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_difficulty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_687_000 picoseconds. + Weight::from_parts(25_287_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_weights_set_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 14_217_000 picoseconds. + Weight::from_parts(14_988_000, 4057) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_weights_version_key() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_616_000 picoseconds. + Weight::from_parts(25_578_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:0 w:1) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_bonds_moving_average() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_445_000 picoseconds. + Weight::from_parts(25_318_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:0 w:1) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_bonds_penalty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_596_000 picoseconds. + Weight::from_parts(25_358_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_allowed_validators() -> Weight { + // Proof Size summary in bytes: + // Measured: `802` + // Estimated: `4267` + // Minimum execution time: 28_964_000 picoseconds. + Weight::from_parts(29_475_000, 4267) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:0 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_difficulty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_536_000 picoseconds. + Weight::from_parts(25_427_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_adjustment_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 14_107_000 picoseconds. + Weight::from_parts(14_668_000, 4057) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_target_registrations_per_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_426_000 picoseconds. + Weight::from_parts(25_127_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinActivityCutoff` (r:1 w:0) + /// Proof: `SubtensorModule::MinActivityCutoff` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:0 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_activity_cutoff() -> Weight { + // Proof Size summary in bytes: + // Measured: `838` + // Estimated: `4303` + // Minimum execution time: 26_540_000 picoseconds. + Weight::from_parts(27_251_000, 4303) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Rho` (r:0 w:1) + /// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_rho() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 21_349_000 picoseconds. + Weight::from_parts(22_261_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:0 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_kappa() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 14_537_000 picoseconds. + Weight::from_parts(15_078_000, 4057) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_allowed_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `802` + // Estimated: `4267` + // Minimum execution time: 30_527_000 picoseconds. + Weight::from_parts(31_570_000, 4267) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_allowed_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `877` + // Estimated: `4342` + // Minimum execution time: 34_314_000 picoseconds. + Weight::from_parts(35_406_000, 4342) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_allowed_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_706_000 picoseconds. + Weight::from_parts(25_347_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_immunity_period() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_456_000 picoseconds. + Weight::from_parts(25_037_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:0 w:1) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_registrations_per_block() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_456_000 picoseconds. + Weight::from_parts(25_288_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `803` + // Estimated: `4268` + // Minimum execution time: 27_562_000 picoseconds. + Weight::from_parts(28_433_000, 4268) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `778` + // Estimated: `4243` + // Minimum execution time: 27_541_000 picoseconds. + Weight::from_parts(28_453_000, 4243) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_network_registration_allowed() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 6_582_000 picoseconds. + Weight::from_parts(6_913_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_tempo() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_485_000 picoseconds. + Weight::from_parts(25_017_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:0 w:1) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_commit_reveal_weights_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 25_167_000 picoseconds. + Weight::from_parts(25_898_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_commit_reveal_weights_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_687_000 picoseconds. + Weight::from_parts(25_388_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_commit_reveal_version() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_711_000 picoseconds. + Weight::from_parts(6_231_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::TxRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::TxRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tx_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_140_000 picoseconds. + Weight::from_parts(5_571_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::TotalIssuance` (r:0 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_total_issuance() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_515_000 picoseconds. + Weight::from_parts(2_655_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_rao_recycled() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 13_936_000 picoseconds. + Weight::from_parts(14_777_000, 4057) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::StakeThreshold` (r:0 w:1) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_stake_threshold() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_200_000 picoseconds. + Weight::from_parts(5_500_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NominatorMinRequiredStake` (r:1 w:1) + /// Proof: `SubtensorModule::NominatorMinRequiredStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:0) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_nominator_min_required_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `935` + // Estimated: `6875` + // Minimum execution time: 28_634_000 picoseconds. + Weight::from_parts(30_246_000, 6875) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::TxDelegateTakeRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::TxDelegateTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tx_delegate_take_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_110_000 picoseconds. + Weight::from_parts(5_580_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MinDelegateTake` (r:0 w:1) + /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_min_delegate_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_240_000 picoseconds. + Weight::from_parts(5_510_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:0 w:1) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_liquid_alpha_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 16_451_000 picoseconds. + Weight::from_parts(17_001_000, 4166) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:1 w:0) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaValues` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaValues` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_alpha_values() -> Weight { + // Proof Size summary in bytes: + // Measured: `820` + // Estimated: `4285` + // Minimum execution time: 24_386_000 picoseconds. + Weight::from_parts(25_287_000, 4285) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncementDelay` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_coldkey_swap_announcement_delay() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_239_000 picoseconds. + Weight::from_parts(5_470_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapReannouncementDelay` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapReannouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_coldkey_swap_reannouncement_delay() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_210_000 picoseconds. + Weight::from_parts(5_530_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::DissolveNetworkScheduleDuration` (r:0 w:1) + /// Proof: `SubtensorModule::DissolveNetworkScheduleDuration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_dissolve_network_schedule_duration() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_209_000 picoseconds. + Weight::from_parts(5_540_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:0 w:1) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_toggle_transfer() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 19_076_000 picoseconds. + Weight::from_parts(19_576_000, 4166) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `AdminUtils::PrecompileEnable` (r:1 w:0) + /// Proof: `AdminUtils::PrecompileEnable` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_toggle_evm_precompile() -> Weight { + // Proof Size summary in bytes: + // Measured: `42` + // Estimated: `3507` + // Minimum execution time: 5_901_000 picoseconds. + Weight::from_parts(6_131_000, 3507) + .saturating_add(T::DbWeight::get().reads(1_u64)) + } + /// Storage: `SubtensorModule::SubnetMovingAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMovingAlpha` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_subnet_moving_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_695_000 picoseconds. + Weight::from_parts(3_016_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:0 w:1) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_ema_price_halving_period() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_787_000 picoseconds. + Weight::from_parts(4_178_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaSigmoidSteepness` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaSigmoidSteepness` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_alpha_sigmoid_steepness() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 21_731_000 picoseconds. + Weight::from_parts(22_071_000, 4241) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_yuma3_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 19_236_000 picoseconds. + Weight::from_parts(19_987_000, 4166) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsResetOn` (r:0 w:1) + /// Proof: `SubtensorModule::BondsResetOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_bonds_reset_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 21_100_000 picoseconds. + Weight::from_parts(21_941_000, 4166) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_sn_owner_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `718` + // Estimated: `4183` + // Minimum execution time: 20_057_000 picoseconds. + Weight::from_parts(20_708_000, 4183) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_subtoken_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 16_170_000 picoseconds. + Weight::from_parts(16_551_000, 4166) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:0 w:1) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_admin_freeze_window() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_160_000 picoseconds. + Weight::from_parts(5_610_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_owner_hparam_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_250_000 picoseconds. + Weight::from_parts(5_610_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmuneOwnerUidsLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ImmuneOwnerUidsLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_owner_immune_neuron_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 16_191_000 picoseconds. + Weight::from_parts(16_591_000, 4166) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_trim_to_max_allowed_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `824` + // Estimated: `4289` + // Minimum execution time: 30_928_000 picoseconds. + Weight::from_parts(31_619_000, 4289) + .saturating_add(T::DbWeight::get().reads(6_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MinNonImmuneUids` (r:0 w:1) + /// Proof: `SubtensorModule::MinNonImmuneUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_non_immune_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 6_573_000 picoseconds. + Weight::from_parts(7_174_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + /// Storage: `Aura::Authorities` (r:0 w:1) + /// Proof: `Aura::Authorities` (`max_values`: Some(1), `max_size`: Some(1025), added: 1520, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 32]`. + fn swap_authorities(a: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 4_118_000 picoseconds. + Weight::from_parts(4_812_201, 0) + // Standard Error: 1_811 + .saturating_add(Weight::from_parts(13_436, 0).saturating_mul(a.into())) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Grandpa::PendingChange` (r:1 w:1) + /// Proof: `Grandpa::PendingChange` (`max_values`: Some(1), `max_size`: Some(1294), added: 1789, mode: `MaxEncodedLen`) + /// The range of component `a` is `[0, 32]`. + fn schedule_grandpa_change(a: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `174` + // Estimated: `2779` + // Minimum execution time: 7_133_000 picoseconds. + Weight::from_parts(7_810_023, 2779) + // Standard Error: 702 + .saturating_add(Weight::from_parts(20_773, 0).saturating_mul(a.into())) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MaxDelegateTake` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_default_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_210_000 picoseconds. + Weight::from_parts(5_550_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_serving_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `627` + // Estimated: `4092` + // Minimum execution time: 21_179_000 picoseconds. + Weight::from_parts(21_861_000, 4092) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_difficulty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_426_000 picoseconds. + Weight::from_parts(25_417_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_difficulty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_687_000 picoseconds. + Weight::from_parts(25_287_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_weights_set_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 14_217_000 picoseconds. + Weight::from_parts(14_988_000, 4057) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:0 w:1) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_weights_version_key() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_616_000 picoseconds. + Weight::from_parts(25_578_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsMovingAverage` (r:0 w:1) + /// Proof: `SubtensorModule::BondsMovingAverage` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_bonds_moving_average() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_445_000 picoseconds. + Weight::from_parts(25_318_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsPenalty` (r:0 w:1) + /// Proof: `SubtensorModule::BondsPenalty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_bonds_penalty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_596_000 picoseconds. + Weight::from_parts(25_358_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_allowed_validators() -> Weight { + // Proof Size summary in bytes: + // Measured: `802` + // Estimated: `4267` + // Minimum execution time: 28_964_000 picoseconds. + Weight::from_parts(29_475_000, 4267) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:0 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_difficulty() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_536_000 picoseconds. + Weight::from_parts(25_427_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_adjustment_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 14_107_000 picoseconds. + Weight::from_parts(14_668_000, 4057) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_target_registrations_per_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_426_000 picoseconds. + Weight::from_parts(25_127_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinActivityCutoff` (r:1 w:0) + /// Proof: `SubtensorModule::MinActivityCutoff` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:0 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_activity_cutoff() -> Weight { + // Proof Size summary in bytes: + // Measured: `838` + // Estimated: `4303` + // Minimum execution time: 26_540_000 picoseconds. + Weight::from_parts(27_251_000, 4303) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Rho` (r:0 w:1) + /// Proof: `SubtensorModule::Rho` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_rho() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 21_349_000 picoseconds. + Weight::from_parts(22_261_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:0 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_kappa() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 14_537_000 picoseconds. + Weight::from_parts(15_078_000, 4057) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_allowed_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `802` + // Estimated: `4267` + // Minimum execution time: 30_527_000 picoseconds. + Weight::from_parts(31_570_000, 4267) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_allowed_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `877` + // Estimated: `4342` + // Minimum execution time: 34_314_000 picoseconds. + Weight::from_parts(35_406_000, 4342) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_allowed_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_706_000 picoseconds. + Weight::from_parts(25_347_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_immunity_period() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_456_000 picoseconds. + Weight::from_parts(25_037_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:0 w:1) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_registrations_per_block() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_456_000 picoseconds. + Weight::from_parts(25_288_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_max_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `803` + // Estimated: `4268` + // Minimum execution time: 27_562_000 picoseconds. + Weight::from_parts(28_433_000, 4268) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxBurn` (r:1 w:0) + /// Proof: `SubtensorModule::MaxBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinBurn` (r:0 w:1) + /// Proof: `SubtensorModule::MinBurn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `778` + // Estimated: `4243` + // Minimum execution time: 27_541_000 picoseconds. + Weight::from_parts(28_453_000, 4243) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_network_registration_allowed() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 6_582_000 picoseconds. + Weight::from_parts(6_913_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_tempo() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_485_000 picoseconds. + Weight::from_parts(25_017_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:0 w:1) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_commit_reveal_weights_interval() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 25_167_000 picoseconds. + Weight::from_parts(25_898_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_commit_reveal_weights_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 24_687_000 picoseconds. + Weight::from_parts(25_388_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:0 w:1) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_commit_reveal_version() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_711_000 picoseconds. + Weight::from_parts(6_231_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::TxRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::TxRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tx_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_140_000 picoseconds. + Weight::from_parts(5_571_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::TotalIssuance` (r:0 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_total_issuance() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_515_000 picoseconds. + Weight::from_parts(2_655_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_rao_recycled() -> Weight { + // Proof Size summary in bytes: + // Measured: `592` + // Estimated: `4057` + // Minimum execution time: 13_936_000 picoseconds. + Weight::from_parts(14_777_000, 4057) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::StakeThreshold` (r:0 w:1) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_stake_threshold() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_200_000 picoseconds. + Weight::from_parts(5_500_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NominatorMinRequiredStake` (r:1 w:1) + /// Proof: `SubtensorModule::NominatorMinRequiredStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:0) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_nominator_min_required_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `935` + // Estimated: `6875` + // Minimum execution time: 28_634_000 picoseconds. + Weight::from_parts(30_246_000, 6875) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::TxDelegateTakeRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::TxDelegateTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tx_delegate_take_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_110_000 picoseconds. + Weight::from_parts(5_580_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MinDelegateTake` (r:0 w:1) + /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_min_delegate_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_240_000 picoseconds. + Weight::from_parts(5_510_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:0 w:1) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_liquid_alpha_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 16_451_000 picoseconds. + Weight::from_parts(17_001_000, 4166) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LiquidAlphaOn` (r:1 w:0) + /// Proof: `SubtensorModule::LiquidAlphaOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaValues` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaValues` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_alpha_values() -> Weight { + // Proof Size summary in bytes: + // Measured: `820` + // Estimated: `4285` + // Minimum execution time: 24_386_000 picoseconds. + Weight::from_parts(25_287_000, 4285) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncementDelay` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_coldkey_swap_announcement_delay() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_239_000 picoseconds. + Weight::from_parts(5_470_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapReannouncementDelay` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapReannouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_coldkey_swap_reannouncement_delay() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_210_000 picoseconds. + Weight::from_parts(5_530_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::DissolveNetworkScheduleDuration` (r:0 w:1) + /// Proof: `SubtensorModule::DissolveNetworkScheduleDuration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_dissolve_network_schedule_duration() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_209_000 picoseconds. + Weight::from_parts(5_540_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:0 w:1) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_toggle_transfer() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 19_076_000 picoseconds. + Weight::from_parts(19_576_000, 4166) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `AdminUtils::PrecompileEnable` (r:1 w:0) + /// Proof: `AdminUtils::PrecompileEnable` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_toggle_evm_precompile() -> Weight { + // Proof Size summary in bytes: + // Measured: `42` + // Estimated: `3507` + // Minimum execution time: 5_901_000 picoseconds. + Weight::from_parts(6_131_000, 3507) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } + /// Storage: `SubtensorModule::SubnetMovingAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMovingAlpha` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_subnet_moving_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_695_000 picoseconds. + Weight::from_parts(3_016_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::EMAPriceHalvingBlocks` (r:0 w:1) + /// Proof: `SubtensorModule::EMAPriceHalvingBlocks` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_ema_price_halving_period() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 3_787_000 picoseconds. + Weight::from_parts(4_178_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaSigmoidSteepness` (r:0 w:1) + /// Proof: `SubtensorModule::AlphaSigmoidSteepness` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_alpha_sigmoid_steepness() -> Weight { + // Proof Size summary in bytes: + // Measured: `776` + // Estimated: `4241` + // Minimum execution time: 21_731_000 picoseconds. + Weight::from_parts(22_071_000, 4241) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Yuma3On` (r:0 w:1) + /// Proof: `SubtensorModule::Yuma3On` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_yuma3_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 19_236_000 picoseconds. + Weight::from_parts(19_987_000, 4166) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BondsResetOn` (r:0 w:1) + /// Proof: `SubtensorModule::BondsResetOn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_bonds_reset_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 21_100_000 picoseconds. + Weight::from_parts(21_941_000, 4166) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_sn_owner_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `718` + // Estimated: `4183` + // Minimum execution time: 20_057_000 picoseconds. + Weight::from_parts(20_708_000, 4183) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_subtoken_enabled() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 16_170_000 picoseconds. + Weight::from_parts(16_551_000, 4166) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:0 w:1) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_admin_freeze_window() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_160_000 picoseconds. + Weight::from_parts(5_610_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::OwnerHyperparamRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::OwnerHyperparamRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_owner_hparam_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_250_000 picoseconds. + Weight::from_parts(5_610_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmuneOwnerUidsLimit` (r:0 w:1) + /// Proof: `SubtensorModule::ImmuneOwnerUidsLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_owner_immune_neuron_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `701` + // Estimated: `4166` + // Minimum execution time: 16_191_000 picoseconds. + Weight::from_parts(16_591_000, 4166) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdminFreezeWindow` (r:1 w:0) + /// Proof: `SubtensorModule::AdminFreezeWindow` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_trim_to_max_allowed_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `824` + // Estimated: `4289` + // Minimum execution time: 30_928_000 picoseconds. + Weight::from_parts(31_619_000, 4289) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::MinNonImmuneUids` (r:0 w:1) + /// Proof: `SubtensorModule::MinNonImmuneUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_min_non_immune_uids() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 6_573_000 picoseconds. + Weight::from_parts(7_174_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } +} diff --git a/pallets/commitments/scripts/benchmark.sh b/pallets/commitments/scripts/benchmark.sh deleted file mode 100755 index 8a87c5bdd5..0000000000 --- a/pallets/commitments/scripts/benchmark.sh +++ /dev/null @@ -1,7 +0,0 @@ -cargo build --profile production --features runtime-benchmarks -./target/production/node-subtensor benchmark pallet \ - --chain=local \ - --pallet=pallet_commitments \ - --extrinsic="*" \ - --output=pallets/commitments/src/weights.rs \ - --template=./.maintain/frame-weight-template.hbs diff --git a/pallets/commitments/src/benchmarking.rs b/pallets/commitments/src/benchmarking.rs index d385c6f57f..aec5e387b6 100644 --- a/pallets/commitments/src/benchmarking.rs +++ b/pallets/commitments/src/benchmarking.rs @@ -67,5 +67,5 @@ mod benchmarks { assert_eq!(MaxSpace::::get(), new_space); } - //impl_benchmark_test_suite!(Commitments, crate::tests::new_test_ext(), crate::tests::Test); + impl_benchmark_test_suite!(Commitments, crate::mock::new_test_ext(), crate::mock::Test); } diff --git a/pallets/commitments/src/lib.rs b/pallets/commitments/src/lib.rs index 98e5961708..2bbf8ecaf1 100644 --- a/pallets/commitments/src/lib.rs +++ b/pallets/commitments/src/lib.rs @@ -210,9 +210,7 @@ pub mod pallet { /// Set the commitment for a given netuid #[pallet::call_index(0)] #[pallet::weight(( - Weight::from_parts(33_480_000, 0) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)), + ::WeightInfo::set_commitment(), DispatchClass::Normal, Pays::No ))] @@ -332,9 +330,7 @@ pub mod pallet { /// Sudo-set MaxSpace #[pallet::call_index(2)] - #[pallet::weight(Weight::from_parts(2_856_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::set_max_space())] pub fn set_max_space(origin: OriginFor, new_limit: u32) -> DispatchResult { ensure_root(origin)?; MaxSpace::::set(new_limit); diff --git a/pallets/commitments/src/mock.rs b/pallets/commitments/src/mock.rs index b5bf07ccf4..3db0e8f312 100644 --- a/pallets/commitments/src/mock.rs +++ b/pallets/commitments/src/mock.rs @@ -123,6 +123,7 @@ impl pallet_drand::Config for Test { type Verifier = pallet_drand::verifier::QuicknetVerifier; type UnsignedPriority = ConstU64<{ 1 << 20 }>; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = (); } pub mod test_crypto { diff --git a/pallets/commitments/src/weights.rs b/pallets/commitments/src/weights.rs index e1bd05fcc7..bd36d96e2b 100644 --- a/pallets/commitments/src/weights.rs +++ b/pallets/commitments/src/weights.rs @@ -30,51 +30,32 @@ use core::marker::PhantomData; /// Weight functions needed for `pallet_commitments`. pub trait WeightInfo { fn set_commitment() -> Weight; - fn set_rate_limit() -> Weight; + fn set_max_space() -> Weight; } /// Weights for `pallet_commitments` using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { - /// Storage: Commitments LastCommitment (r:1 w:1) - /// Proof Skipped: Commitments LastCommitment (max_values: None, max_size: None, mode: Measured) - /// Storage: Commitments CommitmentOf (r:1 w:1) - /// Proof Skipped: Commitments CommitmentOf (max_values: None, max_size: None, mode: Measured) fn set_commitment() -> Weight { - // Proof Size summary in bytes: - // Measured: `697` - // Estimated: `6344` - // Minimum execution time: 28_000_000 picoseconds. - Weight::from_parts(28_000_000, 6344) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) + Weight::from_parts(33_480_000, 0) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) } - /// Sudo setting rate limit for commitments - fn set_rate_limit() -> Weight { - Weight::from_parts(10_000_000, 2000) - .saturating_add(RocksDbWeight::get().reads(1_u64)) + fn set_max_space() -> Weight { + Weight::from_parts(2_856_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) } } // For backwards compatibility and tests. impl WeightInfo for () { - /// Storage: Commitments LastCommitment (r:1 w:1) - /// Proof Skipped: Commitments LastCommitment (max_values: None, max_size: None, mode: Measured) - /// Storage: Commitments CommitmentOf (r:1 w:1) - /// Proof Skipped: Commitments CommitmentOf (max_values: None, max_size: None, mode: Measured) fn set_commitment() -> Weight { - // Proof Size summary in bytes: - // Measured: `697` - // Estimated: `6344` - // Minimum execution time: 28_000_000 picoseconds. - Weight::from_parts(28_000_000, 6344) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + Weight::from_parts(33_480_000, 0) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } - - /// Sudo setting rate limit for commitments - fn set_rate_limit() -> Weight { - Weight::from_parts(10_000_000, 2000) - .saturating_add(RocksDbWeight::get().reads(1_u64)) + fn set_max_space() -> Weight { + Weight::from_parts(2_856_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) } } diff --git a/pallets/crowdloan/src/mock.rs b/pallets/crowdloan/src/mock.rs index 0cfd9cfafc..1cc0929325 100644 --- a/pallets/crowdloan/src/mock.rs +++ b/pallets/crowdloan/src/mock.rs @@ -60,12 +60,8 @@ impl frame_system::Config for Test { type Lookup = IdentityLookup; } -// Existential deposit. -pub struct ExistentialDeposit; -impl frame_support::traits::Get for ExistentialDeposit { - fn get() -> TaoBalance { - TaoBalance::new(1) - } +parameter_types! { + pub const ExistentialDeposit: TaoBalance = TaoBalance::new(1); } #[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] diff --git a/pallets/crowdloan/src/weights.rs b/pallets/crowdloan/src/weights.rs index 927e078d34..60a3f66120 100644 --- a/pallets/crowdloan/src/weights.rs +++ b/pallets/crowdloan/src/weights.rs @@ -1,30 +1,40 @@ //! Autogenerated weights for `pallet_crowdloan` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 43.0.0 -//! DATE: 2025-05-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0 +//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `Ubuntu-2404-noble-amd64-base`, CPU: `AMD Ryzen 9 7950X3D 16-Core Processor` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("local")`, DB CACHE: `1024` +//! HOSTNAME: `runnervm46oaq`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: -// ./target/production/node-subtensor +// /home/runner/work/subtensor/subtensor/target/production/node-subtensor // benchmark // pallet -// --chain=local +// --runtime +// /home/runner/work/subtensor/subtensor/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=benchmark // --wasm-execution=compiled -// --pallet=pallet-crowdloan -// --extrinsic=* -// --steps=50 -// --repeat=20 -// --output=pallets/crowdloan/src/weights.rs -// --template=./.maintain/frame-weight-template.hbs -// --allow-missing-host-functions +// --pallet +// pallet_crowdloan +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 +// --no-storage-info +// --no-min-squares +// --no-median-slopes +// --output=/tmp/tmp.L6TDSfr4gA +// --template=/home/runner/work/subtensor/subtensor/.maintain/frame-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] #![allow(unused_imports)] #![allow(missing_docs)] +#![allow(dead_code)] use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; use core::marker::PhantomData; @@ -52,65 +62,67 @@ impl WeightInfo for SubstrateWeight { /// Storage: `Crowdloan::Contributions` (r:0 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Crowdloans` (r:0 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `156` + // Measured: `119` // Estimated: `6148` - // Minimum execution time: 42_128_000 picoseconds. - Weight::from_parts(42_930_000, 6148) + // Minimum execution time: 63_750_000 picoseconds. + Weight::from_parts(64_831_000, 6148) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(5_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Contributions` (r:1 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) fn contribute() -> Weight { // Proof Size summary in bytes: - // Measured: `476` + // Measured: `480` // Estimated: `6148` - // Minimum execution time: 43_161_000 picoseconds. - Weight::from_parts(44_192_000, 6148) + // Minimum execution time: 68_398_000 picoseconds. + Weight::from_parts(69_509_000, 6148) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Contributions` (r:1 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) fn withdraw() -> Weight { // Proof Size summary in bytes: - // Measured: `436` + // Measured: `440` // Estimated: `6148` - // Minimum execution time: 40_235_000 picoseconds. - Weight::from_parts(40_907_000, 6148) + // Minimum execution time: 63_258_000 picoseconds. + Weight::from_parts(64_701_000, 6148) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `Crowdloan::CurrentCrowdloanId` (r:0 w:1) /// Proof: `Crowdloan::CurrentCrowdloanId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn finalize() -> Weight { // Proof Size summary in bytes: - // Measured: `376` + // Measured: `856` // Estimated: `6148` - // Minimum execution time: 40_986_000 picoseconds. - Weight::from_parts(41_858_000, 6148) - .saturating_add(T::DbWeight::get().reads(4_u64)) + // Minimum execution time: 72_826_000 picoseconds. + Weight::from_parts(75_391_000, 6148) + .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Contributions` (r:51 w:49) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:50 w:50) @@ -118,62 +130,62 @@ impl WeightInfo for SubstrateWeight { /// The range of component `k` is `[3, 50]`. fn refund(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `372 + k * (49 ±0)` - // Estimated: `3743 + k * (2579 ±0)` - // Minimum execution time: 78_938_000 picoseconds. - Weight::from_parts(2_729_302, 3743) - // Standard Error: 351_422 - .saturating_add(Weight::from_parts(31_033_274, 0).saturating_mul(k.into())) + // Measured: `356 + k * (46 ±0)` + // Estimated: `3747 + k * (2579 ±0)` + // Minimum execution time: 114_684_000 picoseconds. + Weight::from_parts(116_017_000, 3747) + // Standard Error: 93_049 + .saturating_add(Weight::from_parts(40_017_812, 0).saturating_mul(k.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(k.into()))) .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 2579).saturating_mul(k.into())) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) - /// Storage: `Crowdloan::Contributions` (r:1 w:0) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Contributions` (r:1 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) fn dissolve() -> Weight { // Proof Size summary in bytes: - // Measured: `450` + // Measured: `402` // Estimated: `6148` - // Minimum execution time: 43_341_000 picoseconds. - Weight::from_parts(44_402_000, 6148) + // Minimum execution time: 68_879_000 picoseconds. + Weight::from_parts(70_050_000, 6148) .saturating_add(T::DbWeight::get().reads(4_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn update_min_contribution() -> Weight { // Proof Size summary in bytes: - // Measured: `224` - // Estimated: `3743` - // Minimum execution time: 8_876_000 picoseconds. - Weight::from_parts(9_137_000, 3743) + // Measured: `229` + // Estimated: `3747` + // Minimum execution time: 13_686_000 picoseconds. + Weight::from_parts(14_187_000, 3747) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn update_end() -> Weight { // Proof Size summary in bytes: - // Measured: `224` - // Estimated: `3743` - // Minimum execution time: 9_117_000 picoseconds. - Weight::from_parts(9_438_000, 3743) + // Measured: `229` + // Estimated: `3747` + // Minimum execution time: 14_006_000 picoseconds. + Weight::from_parts(14_598_000, 3747) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn update_cap() -> Weight { // Proof Size summary in bytes: - // Measured: `224` - // Estimated: `3743` - // Minimum execution time: 8_766_000 picoseconds. - Weight::from_parts(9_087_000, 3743) + // Measured: `229` + // Estimated: `3747` + // Minimum execution time: 13_896_000 picoseconds. + Weight::from_parts(14_176_000, 3747) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -188,65 +200,67 @@ impl WeightInfo for () { /// Storage: `Crowdloan::Contributions` (r:0 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Crowdloans` (r:0 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn create() -> Weight { // Proof Size summary in bytes: - // Measured: `156` + // Measured: `119` // Estimated: `6148` - // Minimum execution time: 42_128_000 picoseconds. - Weight::from_parts(42_930_000, 6148) + // Minimum execution time: 63_750_000 picoseconds. + Weight::from_parts(64_831_000, 6148) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(5_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Contributions` (r:1 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) fn contribute() -> Weight { // Proof Size summary in bytes: - // Measured: `476` + // Measured: `480` // Estimated: `6148` - // Minimum execution time: 43_161_000 picoseconds. - Weight::from_parts(44_192_000, 6148) + // Minimum execution time: 68_398_000 picoseconds. + Weight::from_parts(69_509_000, 6148) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Contributions` (r:1 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) fn withdraw() -> Weight { // Proof Size summary in bytes: - // Measured: `436` + // Measured: `440` // Estimated: `6148` - // Minimum execution time: 40_235_000 picoseconds. - Weight::from_parts(40_907_000, 6148) + // Minimum execution time: 63_258_000 picoseconds. + Weight::from_parts(64_701_000, 6148) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `Crowdloan::CurrentCrowdloanId` (r:0 w:1) /// Proof: `Crowdloan::CurrentCrowdloanId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) fn finalize() -> Weight { // Proof Size summary in bytes: - // Measured: `376` + // Measured: `856` // Estimated: `6148` - // Minimum execution time: 40_986_000 picoseconds. - Weight::from_parts(41_858_000, 6148) - .saturating_add(RocksDbWeight::get().reads(4_u64)) + // Minimum execution time: 72_826_000 picoseconds. + Weight::from_parts(75_391_000, 6148) + .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) /// Storage: `Crowdloan::Contributions` (r:51 w:49) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:50 w:50) @@ -254,63 +268,63 @@ impl WeightInfo for () { /// The range of component `k` is `[3, 50]`. fn refund(k: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `372 + k * (49 ±0)` - // Estimated: `3743 + k * (2579 ±0)` - // Minimum execution time: 78_938_000 picoseconds. - Weight::from_parts(2_729_302, 3743) - // Standard Error: 351_422 - .saturating_add(Weight::from_parts(31_033_274, 0).saturating_mul(k.into())) + // Measured: `356 + k * (46 ±0)` + // Estimated: `3747 + k * (2579 ±0)` + // Minimum execution time: 114_684_000 picoseconds. + Weight::from_parts(116_017_000, 3747) + // Standard Error: 93_049 + .saturating_add(Weight::from_parts(40_017_812, 0).saturating_mul(k.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(k.into()))) .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(k.into()))) .saturating_add(Weight::from_parts(0, 2579).saturating_mul(k.into())) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) - /// Storage: `Crowdloan::Contributions` (r:1 w:0) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Contributions` (r:1 w:1) /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) fn dissolve() -> Weight { // Proof Size summary in bytes: - // Measured: `450` + // Measured: `402` // Estimated: `6148` - // Minimum execution time: 43_341_000 picoseconds. - Weight::from_parts(44_402_000, 6148) + // Minimum execution time: 68_879_000 picoseconds. + Weight::from_parts(70_050_000, 6148) .saturating_add(RocksDbWeight::get().reads(4_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn update_min_contribution() -> Weight { // Proof Size summary in bytes: - // Measured: `224` - // Estimated: `3743` - // Minimum execution time: 8_876_000 picoseconds. - Weight::from_parts(9_137_000, 3743) + // Measured: `229` + // Estimated: `3747` + // Minimum execution time: 13_686_000 picoseconds. + Weight::from_parts(14_187_000, 3747) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn update_end() -> Weight { // Proof Size summary in bytes: - // Measured: `224` - // Estimated: `3743` - // Minimum execution time: 9_117_000 picoseconds. - Weight::from_parts(9_438_000, 3743) + // Measured: `229` + // Estimated: `3747` + // Minimum execution time: 14_006_000 picoseconds. + Weight::from_parts(14_598_000, 3747) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } /// Storage: `Crowdloan::Crowdloans` (r:1 w:1) - /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(278), added: 2753, mode: `MaxEncodedLen`) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) fn update_cap() -> Weight { // Proof Size summary in bytes: - // Measured: `224` - // Estimated: `3743` - // Minimum execution time: 8_766_000 picoseconds. - Weight::from_parts(9_087_000, 3743) + // Measured: `229` + // Estimated: `3747` + // Minimum execution time: 13_896_000 picoseconds. + Weight::from_parts(14_176_000, 3747) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } -} \ No newline at end of file +} diff --git a/pallets/drand/src/lib.rs b/pallets/drand/src/lib.rs index 8666781e56..130f796a90 100644 --- a/pallets/drand/src/lib.rs +++ b/pallets/drand/src/lib.rs @@ -76,6 +76,8 @@ mod tests; #[cfg(feature = "runtime-benchmarks")] mod benchmarking; +pub mod weights; + /// the main drand api endpoint const ENDPOINTS: [&str; 5] = [ "https://api.drand.sh", @@ -153,6 +155,7 @@ impl SignedPayload for PulsesPayload; + /// Weight information for extrinsics in this pallet. + type WeightInfo: crate::weights::WeightInfo; } /// the drand beacon configuration @@ -333,9 +338,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) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)))] + #[pallet::weight(T::WeightInfo::write_pulse())] pub fn write_pulse( origin: OriginFor, pulses_payload: PulsesPayload>, @@ -406,9 +409,7 @@ pub mod pallet { /// * `origin`: the root user /// * `config`: the beacon configuration #[pallet::call_index(1)] - #[pallet::weight(Weight::from_parts(8_766_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)))] + #[pallet::weight(T::WeightInfo::set_beacon_config())] pub fn set_beacon_config( origin: OriginFor, config_payload: BeaconConfigurationPayload>, @@ -427,9 +428,7 @@ pub mod pallet { /// allows the root user to set the oldest stored round #[pallet::call_index(2)] - #[pallet::weight(Weight::from_parts(5_370_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(T::WeightInfo::set_oldest_stored_round())] pub fn set_oldest_stored_round(origin: OriginFor, oldest_round: u64) -> DispatchResult { ensure_root(origin)?; OldestStoredRound::::put(oldest_round); diff --git a/pallets/drand/src/mock.rs b/pallets/drand/src/mock.rs index 0d1a13b77d..3be3a6a8d1 100644 --- a/pallets/drand/src/mock.rs +++ b/pallets/drand/src/mock.rs @@ -101,6 +101,7 @@ impl pallet_drand_bridge::Config for Test { type Verifier = QuicknetVerifier; type UnsignedPriority = UnsignedPriority; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = (); } // Build genesis storage according to the mock runtime. diff --git a/pallets/drand/src/weights.rs b/pallets/drand/src/weights.rs new file mode 100644 index 0000000000..5ee76f7263 --- /dev/null +++ b/pallets/drand/src/weights.rs @@ -0,0 +1,56 @@ +// Weights for `pallet_drand`. +// +// Stubbed entries were auto-generated by weight-stub. +// Re-generate with real values by running benchmarks: +// ./scripts/benchmark_all.sh pallet_drand + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] +#![allow(dead_code)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_drand`. +pub trait WeightInfo { + fn set_beacon_config() -> Weight; + fn write_pulse() -> Weight; + fn set_oldest_stored_round() -> Weight; +} + +/// Weights for `pallet_drand` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + fn set_beacon_config() -> Weight { + Weight::from_parts(8_766_000, 0) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + fn write_pulse() -> Weight { + Weight::from_parts(4_294_000_000, 0) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) + } + fn set_oldest_stored_round() -> Weight { + Weight::from_parts(5_370_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + fn set_beacon_config() -> Weight { + Weight::from_parts(8_766_000, 0) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + fn write_pulse() -> Weight { + Weight::from_parts(4_294_000_000, 0) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + fn set_oldest_stored_round() -> Weight { + Weight::from_parts(5_370_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } +} diff --git a/pallets/proxy/src/weights.rs b/pallets/proxy/src/weights.rs index d8f463497f..38455da5c0 100644 --- a/pallets/proxy/src/weights.rs +++ b/pallets/proxy/src/weights.rs @@ -1,51 +1,40 @@ -// This file is part of Substrate. -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_proxy` +//! Autogenerated weights for `pallet_subtensor_proxy` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0 -//! DATE: 2026-02-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `Ubuntu-2404-noble-amd64-base`, CPU: `AMD Ryzen 9 5950X 16-Core Processor` +//! HOSTNAME: `runnervm46oaq`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: -// ./target/production/node-subtensor +// /home/runner/work/subtensor/subtensor/target/production/node-subtensor // benchmark // pallet -// --extrinsic=* -// --runtime=target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.wasm +// --runtime +// /home/runner/work/subtensor/subtensor/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm // --genesis-builder=runtime // --genesis-builder-preset=benchmark -// --pallet=pallet_subtensor_proxy -// --output=pallets/proxy/src/weights.rs // --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --template=.maintain/frame-weight-template.hbs +// --pallet +// pallet_subtensor_proxy +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 // --no-storage-info // --no-min-squares // --no-median-slopes +// --output=/tmp/tmp.ZZuM6iGcQS +// --template=/home/runner/work/subtensor/subtensor/.maintain/frame-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] #![allow(unused_imports)] #![allow(missing_docs)] +#![allow(dead_code)] use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; use core::marker::PhantomData; @@ -80,12 +69,12 @@ impl WeightInfo for SubstrateWeight { /// The range of component `p` is `[1, 19]`. fn proxy(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `625 + p * (37 ±0)` + // Measured: `637 + p * (37 ±0)` // Estimated: `4254 + p * (37 ±0)` - // Minimum execution time: 19_346_000 picoseconds. - Weight::from_parts(19_857_012, 4254) - // Standard Error: 1_610 - .saturating_add(Weight::from_parts(42_156, 0).saturating_mul(p.into())) + // Minimum execution time: 26_339_000 picoseconds. + Weight::from_parts(27_853_349, 4254) + // Standard Error: 12_628 + .saturating_add(Weight::from_parts(44_368, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 37).saturating_mul(p.into())) @@ -106,14 +95,14 @@ impl WeightInfo for SubstrateWeight { /// The range of component `p` is `[1, 19]`. fn proxy_announced(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `882 + a * (68 ±0) + p * (37 ±0)` + // Measured: `894 + a * (68 ±0) + p * (37 ±0)` // Estimated: `8615 + a * (68 ±0) + p * (37 ±0)` - // Minimum execution time: 37_952_000 picoseconds. - Weight::from_parts(37_943_137, 8615) - // Standard Error: 994 - .saturating_add(Weight::from_parts(155_667, 0).saturating_mul(a.into())) - // Standard Error: 3_984 - .saturating_add(Weight::from_parts(20_119, 0).saturating_mul(p.into())) + // Minimum execution time: 52_729_000 picoseconds. + Weight::from_parts(53_607_404, 8615) + // Standard Error: 1_721 + .saturating_add(Weight::from_parts(209_057, 0).saturating_mul(a.into())) + // Standard Error: 6_896 + .saturating_add(Weight::from_parts(38_450, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(5_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 68).saturating_mul(a.into())) @@ -129,12 +118,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `299 + a * (68 ±0)` // Estimated: `8615` - // Minimum execution time: 18_064_000 picoseconds. - Weight::from_parts(18_046_024, 8615) - // Standard Error: 690 - .saturating_add(Weight::from_parts(130_637, 0).saturating_mul(a.into())) - // Standard Error: 2_766 - .saturating_add(Weight::from_parts(27_361, 0).saturating_mul(p.into())) + // Minimum execution time: 25_618_000 picoseconds. + Weight::from_parts(25_794_584, 8615) + // Standard Error: 1_097 + .saturating_add(Weight::from_parts(184_433, 0).saturating_mul(a.into())) + // Standard Error: 4_396 + .saturating_add(Weight::from_parts(34_314, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -148,12 +137,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `299 + a * (68 ±0)` // Estimated: `8615` - // Minimum execution time: 17_964_000 picoseconds. - Weight::from_parts(18_288_524, 8615) - // Standard Error: 953 - .saturating_add(Weight::from_parts(136_907, 0).saturating_mul(a.into())) - // Standard Error: 3_819 - .saturating_add(Weight::from_parts(11_084, 0).saturating_mul(p.into())) + // Minimum execution time: 25_417_000 picoseconds. + Weight::from_parts(26_420_184, 8615) + // Standard Error: 1_102 + .saturating_add(Weight::from_parts(183_803, 0).saturating_mul(a.into())) + // Standard Error: 4_417 + .saturating_add(Weight::from_parts(7_254, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -169,12 +158,12 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `308 + a * (68 ±0) + p * (37 ±0)` // Estimated: `8615` - // Minimum execution time: 23_855_000 picoseconds. - Weight::from_parts(23_721_196, 8615) - // Standard Error: 813 - .saturating_add(Weight::from_parts(135_522, 0).saturating_mul(a.into())) - // Standard Error: 3_256 - .saturating_add(Weight::from_parts(42_377, 0).saturating_mul(p.into())) + // Minimum execution time: 32_822_000 picoseconds. + Weight::from_parts(34_010_804, 8615) + // Standard Error: 1_696 + .saturating_add(Weight::from_parts(197_606, 0).saturating_mul(a.into())) + // Standard Error: 6_794 + .saturating_add(Weight::from_parts(27_539, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -185,10 +174,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 17_854_000 picoseconds. - Weight::from_parts(18_203_947, 4254) - // Standard Error: 1_051 - .saturating_add(Weight::from_parts(44_781, 0).saturating_mul(p.into())) + // Minimum execution time: 24_395_000 picoseconds. + Weight::from_parts(25_416_023, 4254) + // Standard Error: 2_259 + .saturating_add(Weight::from_parts(73_245, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -201,10 +190,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 18_815_000 picoseconds. - Weight::from_parts(19_464_499, 4254) - // Standard Error: 1_215 - .saturating_add(Weight::from_parts(44_540, 0).saturating_mul(p.into())) + // Minimum execution time: 26_259_000 picoseconds. + Weight::from_parts(27_363_050, 4254) + // Standard Error: 2_250 + .saturating_add(Weight::from_parts(64_258, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -215,10 +204,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 18_245_000 picoseconds. - Weight::from_parts(18_987_977, 4254) - // Standard Error: 1_120 - .saturating_add(Weight::from_parts(18_728, 0).saturating_mul(p.into())) + // Minimum execution time: 26_259_000 picoseconds. + Weight::from_parts(27_084_976, 4254) + // Standard Error: 2_383 + .saturating_add(Weight::from_parts(48_542, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -229,10 +218,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `139` // Estimated: `4254` - // Minimum execution time: 18_836_000 picoseconds. - Weight::from_parts(19_336_942, 4254) - // Standard Error: 1_099 - .saturating_add(Weight::from_parts(17_419, 0).saturating_mul(p.into())) + // Minimum execution time: 26_449_000 picoseconds. + Weight::from_parts(27_485_663, 4254) + // Standard Error: 2_294 + .saturating_add(Weight::from_parts(17_389, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -243,10 +232,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `156 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 17_853_000 picoseconds. - Weight::from_parts(18_593_111, 4254) - // Standard Error: 990 - .saturating_add(Weight::from_parts(23_569, 0).saturating_mul(p.into())) + // Minimum execution time: 25_498_000 picoseconds. + Weight::from_parts(26_520_965, 4254) + // Standard Error: 2_467 + .saturating_add(Weight::from_parts(36_345, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -260,8 +249,8 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `412` // Estimated: `8615` - // Minimum execution time: 31_739_000 picoseconds. - Weight::from_parts(32_491_000, 8615) + // Minimum execution time: 45_425_000 picoseconds. + Weight::from_parts(46_948_000, 8615) .saturating_add(T::DbWeight::get().reads(3_u64)) .saturating_add(T::DbWeight::get().writes(3_u64)) } @@ -274,10 +263,10 @@ impl WeightInfo for SubstrateWeight { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 9_568_000 picoseconds. - Weight::from_parts(10_007_076, 4254) - // Standard Error: 854 - .saturating_add(Weight::from_parts(24_307, 0).saturating_mul(p.into())) + // Minimum execution time: 13_626_000 picoseconds. + Weight::from_parts(14_372_735, 4254) + // Standard Error: 1_666 + .saturating_add(Weight::from_parts(33_899, 0).saturating_mul(p.into())) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } @@ -296,12 +285,12 @@ impl WeightInfo for () { /// The range of component `p` is `[1, 19]`. fn proxy(p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `625 + p * (37 ±0)` + // Measured: `637 + p * (37 ±0)` // Estimated: `4254 + p * (37 ±0)` - // Minimum execution time: 19_346_000 picoseconds. - Weight::from_parts(19_857_012, 4254) - // Standard Error: 1_610 - .saturating_add(Weight::from_parts(42_156, 0).saturating_mul(p.into())) + // Minimum execution time: 26_339_000 picoseconds. + Weight::from_parts(27_853_349, 4254) + // Standard Error: 12_628 + .saturating_add(Weight::from_parts(44_368, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) .saturating_add(Weight::from_parts(0, 37).saturating_mul(p.into())) @@ -322,14 +311,14 @@ impl WeightInfo for () { /// The range of component `p` is `[1, 19]`. fn proxy_announced(a: u32, p: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `882 + a * (68 ±0) + p * (37 ±0)` + // Measured: `894 + a * (68 ±0) + p * (37 ±0)` // Estimated: `8615 + a * (68 ±0) + p * (37 ±0)` - // Minimum execution time: 37_952_000 picoseconds. - Weight::from_parts(37_943_137, 8615) - // Standard Error: 994 - .saturating_add(Weight::from_parts(155_667, 0).saturating_mul(a.into())) - // Standard Error: 3_984 - .saturating_add(Weight::from_parts(20_119, 0).saturating_mul(p.into())) + // Minimum execution time: 52_729_000 picoseconds. + Weight::from_parts(53_607_404, 8615) + // Standard Error: 1_721 + .saturating_add(Weight::from_parts(209_057, 0).saturating_mul(a.into())) + // Standard Error: 6_896 + .saturating_add(Weight::from_parts(38_450, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(5_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) .saturating_add(Weight::from_parts(0, 68).saturating_mul(a.into())) @@ -345,12 +334,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `299 + a * (68 ±0)` // Estimated: `8615` - // Minimum execution time: 18_064_000 picoseconds. - Weight::from_parts(18_046_024, 8615) - // Standard Error: 690 - .saturating_add(Weight::from_parts(130_637, 0).saturating_mul(a.into())) - // Standard Error: 2_766 - .saturating_add(Weight::from_parts(27_361, 0).saturating_mul(p.into())) + // Minimum execution time: 25_618_000 picoseconds. + Weight::from_parts(25_794_584, 8615) + // Standard Error: 1_097 + .saturating_add(Weight::from_parts(184_433, 0).saturating_mul(a.into())) + // Standard Error: 4_396 + .saturating_add(Weight::from_parts(34_314, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -364,12 +353,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `299 + a * (68 ±0)` // Estimated: `8615` - // Minimum execution time: 17_964_000 picoseconds. - Weight::from_parts(18_288_524, 8615) - // Standard Error: 953 - .saturating_add(Weight::from_parts(136_907, 0).saturating_mul(a.into())) - // Standard Error: 3_819 - .saturating_add(Weight::from_parts(11_084, 0).saturating_mul(p.into())) + // Minimum execution time: 25_417_000 picoseconds. + Weight::from_parts(26_420_184, 8615) + // Standard Error: 1_102 + .saturating_add(Weight::from_parts(183_803, 0).saturating_mul(a.into())) + // Standard Error: 4_417 + .saturating_add(Weight::from_parts(7_254, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -385,12 +374,12 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `308 + a * (68 ±0) + p * (37 ±0)` // Estimated: `8615` - // Minimum execution time: 23_855_000 picoseconds. - Weight::from_parts(23_721_196, 8615) - // Standard Error: 813 - .saturating_add(Weight::from_parts(135_522, 0).saturating_mul(a.into())) - // Standard Error: 3_256 - .saturating_add(Weight::from_parts(42_377, 0).saturating_mul(p.into())) + // Minimum execution time: 32_822_000 picoseconds. + Weight::from_parts(34_010_804, 8615) + // Standard Error: 1_696 + .saturating_add(Weight::from_parts(197_606, 0).saturating_mul(a.into())) + // Standard Error: 6_794 + .saturating_add(Weight::from_parts(27_539, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -401,10 +390,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 17_854_000 picoseconds. - Weight::from_parts(18_203_947, 4254) - // Standard Error: 1_051 - .saturating_add(Weight::from_parts(44_781, 0).saturating_mul(p.into())) + // Minimum execution time: 24_395_000 picoseconds. + Weight::from_parts(25_416_023, 4254) + // Standard Error: 2_259 + .saturating_add(Weight::from_parts(73_245, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -417,10 +406,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 18_815_000 picoseconds. - Weight::from_parts(19_464_499, 4254) - // Standard Error: 1_215 - .saturating_add(Weight::from_parts(44_540, 0).saturating_mul(p.into())) + // Minimum execution time: 26_259_000 picoseconds. + Weight::from_parts(27_363_050, 4254) + // Standard Error: 2_250 + .saturating_add(Weight::from_parts(64_258, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -431,10 +420,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 18_245_000 picoseconds. - Weight::from_parts(18_987_977, 4254) - // Standard Error: 1_120 - .saturating_add(Weight::from_parts(18_728, 0).saturating_mul(p.into())) + // Minimum execution time: 26_259_000 picoseconds. + Weight::from_parts(27_084_976, 4254) + // Standard Error: 2_383 + .saturating_add(Weight::from_parts(48_542, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -445,10 +434,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `139` // Estimated: `4254` - // Minimum execution time: 18_836_000 picoseconds. - Weight::from_parts(19_336_942, 4254) - // Standard Error: 1_099 - .saturating_add(Weight::from_parts(17_419, 0).saturating_mul(p.into())) + // Minimum execution time: 26_449_000 picoseconds. + Weight::from_parts(27_485_663, 4254) + // Standard Error: 2_294 + .saturating_add(Weight::from_parts(17_389, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -459,10 +448,10 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `156 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 17_853_000 picoseconds. - Weight::from_parts(18_593_111, 4254) - // Standard Error: 990 - .saturating_add(Weight::from_parts(23_569, 0).saturating_mul(p.into())) + // Minimum execution time: 25_498_000 picoseconds. + Weight::from_parts(26_520_965, 4254) + // Standard Error: 2_467 + .saturating_add(Weight::from_parts(36_345, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } @@ -476,8 +465,8 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `412` // Estimated: `8615` - // Minimum execution time: 31_739_000 picoseconds. - Weight::from_parts(32_491_000, 8615) + // Minimum execution time: 45_425_000 picoseconds. + Weight::from_parts(46_948_000, 8615) .saturating_add(RocksDbWeight::get().reads(3_u64)) .saturating_add(RocksDbWeight::get().writes(3_u64)) } @@ -490,11 +479,11 @@ impl WeightInfo for () { // Proof Size summary in bytes: // Measured: `119 + p * (37 ±0)` // Estimated: `4254` - // Minimum execution time: 9_568_000 picoseconds. - Weight::from_parts(10_007_076, 4254) - // Standard Error: 854 - .saturating_add(Weight::from_parts(24_307, 0).saturating_mul(p.into())) + // Minimum execution time: 13_626_000 picoseconds. + Weight::from_parts(14_372_735, 4254) + // Standard Error: 1_666 + .saturating_add(Weight::from_parts(33_899, 0).saturating_mul(p.into())) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } -} \ No newline at end of file +} diff --git a/pallets/registry/Cargo.toml b/pallets/registry/Cargo.toml index 63224aa8c1..08d774884a 100644 --- a/pallets/registry/Cargo.toml +++ b/pallets/registry/Cargo.toml @@ -25,10 +25,10 @@ frame-system.workspace = true sp-runtime.workspace = true sp-std.workspace = true enumflags2.workspace = true - -[dev-dependencies] sp-core.workspace = true sp-io.workspace = true +pallet-balances.workspace = true +subtensor-runtime-common.workspace = true [features] default = ["std"] @@ -41,17 +41,22 @@ std = [ "sp-std/std", "sp-runtime/std", "enumflags2/std", - "sp-core/std", "sp-io/std", + "pallet-balances/std", + "subtensor-runtime-common/std", + "sp-core/std", ] runtime-benchmarks = [ "frame-benchmarking/runtime-benchmarks", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "subtensor-runtime-common/runtime-benchmarks", ] try-runtime = [ "frame-support/try-runtime", "frame-system/try-runtime", "sp-runtime/try-runtime", + "pallet-balances/try-runtime", ] diff --git a/pallets/registry/scripts/benchmark.sh b/pallets/registry/scripts/benchmark.sh deleted file mode 100755 index ed1b28eadb..0000000000 --- a/pallets/registry/scripts/benchmark.sh +++ /dev/null @@ -1,7 +0,0 @@ -cargo build --release --features runtime-benchmarks -./target/production/node-subtensor benchmark pallet \ - --chain=local \ - --pallet=pallet_registry \ - --extrinsic="*" \ - --output=pallets/registry/src/weights.rs \ - --template=./.maintain/frame-weight-template.hbs diff --git a/pallets/registry/src/benchmarking.rs b/pallets/registry/src/benchmarking.rs index 7a008a4e40..244ffe2599 100644 --- a/pallets/registry/src/benchmarking.rs +++ b/pallets/registry/src/benchmarking.rs @@ -9,14 +9,11 @@ use super::*; #[allow(unused)] use crate::Pallet as Registry; -use frame_benchmarking::v1::account; use frame_benchmarking::v2::*; -use frame_support::traits::tokens::fungible::Mutate; +use frame_support::traits::{Get, tokens::fungible::Mutate}; use frame_system::RawOrigin; use sp_std::vec; -use sp_runtime::traits::Bounded; - fn assert_last_event( generic_event: ::RuntimeEvent, ) { @@ -45,7 +42,7 @@ fn create_identity_info(_num_fields: u32) -> IdentityInfo: From)] mod benchmarks { use super::*; @@ -53,12 +50,13 @@ mod benchmarks { fn set_identity() { // The target user let caller: T::AccountId = whitelisted_caller(); - let _ = T::Currency::set_balance(&caller, BalanceOf::::max_value()); + let deposit = T::InitialDeposit::get() * 10u64.into(); + let _ = T::Currency::set_balance(&caller, deposit); #[extrinsic_call] _( RawOrigin::Signed(caller.clone()), - account::("account", 0, 0u32), + caller.clone(), Box::new(create_identity_info::(0)), ); @@ -69,22 +67,20 @@ mod benchmarks { fn clear_identity() { // The target user let caller: T::AccountId = whitelisted_caller(); - let _ = T::Currency::set_balance(&caller, BalanceOf::::max_value()); - - let vali_account = account::("account", 0, 0u32); + let _ = T::Currency::set_balance(&caller, T::InitialDeposit::get() * 10u64.into()); Registry::::set_identity( RawOrigin::Signed(caller.clone()).into(), - vali_account.clone(), + caller.clone(), Box::new(create_identity_info::(0)), ) .unwrap(); #[extrinsic_call] - _(RawOrigin::Signed(caller.clone()), vali_account); + _(RawOrigin::Signed(caller.clone()), caller.clone()); assert_last_event::(Event::::IdentityDissolved { who: caller }.into()); } - //impl_benchmark_test_suite!(Registry, crate::mock::new_test_ext(), crate::mock::Test); + impl_benchmark_test_suite!(Registry, crate::mock::new_test_ext(), crate::mock::Test); } diff --git a/pallets/registry/src/lib.rs b/pallets/registry/src/lib.rs index 9d52e691ef..f3b76bc529 100644 --- a/pallets/registry/src/lib.rs +++ b/pallets/registry/src/lib.rs @@ -1,5 +1,7 @@ #![cfg_attr(not(feature = "std"), no_std)] +#[cfg(test)] +pub mod mock; #[cfg(test)] mod tests; @@ -20,6 +22,7 @@ use sp_std::boxed::Box; type BalanceOf = <::Currency as fungible::Inspect<::AccountId>>::Balance; + #[deny(missing_docs)] #[frame_support::pallet] #[allow(clippy::expect_used)] diff --git a/pallets/registry/src/mock.rs b/pallets/registry/src/mock.rs index ae7f8594a5..32957c40bb 100644 --- a/pallets/registry/src/mock.rs +++ b/pallets/registry/src/mock.rs @@ -1,10 +1,9 @@ -use crate as pallet_template; -use frame_support::traits::{ConstU16, ConstU64}; -use sp_core::H256; -use sp_runtime::{ - traits::{BlakeTwo256, IdentityLookup}, - BuildStorage, -}; +#![allow(clippy::expect_used)] +use crate as pallet_registry; +use frame_support::{derive_impl, parameter_types}; +use sp_core::U256; +use sp_runtime::{BuildStorage, traits::IdentityLookup}; +use subtensor_runtime_common::TaoBalance; type Block = frame_system::mocking::MockBlock; @@ -13,47 +12,70 @@ frame_support::construct_runtime!( pub enum Test { System: frame_system = 1, - TemplateModule: pallet_template = 2, + Balances: pallet_balances = 2, + Registry: pallet_registry = 3, } ); +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] impl frame_system::Config for Test { - type BaseCallFilter = frame_support::traits::Everything; - type BlockWeights = (); - type BlockLength = (); - type DbWeight = (); - type RuntimeOrigin = RuntimeOrigin; - type RuntimeCall = RuntimeCall; - type Nonce = u64; - type Hash = H256; - type Hashing = BlakeTwo256; - type AccountId = u64; - type Lookup = IdentityLookup; type Block = Block; - type RuntimeEvent = RuntimeEvent; - type BlockHashCount = ConstU64<250>; - type Version = (); - type PalletInfo = PalletInfo; - type AccountData = (); - type OnNewAccount = (); - type OnKilledAccount = (); - type SystemWeightInfo = (); - type SS58Prefix = ConstU16<42>; - type OnSetCode = (); - type MaxConsumers = frame_support::traits::ConstU32<16>; + type AccountId = U256; + type AccountData = pallet_balances::AccountData; + type Lookup = IdentityLookup; +} + +parameter_types! { + pub const ExistentialDeposit: TaoBalance = TaoBalance::new(1); +} + +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] +impl pallet_balances::Config for Test { + type AccountStore = System; + type Balance = TaoBalance; + type ExistentialDeposit = ExistentialDeposit; +} + +parameter_types! { + pub const MaxAdditionalFields: u32 = 16; + pub const InitialDeposit: TaoBalance = TaoBalance::new(100); + pub const FieldDeposit: TaoBalance = TaoBalance::new(10); +} + +pub struct CanRegister; +impl pallet_registry::CanRegisterIdentity for CanRegister { + fn can_register(who: &U256, identified: &U256) -> bool { + who == identified + } } impl pallet_registry::Config for Test { - type RuntimeEvent = RuntimeEvent; + type Currency = Balances; type WeightInfo = (); - type MaxAdditionalFields = frame_support::traits::ConstU32<16>; - type CanRegisterIdentity = (); + type MaxAdditionalFields = MaxAdditionalFields; + type CanRegister = CanRegister; + type InitialDeposit = InitialDeposit; + type FieldDeposit = FieldDeposit; + type RuntimeHoldReason = RuntimeHoldReason; } -// Build genesis storage according to the mock runtime. pub fn new_test_ext() -> sp_io::TestExternalities { - frame_system::GenesisConfig::::default() + let mut t = frame_system::GenesisConfig::::default() .build_storage() - .unwrap() - .into() + .expect("system storage should build ok"); + pallet_balances::GenesisConfig:: { + balances: vec![ + (U256::from(1), 10.into()), + (U256::from(2), 10.into()), + (U256::from(3), 10.into()), + (U256::from(4), 10.into()), + (U256::from(5), 3.into()), + ], + dev_accounts: None, + } + .assimilate_storage(&mut t) + .expect("balances storage should build ok"); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| System::set_block_number(1)); + ext } diff --git a/pallets/registry/src/weights.rs b/pallets/registry/src/weights.rs index 7850699b5e..b927be26ad 100644 --- a/pallets/registry/src/weights.rs +++ b/pallets/registry/src/weights.rs @@ -1,28 +1,40 @@ //! Autogenerated weights for `pallet_registry` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-10-24, STEPS: `2`, REPEAT: `1`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0 +//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `rustys-MacBook-Pro.local`, CPU: `` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("local")`, DB CACHE: `1024` +//! HOSTNAME: `runnervm46oaq`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: -// ./target/release/node-subtensor +// /home/runner/work/subtensor/subtensor/target/production/node-subtensor // benchmark // pallet -// --chain=local -// --execution=wasm +// --runtime +// /home/runner/work/subtensor/subtensor/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=benchmark // --wasm-execution=compiled -// --pallet=pallet_registry -// --extrinsic=* -// --output=pallets/registry/src/weights.rs -// --template=./.maintain/frame-weight-template.hbs +// --pallet +// pallet_registry +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 +// --no-storage-info +// --no-min-squares +// --no-median-slopes +// --output=/tmp/tmp.SfIpjZbmqj +// --template=/home/runner/work/subtensor/subtensor/.maintain/frame-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] #![allow(unused_imports)] #![allow(missing_docs)] +#![allow(dead_code)] use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; use core::marker::PhantomData; @@ -36,52 +48,60 @@ pub trait WeightInfo { /// Weights for `pallet_registry` using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { - /// Storage: Registry IdentityOf (r:1 w:1) - /// Proof Skipped: Registry IdentityOf (max_values: None, max_size: None, mode: Measured) + /// Storage: `Registry::IdentityOf` (r:1 w:1) + /// Proof: `Registry::IdentityOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(99), added: 2574, mode: `MaxEncodedLen`) fn set_identity() -> Weight { // Proof Size summary in bytes: - // Measured: `1024` - // Estimated: `3499` - // Minimum execution time: 41_000_000 picoseconds. - Weight::from_parts(41_000_000, 3499) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + // Measured: `6` + // Estimated: `3564` + // Minimum execution time: 50_534_000 picoseconds. + Weight::from_parts(51_626_000, 3564) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } - /// Storage: Registry IdentityOf (r:1 w:1) - /// Proof Skipped: Registry IdentityOf (max_values: None, max_size: None, mode: Measured) + /// Storage: `Registry::IdentityOf` (r:1 w:1) + /// Proof: `Registry::IdentityOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(99), added: 2574, mode: `MaxEncodedLen`) fn clear_identity() -> Weight { // Proof Size summary in bytes: - // Measured: `1385` - // Estimated: `3860` - // Minimum execution time: 36_000_000 picoseconds. - Weight::from_parts(36_000_000, 3860) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + // Measured: `382` + // Estimated: `3847` + // Minimum execution time: 42_379_000 picoseconds. + Weight::from_parts(43_501_000, 3847) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } } // For backwards compatibility and tests. impl WeightInfo for () { - /// Storage: Registry IdentityOf (r:1 w:1) - /// Proof Skipped: Registry IdentityOf (max_values: None, max_size: None, mode: Measured) + /// Storage: `Registry::IdentityOf` (r:1 w:1) + /// Proof: `Registry::IdentityOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(99), added: 2574, mode: `MaxEncodedLen`) fn set_identity() -> Weight { // Proof Size summary in bytes: - // Measured: `1024` - // Estimated: `3499` - // Minimum execution time: 41_000_000 picoseconds. - Weight::from_parts(41_000_000, 3499) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `6` + // Estimated: `3564` + // Minimum execution time: 50_534_000 picoseconds. + Weight::from_parts(51_626_000, 3564) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } - /// Storage: Registry IdentityOf (r:1 w:1) - /// Proof Skipped: Registry IdentityOf (max_values: None, max_size: None, mode: Measured) + /// Storage: `Registry::IdentityOf` (r:1 w:1) + /// Proof: `Registry::IdentityOf` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Balances::Holds` (r:1 w:1) + /// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(99), added: 2574, mode: `MaxEncodedLen`) fn clear_identity() -> Weight { // Proof Size summary in bytes: - // Measured: `1385` - // Estimated: `3860` - // Minimum execution time: 36_000_000 picoseconds. - Weight::from_parts(36_000_000, 3860) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `382` + // Estimated: `3847` + // Minimum execution time: 42_379_000 picoseconds. + Weight::from_parts(43_501_000, 3847) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } -} \ No newline at end of file +} diff --git a/pallets/shield/src/lib.rs b/pallets/shield/src/lib.rs index 6b742687f5..29accf5e26 100644 --- a/pallets/shield/src/lib.rs +++ b/pallets/shield/src/lib.rs @@ -24,6 +24,8 @@ use alloc::vec; pub use pallet::*; +pub mod weights; + #[cfg(feature = "runtime-benchmarks")] mod benchmarking; @@ -48,6 +50,7 @@ const MAX_EXTRINSIC_DEPTH: u32 = 8; #[frame_support::pallet] pub mod pallet { use super::*; + use crate::weights::WeightInfo; #[pallet::config] pub trait Config: frame_system::Config { @@ -56,6 +59,9 @@ pub mod pallet { /// A way to find the current and next block author. type FindAuthors: FindAuthors; + + /// Weight information for extrinsics in this pallet. + type WeightInfo: crate::weights::WeightInfo; } #[pallet::pallet] @@ -134,9 +140,7 @@ pub mod pallet { /// 3. NextKey ← next-next author's key (user-facing) /// 4. AuthorKeys[current] ← announced key #[pallet::call_index(0)] - #[pallet::weight(Weight::from_parts(33_230_000, 0) - .saturating_add(T::DbWeight::get().reads(4_u64)) - .saturating_add(T::DbWeight::get().writes(6_u64)))] + #[pallet::weight(T::WeightInfo::announce_next_key())] pub fn announce_next_key( origin: OriginFor, enc_key: Option, @@ -216,9 +220,7 @@ pub mod pallet { /// ciphertext = key_hash || kem_len || kem_ct || nonce || aead_ct /// #[pallet::call_index(1)] - #[pallet::weight(Weight::from_parts(207_500_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(0_u64)))] + #[pallet::weight(T::WeightInfo::submit_encrypted())] pub fn submit_encrypted( origin: OriginFor, ciphertext: BoundedVec>, diff --git a/pallets/shield/src/mock.rs b/pallets/shield/src/mock.rs index 5a2aef7d80..204caaad9d 100644 --- a/pallets/shield/src/mock.rs +++ b/pallets/shield/src/mock.rs @@ -88,6 +88,7 @@ impl pallet_shield::FindAuthors for MockFindAuthors { impl pallet_shield::Config for Test { type AuthorityId = AuraId; type FindAuthors = MockFindAuthors; + type WeightInfo = (); } pub fn new_test_ext() -> sp_io::TestExternalities { diff --git a/pallets/shield/src/weights.rs b/pallets/shield/src/weights.rs new file mode 100644 index 0000000000..2481a20437 --- /dev/null +++ b/pallets/shield/src/weights.rs @@ -0,0 +1,45 @@ + +//! Placeholder weights for `pallet_shield`. +//! +//! These weights are NOT based on benchmarking output. They are copied from +//! the hardcoded values that were previously inlined in `#[pallet::weight(…)]` +//! annotations and will be replaced once proper benchmarks are run. + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_shield`. +pub trait WeightInfo { + fn announce_next_key() -> Weight; + fn submit_encrypted() -> Weight; +} + +/// Weights for `pallet_shield` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + fn announce_next_key() -> Weight { + Weight::from_parts(33_230_000, 0) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(6_u64)) + } + fn submit_encrypted() -> Weight { + Weight::from_parts(207_500_000, 0) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + fn announce_next_key() -> Weight { + Weight::from_parts(33_230_000, 0) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } + fn submit_encrypted() -> Weight { + Weight::from_parts(207_500_000, 0) + } +} diff --git a/pallets/subtensor/src/benchmarks.rs b/pallets/subtensor/src/benchmarks.rs index d04328cd0d..9a8fdac14d 100644 --- a/pallets/subtensor/src/benchmarks.rs +++ b/pallets/subtensor/src/benchmarks.rs @@ -1555,7 +1555,7 @@ mod pallet_benchmarks { ); } - #[benchmark(extra)] + #[benchmark] fn register_leased_network(k: Linear<2, { T::MaxContributors::get() }>) { // Setup a crowdloan let crowdloan_id = 0; @@ -1615,7 +1615,7 @@ mod pallet_benchmarks { assert!(SubnetMechanism::::contains_key(lease.netuid)); } - #[benchmark(extra)] + #[benchmark] fn terminate_lease(k: Linear<2, { T::MaxContributors::get() }>) { let crowdloan_id = 0; let beneficiary: T::AccountId = whitelisted_caller(); @@ -1729,6 +1729,7 @@ mod pallet_benchmarks { Subtensor::::set_validator_permit_for_uid(netuid, 0, true); Subtensor::::set_commit_reveal_weights_enabled(netuid, true); + WeightsSetRateLimit::::set(netuid, 0); #[extrinsic_call] _( @@ -1915,4 +1916,10 @@ mod pallet_benchmarks { assert_eq!(PendingChildKeyCooldown::::get(), cooldown); } + + impl_benchmark_test_suite!( + Subtensor, + crate::tests::mock::new_test_ext(1), + crate::tests::mock::Test + ); } diff --git a/pallets/subtensor/src/lib.rs b/pallets/subtensor/src/lib.rs index 64db0221e9..454c1d01b4 100644 --- a/pallets/subtensor/src/lib.rs +++ b/pallets/subtensor/src/lib.rs @@ -44,6 +44,7 @@ pub mod staking; pub mod subnets; pub mod swap; pub mod utils; +pub mod weights; use crate::utils::rate_limiting::{Hyperparameter, TransactionType}; use macros::{config, dispatches, errors, events, genesis, hooks}; diff --git a/pallets/subtensor/src/macros/config.rs b/pallets/subtensor/src/macros/config.rs index 40439da27b..b3da63e437 100644 --- a/pallets/subtensor/src/macros/config.rs +++ b/pallets/subtensor/src/macros/config.rs @@ -66,6 +66,9 @@ mod config { /// Provider of current block author type AuthorshipProvider: AuthorshipInfo; + /// Weight information for extrinsics in this pallet. + type WeightInfo: crate::weights::WeightInfo; + /// ================================= /// ==== Initial Value Constants ==== /// ================================= diff --git a/pallets/subtensor/src/macros/dispatches.rs b/pallets/subtensor/src/macros/dispatches.rs index 15dbc0d93a..aa5ca6ee98 100644 --- a/pallets/subtensor/src/macros/dispatches.rs +++ b/pallets/subtensor/src/macros/dispatches.rs @@ -5,7 +5,7 @@ use frame_support::pallet_macros::pallet_section; /// This can later be imported into the pallet using [`import_section`]. #[pallet_section] mod dispatches { - use crate::subnets::leasing::SubnetLeasingWeightInfo; + use crate::weights::WeightInfo; use frame_support::traits::schedule::v3::Anon as ScheduleAnon; use frame_system::pallet_prelude::BlockNumberFor; use sp_core::ecdsa::Signature; @@ -82,9 +82,7 @@ mod dispatches { /// * 'MaxWeightExceeded': /// - Attempting to set weights with max value exceeding limit. #[pallet::call_index(0)] - #[pallet::weight((Weight::from_parts(15_540_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4112_u64)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::set_weights(), DispatchClass::Normal, Pays::No))] pub fn set_weights( origin: OriginFor, netuid: NetUid, @@ -205,9 +203,7 @@ mod dispatches { /// - On failure for each failed item in the batch. /// #[pallet::call_index(80)] - #[pallet::weight((Weight::from_parts(95_460_000, 0) - .saturating_add(T::DbWeight::get().reads(16_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::batch_set_weights(), DispatchClass::Normal, Pays::No))] pub fn batch_set_weights( origin: OriginFor, netuids: Vec>, @@ -237,9 +233,7 @@ mod dispatches { /// - Attempting to commit when the user has more than the allowed limit of unrevealed commits. /// #[pallet::call_index(96)] - #[pallet::weight((Weight::from_parts(67_770_000, 0) - .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::commit_weights(), DispatchClass::Normal, Pays::No))] pub fn commit_weights( origin: OriginFor, netuid: NetUid, @@ -306,9 +300,7 @@ mod dispatches { /// - On failure for each failed item in the batch. /// #[pallet::call_index(100)] - #[pallet::weight((Weight::from_parts(143_700_000, 0) - .saturating_add(T::DbWeight::get().reads(11_u64)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::batch_commit_weights(), DispatchClass::Normal, Pays::No))] pub fn batch_commit_weights( origin: OriginFor, netuids: Vec>, @@ -355,9 +347,7 @@ mod dispatches { /// - The revealed hash does not match any committed hash. /// #[pallet::call_index(97)] - #[pallet::weight((Weight::from_parts(122_000_000, 0) - .saturating_add(T::DbWeight::get().reads(18_u64)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::reveal_weights(), DispatchClass::Normal, Pays::No))] pub fn reveal_weights( origin: OriginFor, netuid: NetUid, @@ -568,9 +558,7 @@ mod dispatches { /// * `InvalidInputLengths`: /// - The input vectors are of mismatched lengths. #[pallet::call_index(98)] - #[pallet::weight((Weight::from_parts(412_000_000, 0) - .saturating_add(T::DbWeight::get().reads(18_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::batch_reveal_weights(), DispatchClass::Normal, Pays::No))] pub fn batch_reveal_weights( origin: OriginFor, netuid: NetUid, @@ -623,9 +611,7 @@ mod dispatches { /// - The delegate is setting a take which is not lower than the previous. /// #[pallet::call_index(65)] - #[pallet::weight((Weight::from_parts(30_020_000, 0) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::decrease_take(), DispatchClass::Normal, Pays::No))] pub fn decrease_take( origin: OriginFor, hotkey: T::AccountId, @@ -665,9 +651,7 @@ mod dispatches { /// - The delegate is setting a take which is not greater than the previous. /// #[pallet::call_index(66)] - #[pallet::weight((Weight::from_parts(36_710_000, 0) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::increase_take(), DispatchClass::Normal, Pays::No))] pub fn increase_take( origin: OriginFor, hotkey: T::AccountId, @@ -710,9 +694,7 @@ mod dispatches { /// - Errors stemming from transaction pallet. /// #[pallet::call_index(2)] - #[pallet::weight((Weight::from_parts(340_800_000, 0) - .saturating_add(T::DbWeight::get().reads(27_u64)) - .saturating_add(T::DbWeight::get().writes(15_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::add_stake())] pub fn add_stake( origin: OriginFor, hotkey: T::AccountId, @@ -818,9 +800,7 @@ mod dispatches { /// - Attempting to set prometheus information withing the rate limit min. /// #[pallet::call_index(4)] - #[pallet::weight((Weight::from_parts(33_010_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::serve_axon(), DispatchClass::Normal, Pays::No))] pub fn serve_axon( origin: OriginFor, netuid: NetUid, @@ -902,9 +882,7 @@ mod dispatches { /// - Attempting to set prometheus information withing the rate limit min. /// #[pallet::call_index(40)] - #[pallet::weight((Weight::from_parts(32_510_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::serve_axon_tls(), DispatchClass::Normal, Pays::No))] pub fn serve_axon_tls( origin: OriginFor, netuid: NetUid, @@ -952,9 +930,7 @@ mod dispatches { /// - The ip type v4 or v6. /// #[pallet::call_index(5)] - #[pallet::weight((Weight::from_parts(29_760_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::serve_prometheus(), DispatchClass::Normal, Pays::No))] pub fn serve_prometheus( origin: OriginFor, netuid: NetUid, @@ -1014,9 +990,7 @@ mod dispatches { /// - The seal is incorrect. /// #[pallet::call_index(6)] - #[pallet::weight((Weight::from_parts(361_200_000, 0) - .saturating_add(T::DbWeight::get().reads(46_u64)) - .saturating_add(T::DbWeight::get().writes(38_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::register())] pub fn register( origin: OriginFor, netuid: NetUid, @@ -1031,18 +1005,14 @@ mod dispatches { /// Register the hotkey to root network #[pallet::call_index(62)] - #[pallet::weight((Weight::from_parts(135_900_000, 0) - .saturating_add(T::DbWeight::get().reads(19_u64)) - .saturating_add(T::DbWeight::get().writes(16_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::root_register())] pub fn root_register(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { Self::do_root_register(origin, hotkey) } /// User register a new subnetwork via burning token #[pallet::call_index(7)] - #[pallet::weight((Weight::from_parts(354_200_000, 0) - .saturating_add(T::DbWeight::get().reads(46_u64)) - .saturating_add(T::DbWeight::get().writes(38_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::burned_register())] pub fn burned_register( origin: OriginFor, netuid: NetUid, @@ -1063,9 +1033,7 @@ mod dispatches { note = "Please use swap_hotkey_v2 instead. This extrinsic will be removed some time after June 2026." )] #[pallet::call_index(70)] - #[pallet::weight((Weight::from_parts(263_300_000, 0) - .saturating_add(T::DbWeight::get().reads(45_u64)) - .saturating_add(T::DbWeight::get().writes(31_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::swap_hotkey())] pub fn swap_hotkey( origin: OriginFor, hotkey: T::AccountId, @@ -1104,9 +1072,7 @@ mod dispatches { /// /// Only callable by root as it doesn't require an announcement and can be used to swap any coldkey. #[pallet::call_index(71)] - #[pallet::weight(Weight::from_parts(238_900_000, 0) - .saturating_add(T::DbWeight::get().reads(25_u64)) - .saturating_add(T::DbWeight::get().writes(19_u64)))] + #[pallet::weight(::WeightInfo::swap_coldkey())] pub fn swap_coldkey( origin: OriginFor, old_coldkey: T::AccountId, @@ -1157,13 +1123,7 @@ mod dispatches { /// - The rate limit for changing childkey take has been exceeded. /// #[pallet::call_index(75)] - #[pallet::weight(( - Weight::from_parts(66_450_000, 0) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(2)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::set_childkey_take())] pub fn set_childkey_take( origin: OriginFor, hotkey: T::AccountId, @@ -1190,9 +1150,7 @@ mod dispatches { /// * `BadOrigin` - If the origin is not root. /// #[pallet::call_index(69)] - #[pallet::weight(Weight::from_parts(5_841_000, 0) - .saturating_add(T::DbWeight::get().reads(0)) - .saturating_add(T::DbWeight::get().writes(1)))] + #[pallet::weight(::WeightInfo::sudo_set_tx_childkey_take_rate_limit())] pub fn sudo_set_tx_childkey_take_rate_limit( origin: OriginFor, tx_rate_limit: u64, @@ -1246,9 +1204,7 @@ mod dispatches { /// User register a new subnetwork #[pallet::call_index(59)] - #[pallet::weight((Weight::from_parts(352_700_000, 0) - .saturating_add(T::DbWeight::get().reads(45_u64)) - .saturating_add(T::DbWeight::get().writes(49_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::register_network())] pub fn register_network(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { Self::do_register_network(origin, &hotkey, 1, None) } @@ -1382,9 +1338,7 @@ mod dispatches { /// - The ip type v4 or v6. /// #[pallet::call_index(68)] - #[pallet::weight((Weight::from_parts(38_230_000, 0) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::set_identity())] pub fn set_identity( origin: OriginFor, name: Vec, @@ -1424,9 +1378,7 @@ mod dispatches { /// * `subnet_contact` (Vec): /// - The contact information for the subnet. #[pallet::call_index(78)] - #[pallet::weight((Weight::from_parts(24_350_000, 0) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::set_subnet_identity())] pub fn set_subnet_identity( origin: OriginFor, netuid: NetUid, @@ -1455,9 +1407,7 @@ mod dispatches { /// User register a new subnetwork #[pallet::call_index(79)] - #[pallet::weight((Weight::from_parts(396_000_000, 0) - .saturating_add(T::DbWeight::get().reads(44_u64)) - .saturating_add(T::DbWeight::get().writes(48_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::register_network_with_identity())] pub fn register_network_with_identity( origin: OriginFor, hotkey: T::AccountId, @@ -1492,9 +1442,7 @@ mod dispatches { /// * `TxRateLimitExceeded`: /// - Thrown if key has hit transaction rate limit #[pallet::call_index(83)] - #[pallet::weight((Weight::from_parts(28_830_000, 0) - .saturating_add(T::DbWeight::get().reads(6)) - .saturating_add(T::DbWeight::get().writes(0)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::unstake_all())] pub fn unstake_all(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { Self::do_unstake_all(origin, hotkey) } @@ -1525,9 +1473,7 @@ mod dispatches { /// * `TxRateLimitExceeded`: /// - Thrown if key has hit transaction rate limit #[pallet::call_index(84)] - #[pallet::weight((Weight::from_parts(358_500_000, 0) - .saturating_add(T::DbWeight::get().reads(44_u64)) - .saturating_add(T::DbWeight::get().writes(24_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::unstake_all_alpha())] pub fn unstake_all_alpha(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { Self::do_unstake_all_alpha(origin, hotkey) } @@ -1554,9 +1500,7 @@ mod dispatches { /// - The alpha stake amount to move. /// #[pallet::call_index(85)] - #[pallet::weight((Weight::from_parts(240_400_000, 0) - .saturating_add(T::DbWeight::get().reads(19_u64)) - .saturating_add(T::DbWeight::get().writes(7_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::move_stake())] pub fn move_stake( origin: OriginFor, origin_hotkey: T::AccountId, @@ -1597,9 +1541,7 @@ mod dispatches { /// # Events /// May emit a `StakeTransferred` event on success. #[pallet::call_index(86)] - #[pallet::weight((Weight::from_parts(233_600_000, 0) - .saturating_add(T::DbWeight::get().reads(16_u64)) - .saturating_add(T::DbWeight::get().writes(6_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::transfer_stake())] pub fn transfer_stake( origin: OriginFor, destination_coldkey: T::AccountId, @@ -1638,13 +1580,7 @@ mod dispatches { /// # Events /// May emit a `StakeSwapped` event on success. #[pallet::call_index(87)] - #[pallet::weight(( - Weight::from_parts(351_300_000, 0) - .saturating_add(T::DbWeight::get().reads(40_u64)) - .saturating_add(T::DbWeight::get().writes(22_u64)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::swap_stake())] pub fn swap_stake( origin: OriginFor, hotkey: T::AccountId, @@ -1704,9 +1640,7 @@ mod dispatches { /// - Errors stemming from transaction pallet. /// #[pallet::call_index(88)] - #[pallet::weight((Weight::from_parts(402_900_000, 0) - .saturating_add(T::DbWeight::get().reads(27_u64)) - .saturating_add(T::DbWeight::get().writes(15_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::add_stake_limit())] pub fn add_stake_limit( origin: OriginFor, hotkey: T::AccountId, @@ -1769,9 +1703,7 @@ mod dispatches { /// - Thrown if there is not enough stake on the hotkey to withdwraw this amount. /// #[pallet::call_index(89)] - #[pallet::weight((Weight::from_parts(377_400_000, 0) - .saturating_add(T::DbWeight::get().reads(30_u64)) - .saturating_add(T::DbWeight::get().writes(13_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::remove_stake_limit())] pub fn remove_stake_limit( origin: OriginFor, hotkey: T::AccountId, @@ -1812,13 +1744,7 @@ mod dispatches { /// # Events /// May emit a `StakeSwapped` event on success. #[pallet::call_index(90)] - #[pallet::weight(( - Weight::from_parts(411_500_000, 0) - .saturating_add(T::DbWeight::get().reads(40_u64)) - .saturating_add(T::DbWeight::get().writes(22_u64)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::swap_stake_limit())] pub fn swap_stake_limit( origin: OriginFor, hotkey: T::AccountId, @@ -1848,11 +1774,7 @@ mod dispatches { /// # Note /// Will charge based on the weight even if the hotkey is already associated with a coldkey. #[pallet::call_index(91)] - #[pallet::weight(( - Weight::from_parts(26_850_000, 0).saturating_add(T::DbWeight::get().reads_writes(3, 3)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::try_associate_hotkey())] pub fn try_associate_hotkey(origin: OriginFor, hotkey: T::AccountId) -> DispatchResult { let coldkey = ensure_signed(origin)?; @@ -1870,11 +1792,7 @@ mod dispatches { /// # Events /// Emits a `FirstEmissionBlockNumberSet` event on success. #[pallet::call_index(92)] - #[pallet::weight(( - Weight::from_parts(29_780_000, 0).saturating_add(T::DbWeight::get().reads_writes(5, 2)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::start_call())] pub fn start_call(origin: OriginFor, netuid: NetUid) -> DispatchResult { Self::do_start_call(origin, netuid)?; Ok(()) @@ -1932,11 +1850,7 @@ mod dispatches { /// # Events /// Emits a `TokensRecycled` event on success. #[pallet::call_index(101)] - #[pallet::weight(( - Weight::from_parts(113_400_000, 0).saturating_add(T::DbWeight::get().reads_writes(9, 4)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::recycle_alpha())] pub fn recycle_alpha( origin: OriginFor, hotkey: T::AccountId, @@ -1957,11 +1871,7 @@ mod dispatches { /// # Events /// Emits a `TokensBurned` event on success. #[pallet::call_index(102)] - #[pallet::weight(( - Weight::from_parts(112_200_000, 0).saturating_add(T::DbWeight::get().reads_writes(9, 3)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::burn_alpha())] pub fn burn_alpha( origin: OriginFor, hotkey: T::AccountId, @@ -1989,9 +1899,7 @@ mod dispatches { /// at which or better (higher) the staking should execute. /// Without limit_price it remove all the stake similar to `remove_stake` extrinsic #[pallet::call_index(103)] - #[pallet::weight((Weight::from_parts(395_300_000, 10142) - .saturating_add(T::DbWeight::get().reads(30_u64)) - .saturating_add(T::DbWeight::get().writes(13_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::remove_stake_full_limit())] pub fn remove_stake_full_limit( origin: OriginFor, hotkey: T::AccountId, @@ -2018,7 +1926,7 @@ mod dispatches { /// * `end_block` (Option>): /// - The block at which the lease will end. If not defined, the lease is perpetual. #[pallet::call_index(110)] - #[pallet::weight(SubnetLeasingWeightInfo::::do_register_leased_network(T::MaxContributors::get()))] + #[pallet::weight(::WeightInfo::register_leased_network(T::MaxContributors::get()))] pub fn register_leased_network( origin: OriginFor, emissions_share: Percent, @@ -2044,7 +1952,7 @@ mod dispatches { /// * `hotkey` (T::AccountId): /// - The hotkey of the beneficiary to mark as subnet owner hotkey. #[pallet::call_index(111)] - #[pallet::weight(SubnetLeasingWeightInfo::::do_terminate_lease(T::MaxContributors::get()))] + #[pallet::weight(::WeightInfo::terminate_lease(T::MaxContributors::get()))] pub fn terminate_lease( origin: OriginFor, lease_id: LeaseId, @@ -2069,11 +1977,7 @@ mod dispatches { /// # Events /// Emits a `SymbolUpdated` event on success. #[pallet::call_index(112)] - #[pallet::weight(( - Weight::from_parts(26_200_000, 0).saturating_add(T::DbWeight::get().reads_writes(4, 1)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::update_symbol())] pub fn update_symbol( origin: OriginFor, netuid: NetUid, @@ -2115,9 +2019,7 @@ mod dispatches { /// * commit_reveal_version (`u16`): /// - The client (bittensor-drand) version #[pallet::call_index(113)] - #[pallet::weight((Weight::from_parts(94_980_000, 0) - .saturating_add(T::DbWeight::get().reads(10_u64)) - .saturating_add(T::DbWeight::get().writes(2)), DispatchClass::Normal, Pays::No))] + #[pallet::weight((::WeightInfo::commit_timelocked_weights(), DispatchClass::Normal, Pays::No))] pub fn commit_timelocked_weights( origin: OriginFor, netuid: NetUid, @@ -2146,9 +2048,7 @@ mod dispatches { /// * `hotkey` (T::AccountId): /// - The hotkey account to designate as the autostake destination. #[pallet::call_index(114)] - #[pallet::weight((Weight::from_parts(55_590_000, 0) - .saturating_add(T::DbWeight::get().reads(4_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)), DispatchClass::Normal, Pays::Yes))] + #[pallet::weight(::WeightInfo::set_coldkey_auto_stake_hotkey())] pub fn set_coldkey_auto_stake_hotkey( origin: OriginFor, netuid: NetUid, @@ -2264,13 +2164,7 @@ mod dispatches { /// # Raises: /// #[pallet::call_index(121)] - #[pallet::weight(( - Weight::from_parts(117_000_000, 7767) - .saturating_add(T::DbWeight::get().reads(16_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::claim_root())] pub fn claim_root( origin: OriginFor, subnets: BTreeSet, @@ -2299,13 +2193,7 @@ mod dispatches { /// - On the successfully setting the root claim type for the coldkey. /// #[pallet::call_index(122)] - #[pallet::weight(( - Weight::from_parts(19_420_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::set_root_claim_type())] pub fn set_root_claim_type( origin: OriginFor, new_root_claim_type: RootClaimTypeEnum, @@ -2324,9 +2212,7 @@ mod dispatches { /// --- Sets root claim number (sudo extrinsic). Zero disables auto-claim. #[pallet::call_index(123)] - #[pallet::weight(Weight::from_parts(3_346_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)))] + #[pallet::weight(::WeightInfo::sudo_set_num_root_claims())] pub fn sudo_set_num_root_claims(origin: OriginFor, new_value: u64) -> DispatchResult { ensure_root(origin)?; @@ -2342,13 +2228,7 @@ mod dispatches { /// --- Sets root claim threshold for subnet (sudo or owner origin). #[pallet::call_index(124)] - #[pallet::weight(( - Weight::from_parts(5_711_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::sudo_set_root_claim_threshold())] pub fn sudo_set_root_claim_threshold( origin: OriginFor, netuid: NetUid, @@ -2381,11 +2261,7 @@ mod dispatches { /// The `ColdkeySwapAnnounced` event is emitted on successful announcement. /// #[pallet::call_index(125)] - #[pallet::weight( - Weight::from_parts(55_700_000, 0) - .saturating_add(T::DbWeight::get().reads(4_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) - )] + #[pallet::weight(::WeightInfo::announce_coldkey_swap())] pub fn announce_coldkey_swap( origin: OriginFor, new_coldkey_hash: T::Hash, @@ -2423,11 +2299,7 @@ mod dispatches { /// /// The `ColdkeySwapped` event is emitted on successful swap. #[pallet::call_index(126)] - #[pallet::weight( - Weight::from_parts(185_600_000, 0) - .saturating_add(T::DbWeight::get().reads(25_u64)) - .saturating_add(T::DbWeight::get().writes(15_u64)) - )] + #[pallet::weight(::WeightInfo::swap_coldkey_announced())] pub fn swap_coldkey_announced( origin: OriginFor, new_coldkey: T::AccountId, @@ -2458,11 +2330,7 @@ mod dispatches { /// - `coldkey`: The coldkey to dispute the swap for. /// #[pallet::call_index(127)] - #[pallet::weight( - Weight::from_parts(30_810_000, 0) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - )] + #[pallet::weight(::WeightInfo::dispute_coldkey_swap())] pub fn dispute_coldkey_swap(origin: OriginFor) -> DispatchResult { let coldkey = ensure_signed(origin)?; @@ -2489,11 +2357,7 @@ mod dispatches { /// - `coldkey`: The coldkey to reset the swap for. /// #[pallet::call_index(128)] - #[pallet::weight( - Weight::from_parts(8_977_000, 0) - .saturating_add(T::DbWeight::get().reads(0_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) - )] + #[pallet::weight(::WeightInfo::reset_coldkey_swap())] pub fn reset_coldkey_swap(origin: OriginFor, coldkey: T::AccountId) -> DispatchResult { ensure_root(origin)?; @@ -2586,13 +2450,7 @@ mod dispatches { /// --- The extrinsic is a combination of add_stake(add_stake_limit) and burn_alpha. We buy /// alpha token first and immediately burn the acquired amount of alpha (aka Subnet buyback). #[pallet::call_index(132)] - #[pallet::weight(( - Weight::from_parts(368_000_000, 8556) - .saturating_add(T::DbWeight::get().reads(30_u64)) - .saturating_add(T::DbWeight::get().writes(16_u64)), - DispatchClass::Normal, - Pays::Yes - ))] + #[pallet::weight(::WeightInfo::add_stake_burn())] pub fn add_stake_burn( origin: OriginFor, hotkey: T::AccountId, diff --git a/pallets/subtensor/src/tests/mock.rs b/pallets/subtensor/src/tests/mock.rs index df89a3c0ca..8546b229c6 100644 --- a/pallets/subtensor/src/tests/mock.rs +++ b/pallets/subtensor/src/tests/mock.rs @@ -101,6 +101,7 @@ impl pallet_balances::Config for Test { impl pallet_shield::Config for Test { type AuthorityId = sp_core::sr25519::Public; type FindAuthors = (); + type WeightInfo = (); } pub struct NoNestingCallFilter; @@ -318,6 +319,7 @@ impl crate::Config for Test { type CommitmentsInterface = CommitmentsI; type EvmKeyAssociateRateLimit = EvmKeyAssociateRateLimit; type AuthorshipProvider = MockAuthorshipProvider; + type WeightInfo = (); } // Swap-related parameter types @@ -340,6 +342,8 @@ impl pallet_subtensor_swap::Config for Test { type MinimumLiquidity = SwapMinimumLiquidity; type MinimumReserve = SwapMinimumReserve; type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } pub struct OriginPrivilegeCmp; @@ -529,6 +533,7 @@ impl pallet_drand::Config for Test { type Verifier = pallet_drand::verifier::QuicknetVerifier; type UnsignedPriority = ConstU64<{ 1 << 20 }>; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = (); } impl frame_system::offchain::SigningTypes for Test { diff --git a/pallets/subtensor/src/weights.rs b/pallets/subtensor/src/weights.rs new file mode 100644 index 0000000000..11eab84ce0 --- /dev/null +++ b/pallets/subtensor/src/weights.rs @@ -0,0 +1,4120 @@ + +//! Autogenerated weights for `pallet_subtensor` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0 +//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runnervm46oaq`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` + +// Executed Command: +// /home/runner/work/subtensor/subtensor/target/production/node-subtensor +// benchmark +// pallet +// --runtime +// /home/runner/work/subtensor/subtensor/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=benchmark +// --wasm-execution=compiled +// --pallet +// pallet_subtensor +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 +// --no-storage-info +// --no-min-squares +// --no-median-slopes +// --output=/tmp/tmp.GHfLp73nhc +// --template=/home/runner/work/subtensor/subtensor/.maintain/frame-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] +#![allow(dead_code)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_subtensor`. +pub trait WeightInfo { + fn register() -> Weight; + fn set_weights() -> Weight; + fn add_stake() -> Weight; + fn serve_axon() -> Weight; + fn serve_prometheus() -> Weight; + fn burned_register() -> Weight; + fn root_register() -> Weight; + fn register_network() -> Weight; + fn commit_weights() -> Weight; + fn reveal_weights() -> Weight; + fn sudo_set_tx_childkey_take_rate_limit() -> Weight; + fn set_childkey_take() -> Weight; + fn announce_coldkey_swap() -> Weight; + fn swap_coldkey_announced() -> Weight; + fn swap_coldkey() -> Weight; + fn dispute_coldkey_swap() -> Weight; + fn clear_coldkey_swap_announcement() -> Weight; + fn reset_coldkey_swap() -> Weight; + fn batch_reveal_weights() -> Weight; + fn recycle_alpha() -> Weight; + fn burn_alpha() -> Weight; + fn start_call() -> Weight; + fn add_stake_limit() -> Weight; + fn move_stake() -> Weight; + fn remove_stake_limit() -> Weight; + fn swap_stake_limit() -> Weight; + fn transfer_stake() -> Weight; + fn swap_stake() -> Weight; + fn batch_commit_weights() -> Weight; + fn batch_set_weights() -> Weight; + fn decrease_take() -> Weight; + fn increase_take() -> Weight; + fn register_network_with_identity() -> Weight; + fn serve_axon_tls() -> Weight; + fn set_identity() -> Weight; + fn set_subnet_identity() -> Weight; + fn swap_hotkey() -> Weight; + fn try_associate_hotkey() -> Weight; + fn unstake_all() -> Weight; + fn unstake_all_alpha() -> Weight; + fn remove_stake_full_limit() -> Weight; + fn register_leased_network(k: u32, ) -> Weight; + fn terminate_lease(k: u32, ) -> Weight; + fn update_symbol() -> Weight; + fn commit_timelocked_weights() -> Weight; + fn set_coldkey_auto_stake_hotkey() -> Weight; + fn set_root_claim_type() -> Weight; + fn claim_root() -> Weight; + fn sudo_set_num_root_claims() -> Weight; + fn sudo_set_root_claim_threshold() -> Weight; + fn add_stake_burn() -> Weight; +} + +/// Weights for `pallet_subtensor` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkPowRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkPowRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:0) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UsedWork` (r:0 w:1) + /// Proof: `SubtensorModule::UsedWork` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1650` + // Estimated: `5115` + // Minimum execution time: 141_204_000 picoseconds. + Weight::from_parts(146_163_000, 5115) + .saturating_add(T::DbWeight::get().reads(24_u64)) + .saturating_add(T::DbWeight::get().writes(20_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4096 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:0) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `188903` + // Estimated: `10327493` + // Minimum execution time: 14_948_737_000 picoseconds. + Weight::from_parts(15_152_546_000, 10327493) + .saturating_add(T::DbWeight::get().reads(4111_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:0 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2428` + // Estimated: `8556` + // Minimum execution time: 334_285_000 picoseconds. + Weight::from_parts(351_897_000, 8556) + .saturating_add(T::DbWeight::get().reads(27_u64)) + .saturating_add(T::DbWeight::get().writes(15_u64)) + } + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:1 w:1) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_axon() -> Weight { + // Proof Size summary in bytes: + // Measured: `814` + // Estimated: `6754` + // Minimum execution time: 32_811_000 picoseconds. + Weight::from_parts(33_663_000, 6754) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Prometheus` (r:1 w:1) + /// Proof: `SubtensorModule::Prometheus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_prometheus() -> Weight { + // Proof Size summary in bytes: + // Measured: `787` + // Estimated: `6727` + // Minimum execution time: 28_693_000 picoseconds. + Weight::from_parts(29_435_000, 6727) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:1 w:0) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:1) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::Positions` (r:1 w:1) + /// Proof: `Swap::Positions` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Swap::Ticks` (r:2 w:2) + /// Proof: `Swap::Ticks` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:5 w:5) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalTao` (r:1 w:0) + /// Proof: `Swap::FeeGlobalTao` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalAlpha` (r:1 w:0) + /// Proof: `Swap::FeeGlobalAlpha` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:1) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::LastPositionId` (r:1 w:1) + /// Proof: `Swap::LastPositionId` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::AlphaSqrtPrice` (r:0 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:0 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + fn burned_register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1814` + // Estimated: `13600` + // Minimum execution time: 343_271_000 picoseconds. + Weight::from_parts(350_635_000, 13600) + .saturating_add(T::DbWeight::get().reads(47_u64)) + .saturating_add(T::DbWeight::get().writes(39_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn root_register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1572` + // Estimated: `5037` + // Minimum execution time: 105_467_000 picoseconds. + Weight::from_parts(106_949_000, 5037) + .saturating_add(T::DbWeight::get().reads(19_u64)) + .saturating_add(T::DbWeight::get().writes(16_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockEmission` (r:1 w:0) + /// Proof: `SubtensorModule::BlockEmission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register_network() -> Weight { + // Proof Size summary in bytes: + // Measured: `1442` + // Estimated: `9857` + // Minimum execution time: 243_014_000 picoseconds. + Weight::from_parts(245_970_000, 9857) + .saturating_add(T::DbWeight::get().reads(36_u64)) + .saturating_add(T::DbWeight::get().writes(52_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1139` + // Estimated: `4604` + // Minimum execution time: 58_340_000 picoseconds. + Weight::from_parts(59_892_000, 4604) + .saturating_add(T::DbWeight::get().reads(10_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn reveal_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1636` + // Estimated: `7576` + // Minimum execution time: 102_491_000 picoseconds. + Weight::from_parts(104_825_000, 7576) + .saturating_add(T::DbWeight::get().reads(17_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tx_childkey_take_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_601_000 picoseconds. + Weight::from_parts(5_821_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::MaxChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:1) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_childkey_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `927` + // Estimated: `4392` + // Minimum execution time: 43_993_000 picoseconds. + Weight::from_parts(44_493_000, 4392) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncementDelay` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn announce_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `717` + // Estimated: `4182` + // Minimum execution time: 43_160_000 picoseconds. + Weight::from_parts(44_333_000, 4182) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:0) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_coldkey_announced() -> Weight { + // Proof Size summary in bytes: + // Measured: `1199` + // Estimated: `9614` + // Minimum execution time: 83_346_000 picoseconds. + Weight::from_parts(85_369_000, 9614) + .saturating_add(T::DbWeight::get().reads(16_u64)) + .saturating_add(T::DbWeight::get().writes(6_u64)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:0) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_coldkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `1282` + // Estimated: `9697` + // Minimum execution time: 144_691_000 picoseconds. + Weight::from_parts(147_806_000, 9697) + .saturating_add(T::DbWeight::get().reads(17_u64)) + .saturating_add(T::DbWeight::get().writes(10_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn dispute_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `665` + // Estimated: `4130` + // Minimum execution time: 22_553_000 picoseconds. + Weight::from_parts(23_203_000, 4130) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapReannouncementDelay` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapReannouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn clear_coldkey_swap_announcement() -> Weight { + // Proof Size summary in bytes: + // Measured: `613` + // Estimated: `4078` + // Minimum execution time: 18_615_000 picoseconds. + Weight::from_parts(19_206_000, 4078) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn reset_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 8_536_000 picoseconds. + Weight::from_parts(8_756_000, 0) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_reveal_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `2141` + // Estimated: `8081` + // Minimum execution time: 391_500_000 picoseconds. + Weight::from_parts(405_958_000, 8081) + .saturating_add(T::DbWeight::get().reads(17_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn recycle_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1496` + // Estimated: `4961` + // Minimum execution time: 124_623_000 picoseconds. + Weight::from_parts(126_436_000, 4961) + .saturating_add(T::DbWeight::get().reads(9_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn burn_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1496` + // Estimated: `4961` + // Minimum execution time: 123_120_000 picoseconds. + Weight::from_parts(124_874_000, 4961) + .saturating_add(T::DbWeight::get().reads(9_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:1 w:1) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StartCallDelay` (r:1 w:0) + /// Proof: `SubtensorModule::StartCallDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn start_call() -> Weight { + // Proof Size summary in bytes: + // Measured: `1135` + // Estimated: `4600` + // Minimum execution time: 36_438_000 picoseconds. + Weight::from_parts(37_099_000, 4600) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:0 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2428` + // Estimated: `8556` + // Minimum execution time: 371_894_000 picoseconds. + Weight::from_parts(382_114_000, 8556) + .saturating_add(T::DbWeight::get().reads(27_u64)) + .saturating_add(T::DbWeight::get().writes(15_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:2 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn move_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2067` + // Estimated: `8007` + // Minimum execution time: 212_968_000 picoseconds. + Weight::from_parts(215_743_000, 8007) + .saturating_add(T::DbWeight::get().reads(19_u64)) + .saturating_add(T::DbWeight::get().writes(7_u64)) + } + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2289` + // Estimated: `10704` + // Minimum execution time: 389_918_000 picoseconds. + Weight::from_parts(402_663_000, 10704) + .saturating_add(T::DbWeight::get().reads(30_u64)) + .saturating_add(T::DbWeight::get().writes(13_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2582` + // Estimated: `8556` + // Minimum execution time: 451_574_000 picoseconds. + Weight::from_parts(461_121_000, 8556) + .saturating_add(T::DbWeight::get().reads(40_u64)) + .saturating_add(T::DbWeight::get().writes(22_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:1 w:0) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn transfer_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `1894` + // Estimated: `7834` + // Minimum execution time: 210_112_000 picoseconds. + Weight::from_parts(212_998_000, 7834) + .saturating_add(T::DbWeight::get().reads(16_u64)) + .saturating_add(T::DbWeight::get().writes(6_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2509` + // Estimated: `8556` + // Minimum execution time: 394_286_000 picoseconds. + Weight::from_parts(413_472_000, 8556) + .saturating_add(T::DbWeight::get().reads(40_u64)) + .saturating_add(T::DbWeight::get().writes(22_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_commit_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1167` + // Estimated: `4632` + // Minimum execution time: 124_923_000 picoseconds. + Weight::from_parts(126_606_000, 4632) + .saturating_add(T::DbWeight::get().reads(11_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_set_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1509` + // Estimated: `7449` + // Minimum execution time: 99_165_000 picoseconds. + Weight::from_parts(100_388_000, 7449) + .saturating_add(T::DbWeight::get().reads(15_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn decrease_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `816` + // Estimated: `4281` + // Minimum execution time: 28_914_000 picoseconds. + Weight::from_parts(29_906_000, 4281) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxDelegateTakeRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxDelegateTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn increase_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `909` + // Estimated: `4374` + // Minimum execution time: 35_707_000 picoseconds. + Weight::from_parts(36_668_000, 4374) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockEmission` (r:1 w:0) + /// Proof: `SubtensorModule::BlockEmission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register_network_with_identity() -> Weight { + // Proof Size summary in bytes: + // Measured: `1326` + // Estimated: `9741` + // Minimum execution time: 238_235_000 picoseconds. + Weight::from_parts(242_793_000, 9741) + .saturating_add(T::DbWeight::get().reads(35_u64)) + .saturating_add(T::DbWeight::get().writes(51_u64)) + } + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:1 w:1) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_axon_tls() -> Weight { + // Proof Size summary in bytes: + // Measured: `785` + // Estimated: `6725` + // Minimum execution time: 31_899_000 picoseconds. + Weight::from_parts(32_871_000, 6725) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:0 w:1) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_identity() -> Weight { + // Proof Size summary in bytes: + // Measured: `889` + // Estimated: `6829` + // Minimum execution time: 29_405_000 picoseconds. + Weight::from_parts(30_386_000, 6829) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_subnet_identity() -> Weight { + // Proof Size summary in bytes: + // Measured: `595` + // Estimated: `4060` + // Minimum execution time: 17_693_000 picoseconds. + Weight::from_parts(18_394_000, 4060) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:2) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:4 w:7) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:3 w:4) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:0) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:4 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:4 w:4) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:4 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:4 w:4) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:4 w:4) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeys` (r:4 w:0) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:4 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:4 w:4) + /// Proof: `SubtensorModule::AlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPower` (r:2 w:0) + /// Proof: `SubtensorModule::VotingPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:2 w:2) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:0) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `1591` + // Estimated: `12481` + // Minimum execution time: 300_622_000 picoseconds. + Weight::from_parts(304_950_000, 12481) + .saturating_add(T::DbWeight::get().reads(57_u64)) + .saturating_add(T::DbWeight::get().writes(39_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn try_associate_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `792` + // Estimated: `4257` + // Minimum execution time: 25_207_000 picoseconds. + Weight::from_parts(25_838_000, 4257) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unstake_all() -> Weight { + // Proof Size summary in bytes: + // Measured: `763` + // Estimated: `9178` + // Minimum execution time: 27_632_000 picoseconds. + Weight::from_parts(28_393_000, 9178) + .saturating_add(T::DbWeight::get().reads(6_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unstake_all_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `2510` + // Estimated: `10925` + // Minimum execution time: 408_513_000 picoseconds. + Weight::from_parts(416_628_000, 10925) + .saturating_add(T::DbWeight::get().reads(44_u64)) + .saturating_add(T::DbWeight::get().writes(24_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_stake_full_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2289` + // Estimated: `10704` + // Minimum execution time: 408_543_000 picoseconds. + Weight::from_parts(424_823_000, 10704) + .saturating_add(T::DbWeight::get().reads(30_u64)) + .saturating_add(T::DbWeight::get().writes(13_u64)) + } + /// Storage: `Crowdloan::CurrentCrowdloanId` (r:1 w:0) + /// Proof: `Crowdloan::CurrentCrowdloanId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Crowdloans` (r:1 w:0) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NextSubnetLeaseId` (r:1 w:1) + /// Proof: `SubtensorModule::NextSubnetLeaseId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:502 w:502) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockEmission` (r:1 w:0) + /// Proof: `SubtensorModule::BlockEmission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:3 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Contributions` (r:501 w:0) + /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetUidToLeaseId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLeaseShares` (r:0 w:499) + /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:0 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLeases` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `k` is `[2, 500]`. + fn register_leased_network(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1745 + k * (44 ±0)` + // Estimated: `10166 + k * (2579 ±0)` + // Minimum execution time: 450_842_000 picoseconds. + Weight::from_parts(283_309_564, 10166) + // Standard Error: 29_054 + .saturating_add(Weight::from_parts(46_589_922, 0).saturating_mul(k.into())) + .saturating_add(T::DbWeight::get().reads(45_u64)) + .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(k.into()))) + .saturating_add(T::DbWeight::get().writes(57_u64)) + .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 2579).saturating_mul(k.into())) + } + /// Storage: `SubtensorModule::SubnetLeases` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetLeaseShares` (r:499 w:499) + /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) + /// Storage: `Proxy::RealPaysFee` (r:0 w:1) + /// Proof: `Proxy::RealPaysFee` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AccumulatedLeaseDividends` (r:0 w:1) + /// Proof: `SubtensorModule::AccumulatedLeaseDividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `k` is `[2, 500]`. + fn terminate_lease(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1521 + k * (53 ±0)` + // Estimated: `6148 + k * (2529 ±0)` + // Minimum execution time: 93_695_000 picoseconds. + Weight::from_parts(67_991_346, 6148) + // Standard Error: 6_691 + .saturating_add(Weight::from_parts(1_642_383, 0).saturating_mul(k.into())) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into()))) + .saturating_add(T::DbWeight::get().writes(7_u64)) + .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 2529).saturating_mul(k.into())) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn update_symbol() -> Weight { + // Proof Size summary in bytes: + // Measured: `660` + // Estimated: `9075` + // Minimum execution time: 26_128_000 picoseconds. + Weight::from_parts(27_031_000, 9075) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_timelocked_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1143` + // Estimated: `4608` + // Minimum execution time: 73_427_000 picoseconds. + Weight::from_parts(74_699_000, 4608) + .saturating_add(T::DbWeight::get().reads(10_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:1 w:1) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_coldkey_auto_stake_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `831` + // Estimated: `4296` + // Minimum execution time: 34_765_000 picoseconds. + Weight::from_parts(35_266_000, 4296) + .saturating_add(T::DbWeight::get().reads(4_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimType` (r:0 w:1) + /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_root_claim_type() -> Weight { + // Proof Size summary in bytes: + // Measured: `476` + // Estimated: `3941` + // Minimum execution time: 17_433_000 picoseconds. + Weight::from_parts(18_064_000, 3941) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimType` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimed` (r:1 w:1) + /// Proof: `SubtensorModule::RootClaimed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimableThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn claim_root() -> Weight { + // Proof Size summary in bytes: + // Measured: `2025` + // Estimated: `7965` + // Minimum execution time: 133_519_000 picoseconds. + Weight::from_parts(135_694_000, 7965) + .saturating_add(T::DbWeight::get().reads(16_u64)) + .saturating_add(T::DbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::NumRootClaim` (r:0 w:1) + /// Proof: `SubtensorModule::NumRootClaim` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_num_root_claims() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_715_000 picoseconds. + Weight::from_parts(3_025_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::RootClaimableThreshold` (r:0 w:1) + /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_root_claim_threshold() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_080_000 picoseconds. + Weight::from_parts(5_711_000, 0) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:0 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `2486` + // Estimated: `8556` + // Minimum execution time: 462_794_000 picoseconds. + Weight::from_parts(479_436_000, 8556) + .saturating_add(T::DbWeight::get().reads(30_u64)) + .saturating_add(T::DbWeight::get().writes(16_u64)) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkPowRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkPowRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:0) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::BlockHash` (r:1 w:0) + /// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::UsedWork` (r:0 w:1) + /// Proof: `SubtensorModule::UsedWork` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1650` + // Estimated: `5115` + // Minimum execution time: 141_204_000 picoseconds. + Weight::from_parts(146_163_000, 5115) + .saturating_add(RocksDbWeight::get().reads(24_u64)) + .saturating_add(RocksDbWeight::get().writes(20_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:4096 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:0) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `188903` + // Estimated: `10327493` + // Minimum execution time: 14_948_737_000 picoseconds. + Weight::from_parts(15_152_546_000, 10327493) + .saturating_add(RocksDbWeight::get().reads(4111_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:0 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2428` + // Estimated: `8556` + // Minimum execution time: 334_285_000 picoseconds. + Weight::from_parts(351_897_000, 8556) + .saturating_add(RocksDbWeight::get().reads(27_u64)) + .saturating_add(RocksDbWeight::get().writes(15_u64)) + } + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:1 w:1) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_axon() -> Weight { + // Proof Size summary in bytes: + // Measured: `814` + // Estimated: `6754` + // Minimum execution time: 32_811_000 picoseconds. + Weight::from_parts(33_663_000, 6754) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Prometheus` (r:1 w:1) + /// Proof: `SubtensorModule::Prometheus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_prometheus() -> Weight { + // Proof Size summary in bytes: + // Measured: `787` + // Estimated: `6727` + // Minimum execution time: 28_693_000 picoseconds. + Weight::from_parts(29_435_000, 6727) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Burn` (r:1 w:0) + /// Proof: `SubtensorModule::Burn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:1) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::Positions` (r:1 w:1) + /// Proof: `Swap::Positions` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Swap::Ticks` (r:2 w:2) + /// Proof: `Swap::Ticks` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:5 w:5) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalTao` (r:1 w:0) + /// Proof: `Swap::FeeGlobalTao` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalAlpha` (r:1 w:0) + /// Proof: `Swap::FeeGlobalAlpha` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:1) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::LastPositionId` (r:1 w:1) + /// Proof: `Swap::LastPositionId` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:1 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::AlphaSqrtPrice` (r:0 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:0 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + fn burned_register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1814` + // Estimated: `13600` + // Minimum execution time: 343_271_000 picoseconds. + Weight::from_parts(350_635_000, 13600) + .saturating_add(RocksDbWeight::get().reads(47_u64)) + .saturating_add(RocksDbWeight::get().writes(39_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisBlock` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxRegistrationsPerBlock` (r:1 w:0) + /// Proof: `SubtensorModule::MaxRegistrationsPerBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:1 w:0) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:1 w:0) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn root_register() -> Weight { + // Proof Size summary in bytes: + // Measured: `1572` + // Estimated: `5037` + // Minimum execution time: 105_467_000 picoseconds. + Weight::from_parts(106_949_000, 5037) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(16_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockEmission` (r:1 w:0) + /// Proof: `SubtensorModule::BlockEmission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register_network() -> Weight { + // Proof Size summary in bytes: + // Measured: `1442` + // Estimated: `9857` + // Minimum execution time: 243_014_000 picoseconds. + Weight::from_parts(245_970_000, 9857) + .saturating_add(RocksDbWeight::get().reads(36_u64)) + .saturating_add(RocksDbWeight::get().writes(52_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1139` + // Estimated: `4604` + // Minimum execution time: 58_340_000 picoseconds. + Weight::from_parts(59_892_000, 4604) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn reveal_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1636` + // Estimated: `7576` + // Minimum execution time: 102_491_000 picoseconds. + Weight::from_parts(104_825_000, 7576) + .saturating_add(RocksDbWeight::get().reads(17_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:0 w:1) + /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_tx_childkey_take_rate_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_601_000 picoseconds. + Weight::from_parts(5_821_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxChildkeyTake` (r:1 w:0) + /// Proof: `SubtensorModule::MaxChildkeyTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildkeyTake` (r:1 w:1) + /// Proof: `SubtensorModule::ChildkeyTake` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxChildkeyTakeRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxChildkeyTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransactionKeyLastBlock` (r:1 w:1) + /// Proof: `SubtensorModule::TransactionKeyLastBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_childkey_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `927` + // Estimated: `4392` + // Minimum execution time: 43_993_000 picoseconds. + Weight::from_parts(44_493_000, 4392) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncementDelay` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn announce_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `717` + // Estimated: `4182` + // Minimum execution time: 43_160_000 picoseconds. + Weight::from_parts(44_333_000, 4182) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:0) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_coldkey_announced() -> Weight { + // Proof Size summary in bytes: + // Measured: `1199` + // Estimated: `9614` + // Minimum execution time: 83_346_000 picoseconds. + Weight::from_parts(85_369_000, 9614) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:2 w:0) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:2 w:2) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_coldkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `1282` + // Estimated: `9697` + // Minimum execution time: 144_691_000 picoseconds. + Weight::from_parts(147_806_000, 9697) + .saturating_add(RocksDbWeight::get().reads(17_u64)) + .saturating_add(RocksDbWeight::get().writes(10_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn dispute_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `665` + // Estimated: `4130` + // Minimum execution time: 22_553_000 picoseconds. + Weight::from_parts(23_203_000, 4130) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapReannouncementDelay` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapReannouncementDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn clear_coldkey_swap_announcement() -> Weight { + // Proof Size summary in bytes: + // Measured: `613` + // Estimated: `4078` + // Minimum execution time: 18_615_000 picoseconds. + Weight::from_parts(19_206_000, 4078) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ColdkeySwapDisputes` (r:0 w:1) + /// Proof: `SubtensorModule::ColdkeySwapDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn reset_coldkey_swap() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 8_536_000 picoseconds. + Weight::from_parts(8_756_000, 0) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_reveal_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `2141` + // Estimated: `8081` + // Minimum execution time: 391_500_000 picoseconds. + Weight::from_parts(405_958_000, 8081) + .saturating_add(RocksDbWeight::get().reads(17_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn recycle_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1496` + // Estimated: `4961` + // Minimum execution time: 124_623_000 picoseconds. + Weight::from_parts(126_436_000, 4961) + .saturating_add(RocksDbWeight::get().reads(9_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn burn_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `1496` + // Estimated: `4961` + // Minimum execution time: 123_120_000 picoseconds. + Weight::from_parts(124_874_000, 4961) + .saturating_add(RocksDbWeight::get().reads(9_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::FirstEmissionBlockNumber` (r:1 w:1) + /// Proof: `SubtensorModule::FirstEmissionBlockNumber` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StartCallDelay` (r:1 w:0) + /// Proof: `SubtensorModule::StartCallDelay` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:0 w:1) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn start_call() -> Weight { + // Proof Size summary in bytes: + // Measured: `1135` + // Estimated: `4600` + // Minimum execution time: 36_438_000 picoseconds. + Weight::from_parts(37_099_000, 4600) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:0 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2428` + // Estimated: `8556` + // Minimum execution time: 371_894_000 picoseconds. + Weight::from_parts(382_114_000, 8556) + .saturating_add(RocksDbWeight::get().reads(27_u64)) + .saturating_add(RocksDbWeight::get().writes(15_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:2 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn move_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2067` + // Estimated: `8007` + // Minimum execution time: 212_968_000 picoseconds. + Weight::from_parts(215_743_000, 8007) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + } + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2289` + // Estimated: `10704` + // Minimum execution time: 389_918_000 picoseconds. + Weight::from_parts(402_663_000, 10704) + .saturating_add(RocksDbWeight::get().reads(30_u64)) + .saturating_add(RocksDbWeight::get().writes(13_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_stake_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2582` + // Estimated: `8556` + // Minimum execution time: 451_574_000 picoseconds. + Weight::from_parts(461_121_000, 8556) + .saturating_add(RocksDbWeight::get().reads(40_u64)) + .saturating_add(RocksDbWeight::get().writes(22_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TransferToggle` (r:1 w:0) + /// Proof: `SubtensorModule::TransferToggle` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn transfer_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `1894` + // Estimated: `7834` + // Minimum execution time: 210_112_000 picoseconds. + Weight::from_parts(212_998_000, 7834) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().writes(6_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:2 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_stake() -> Weight { + // Proof Size summary in bytes: + // Measured: `2509` + // Estimated: `8556` + // Minimum execution time: 394_286_000 picoseconds. + Weight::from_parts(413_472_000, 8556) + .saturating_add(RocksDbWeight::get().reads(40_u64)) + .saturating_add(RocksDbWeight::get().writes(22_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RevealPeriodEpochs` (r:1 w:0) + /// Proof: `SubtensorModule::RevealPeriodEpochs` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::WeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsSetRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsSetRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_commit_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1167` + // Estimated: `4632` + // Minimum execution time: 124_923_000 picoseconds. + Weight::from_parts(126_606_000, 4632) + .saturating_add(RocksDbWeight::get().reads(11_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TaoWeight` (r:1 w:0) + /// Proof: `SubtensorModule::TaoWeight` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:1 w:0) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::WeightsVersionKey` (r:1 w:0) + /// Proof: `SubtensorModule::WeightsVersionKey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:1 w:0) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Weights` (r:0 w:1) + /// Proof: `SubtensorModule::Weights` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn batch_set_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1509` + // Estimated: `7449` + // Minimum execution time: 99_165_000 picoseconds. + Weight::from_parts(100_388_000, 7449) + .saturating_add(RocksDbWeight::get().reads(15_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MinDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn decrease_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `816` + // Estimated: `4281` + // Minimum execution time: 28_914_000 picoseconds. + Weight::from_parts(29_906_000, 4281) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDelegateTake` (r:1 w:0) + /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxDelegateTakeRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxDelegateTakeRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn increase_take() -> Weight { + // Proof Size summary in bytes: + // Measured: `909` + // Estimated: `4374` + // Minimum execution time: 35_707_000 picoseconds. + Weight::from_parts(36_668_000, 4374) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockEmission` (r:1 w:0) + /// Proof: `SubtensorModule::BlockEmission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn register_network_with_identity() -> Weight { + // Proof Size summary in bytes: + // Measured: `1326` + // Estimated: `9741` + // Minimum execution time: 238_235_000 picoseconds. + Weight::from_parts(242_793_000, 9741) + .saturating_add(RocksDbWeight::get().reads(35_u64)) + .saturating_add(RocksDbWeight::get().writes(51_u64)) + } + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Axons` (r:1 w:1) + /// Proof: `SubtensorModule::Axons` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ServingRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::ServingRateLimit` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn serve_axon_tls() -> Weight { + // Proof Size summary in bytes: + // Measured: `785` + // Estimated: `6725` + // Minimum execution time: 31_899_000 picoseconds. + Weight::from_parts(32_871_000, 6725) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:2 w:0) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IdentitiesV2` (r:0 w:1) + /// Proof: `SubtensorModule::IdentitiesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_identity() -> Weight { + // Proof Size summary in bytes: + // Measured: `889` + // Estimated: `6829` + // Minimum execution time: 29_405_000 picoseconds. + Weight::from_parts(30_386_000, 6829) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetIdentitiesV3` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetIdentitiesV3` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_subnet_identity() -> Weight { + // Proof Size summary in bytes: + // Measured: `595` + // Estimated: `4060` + // Minimum execution time: 17_693_000 picoseconds. + Weight::from_parts(18_394_000, 4060) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:2) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:4 w:7) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TxRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::TxRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:3 w:4) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:0) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:4 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:4 w:4) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:4 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ChildKeys` (r:4 w:4) + /// Proof: `SubtensorModule::ChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ParentKeys` (r:4 w:4) + /// Proof: `SubtensorModule::ParentKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::PendingChildKeys` (r:4 w:0) + /// Proof: `SubtensorModule::PendingChildKeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:2 w:0) + /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (r:4 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlphaLastEpoch` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaDividendsPerSubnet` (r:4 w:4) + /// Proof: `SubtensorModule::AlphaDividendsPerSubnet` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::VotingPower` (r:2 w:0) + /// Proof: `SubtensorModule::VotingPower` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:2 w:2) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:1 w:0) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn swap_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `1591` + // Estimated: `12481` + // Minimum execution time: 300_622_000 picoseconds. + Weight::from_parts(304_950_000, 12481) + .saturating_add(RocksDbWeight::get().reads(57_u64)) + .saturating_add(RocksDbWeight::get().writes(39_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn try_associate_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `792` + // Estimated: `4257` + // Minimum execution time: 25_207_000 picoseconds. + Weight::from_parts(25_838_000, 4257) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unstake_all() -> Weight { + // Proof Size summary in bytes: + // Measured: `763` + // Estimated: `9178` + // Minimum execution time: 27_632_000 picoseconds. + Weight::from_parts(28_393_000, 9178) + .saturating_add(RocksDbWeight::get().reads(6_u64)) + } + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:2 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:2) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:2) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:2 w:2) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn unstake_all_alpha() -> Weight { + // Proof Size summary in bytes: + // Measured: `2510` + // Estimated: `10925` + // Minimum execution time: 408_513_000 picoseconds. + Weight::from_parts(416_628_000, 10925) + .saturating_add(RocksDbWeight::get().reads(44_u64)) + .saturating_add(RocksDbWeight::get().writes(24_u64)) + } + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:2 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:1 w:0) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::StakeThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::StakeThreshold` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_stake_full_limit() -> Weight { + // Proof Size summary in bytes: + // Measured: `2289` + // Estimated: `10704` + // Minimum execution time: 408_543_000 picoseconds. + Weight::from_parts(424_823_000, 10704) + .saturating_add(RocksDbWeight::get().reads(30_u64)) + .saturating_add(RocksDbWeight::get().writes(13_u64)) + } + /// Storage: `Crowdloan::CurrentCrowdloanId` (r:1 w:0) + /// Proof: `Crowdloan::CurrentCrowdloanId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Crowdloans` (r:1 w:0) + /// Proof: `Crowdloan::Crowdloans` (`max_values`: None, `max_size`: Some(282), added: 2757, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NextSubnetLeaseId` (r:1 w:1) + /// Proof: `SubtensorModule::NextSubnetLeaseId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:502 w:502) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:1) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationStartBlock` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRegistrationStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRateLimit` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkRateLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLimit` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetLimit` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworksAdded` (r:3 w:1) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLastLockCost` (r:1 w:1) + /// Proof: `SubtensorModule::NetworkLastLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkMinLockCost` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkMinLockCost` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkLockReductionInterval` (r:1 w:0) + /// Proof: `SubtensorModule::NetworkLockReductionInterval` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:0) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockEmission` (r:1 w:0) + /// Proof: `SubtensorModule::BlockEmission` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalNetworks` (r:1 w:1) + /// Proof: `SubtensorModule::TotalNetworks` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Kappa` (r:1 w:1) + /// Proof: `SubtensorModule::Kappa` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Difficulty` (r:1 w:1) + /// Proof: `SubtensorModule::Difficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ActivityCutoff` (r:1 w:1) + /// Proof: `SubtensorModule::ActivityCutoff` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::RegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::POWRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::POWRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BurnRegistrationsThisInterval` (r:1 w:1) + /// Proof: `SubtensorModule::BurnRegistrationsThisInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::OwnedHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::OwnedHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Active` (r:1 w:1) + /// Proof: `SubtensorModule::Active` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Emission` (r:1 w:1) + /// Proof: `SubtensorModule::Emission` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Consensus` (r:1 w:1) + /// Proof: `SubtensorModule::Consensus` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Incentive` (r:1 w:1) + /// Proof: `SubtensorModule::Incentive` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Dividends` (r:1 w:1) + /// Proof: `SubtensorModule::Dividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorTrust` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorTrust` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ValidatorPermit` (r:1 w:1) + /// Proof: `SubtensorModule::ValidatorPermit` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwner` (r:3 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) + /// Storage: `Crowdloan::Contributions` (r:501 w:0) + /// Proof: `Crowdloan::Contributions` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::RAORecycledForRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::RAORecycledForRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetUidToLeaseId` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetUidToLeaseId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLocked` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLocked` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegisteredAt` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegisteredAt` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTaoProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::BlockAtRegistration` (r:0 w:1) + /// Proof: `SubtensorModule::BlockAtRegistration` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLeaseShares` (r:0 w:499) + /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinAllowedWeights` (r:0 w:1) + /// Proof: `SubtensorModule::MinAllowedWeights` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Delegates` (r:0 w:1) + /// Proof: `SubtensorModule::Delegates` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentInterval` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedValidators` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedValidators` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:0 w:1) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MinDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MinDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TargetRegistrationsPerInterval` (r:0 w:1) + /// Proof: `SubtensorModule::TargetRegistrationsPerInterval` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:0 w:1) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:0 w:1) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::ImmunityPeriod` (r:0 w:1) + /// Proof: `SubtensorModule::ImmunityPeriod` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetLeases` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AdjustmentAlpha` (r:0 w:1) + /// Proof: `SubtensorModule::AdjustmentAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NetworkRegistrationAllowed` (r:0 w:1) + /// Proof: `SubtensorModule::NetworkRegistrationAllowed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxDifficulty` (r:0 w:1) + /// Proof: `SubtensorModule::MaxDifficulty` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::IsNetworkMember` (r:0 w:1) + /// Proof: `SubtensorModule::IsNetworkMember` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MaxAllowedUids` (r:0 w:1) + /// Proof: `SubtensorModule::MaxAllowedUids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `k` is `[2, 500]`. + fn register_leased_network(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1745 + k * (44 ±0)` + // Estimated: `10166 + k * (2579 ±0)` + // Minimum execution time: 450_842_000 picoseconds. + Weight::from_parts(283_309_564, 10166) + // Standard Error: 29_054 + .saturating_add(Weight::from_parts(46_589_922, 0).saturating_mul(k.into())) + .saturating_add(RocksDbWeight::get().reads(45_u64)) + .saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(k.into()))) + .saturating_add(RocksDbWeight::get().writes(57_u64)) + .saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 2579).saturating_mul(k.into())) + } + /// Storage: `SubtensorModule::SubnetLeases` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetLeases` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetLeaseShares` (r:499 w:499) + /// Proof: `SubtensorModule::SubnetLeaseShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Proxy::Proxies` (r:1 w:1) + /// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(789), added: 3264, mode: `MaxEncodedLen`) + /// Storage: `Proxy::RealPaysFee` (r:0 w:1) + /// Proof: `Proxy::RealPaysFee` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::SubnetOwner` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetOwnerHotkey` (r:0 w:1) + /// Proof: `SubtensorModule::SubnetOwnerHotkey` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AccumulatedLeaseDividends` (r:0 w:1) + /// Proof: `SubtensorModule::AccumulatedLeaseDividends` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// The range of component `k` is `[2, 500]`. + fn terminate_lease(k: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1521 + k * (53 ±0)` + // Estimated: `6148 + k * (2529 ±0)` + // Minimum execution time: 93_695_000 picoseconds. + Weight::from_parts(67_991_346, 6148) + // Standard Error: 6_691 + .saturating_add(Weight::from_parts(1_642_383, 0).saturating_mul(k.into())) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into()))) + .saturating_add(RocksDbWeight::get().writes(7_u64)) + .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into()))) + .saturating_add(Weight::from_parts(0, 2529).saturating_mul(k.into())) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TokenSymbol` (r:3 w:1) + /// Proof: `SubtensorModule::TokenSymbol` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn update_symbol() -> Weight { + // Proof Size summary in bytes: + // Measured: `660` + // Estimated: `9075` + // Minimum execution time: 26_128_000 picoseconds. + Weight::from_parts(27_031_000, 9075) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::MechanismCountCurrent` (r:1 w:0) + /// Proof: `SubtensorModule::MechanismCountCurrent` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::CommitRevealWeightsVersion` (r:1 w:0) + /// Proof: `SubtensorModule::CommitRevealWeightsVersion` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Keys` (r:1 w:0) + /// Proof: `SubtensorModule::Keys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastUpdate` (r:1 w:1) + /// Proof: `SubtensorModule::LastUpdate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TimelockedWeightCommits` (r:1 w:1) + /// Proof: `SubtensorModule::TimelockedWeightCommits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetworkN` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetworkN` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn commit_timelocked_weights() -> Weight { + // Proof Size summary in bytes: + // Measured: `1143` + // Estimated: `4608` + // Minimum execution time: 73_427_000 picoseconds. + Weight::from_parts(74_699_000, 4608) + .saturating_add(RocksDbWeight::get().reads(10_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Uids` (r:1 w:0) + /// Proof: `SubtensorModule::Uids` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestination` (r:1 w:1) + /// Proof: `SubtensorModule::AutoStakeDestination` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AutoStakeDestinationColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::AutoStakeDestinationColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_coldkey_auto_stake_hotkey() -> Weight { + // Proof Size summary in bytes: + // Measured: `831` + // Estimated: `4296` + // Minimum execution time: 34_765_000 picoseconds. + Weight::from_parts(35_266_000, 4296) + .saturating_add(RocksDbWeight::get().reads(4_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::NumStakingColdkeys` (r:1 w:1) + /// Proof: `SubtensorModule::NumStakingColdkeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimType` (r:0 w:1) + /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingColdkeysByIndex` (r:0 w:1) + /// Proof: `SubtensorModule::StakingColdkeysByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn set_root_claim_type() -> Weight { + // Proof Size summary in bytes: + // Measured: `476` + // Estimated: `3941` + // Minimum execution time: 17_433_000 picoseconds. + Weight::from_parts(18_064_000, 3941) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::StakingColdkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingColdkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimType` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimType` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimable` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimable` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:2 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:2 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:2 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:2 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimed` (r:1 w:1) + /// Proof: `SubtensorModule::RootClaimed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::RootClaimableThreshold` (r:1 w:0) + /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn claim_root() -> Weight { + // Proof Size summary in bytes: + // Measured: `2025` + // Estimated: `7965` + // Minimum execution time: 133_519_000 picoseconds. + Weight::from_parts(135_694_000, 7965) + .saturating_add(RocksDbWeight::get().reads(16_u64)) + .saturating_add(RocksDbWeight::get().writes(4_u64)) + } + /// Storage: `SubtensorModule::NumRootClaim` (r:0 w:1) + /// Proof: `SubtensorModule::NumRootClaim` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + fn sudo_set_num_root_claims() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_715_000 picoseconds. + Weight::from_parts(3_025_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::RootClaimableThreshold` (r:0 w:1) + /// Proof: `SubtensorModule::RootClaimableThreshold` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn sudo_set_root_claim_threshold() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 5_080_000 picoseconds. + Weight::from_parts(5_711_000, 0) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `SubtensorModule::SubnetOwner` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetOwner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastRateLimitedBlock` (r:1 w:1) + /// Proof: `SubtensorModule::LastRateLimitedBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Tempo` (r:1 w:0) + /// Proof: `SubtensorModule::Tempo` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetMechanism` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetMechanism` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaInProvided` (r:1 w:0) + /// Proof: `SubtensorModule::SubnetAlphaInProvided` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::SwapV3Initialized` (r:1 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:1) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:1) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::TickIndexBitmapWords` (r:3 w:0) + /// Proof: `Swap::TickIndexBitmapWords` (`max_values`: None, `max_size`: Some(47), added: 2522, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeRate` (r:1 w:0) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:0) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(104), added: 2579, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalStake` (r:1 w:1) + /// Proof: `SubtensorModule::TotalStake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetVolume` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetVolume` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:0) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalIssuance` (r:1 w:1) + /// Proof: `SubtensorModule::TotalIssuance` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTaoFlow` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTaoFlow` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingOperationRateLimiter` (r:0 w:1) + /// Proof: `SubtensorModule::StakingOperationRateLimiter` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (r:0 w:1) + /// Proof: `SubtensorModule::LastColdkeyHotkeyStakeBlock` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn add_stake_burn() -> Weight { + // Proof Size summary in bytes: + // Measured: `2486` + // Estimated: `8556` + // Minimum execution time: 462_794_000 picoseconds. + Weight::from_parts(479_436_000, 8556) + .saturating_add(RocksDbWeight::get().reads(30_u64)) + .saturating_add(RocksDbWeight::get().writes(16_u64)) + } +} diff --git a/pallets/swap/scripts/benchmark.sh b/pallets/swap/scripts/benchmark.sh deleted file mode 100755 index 20feb6b270..0000000000 --- a/pallets/swap/scripts/benchmark.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -cargo build --profile production --features runtime-benchmarks -./target/production/node-subtensor benchmark pallet \ - --chain=local \ - --pallet=pallet_subtensor_swap \ - --extrinsic="*" \ - --steps 50 \ - --repeat 20 \ - --output=pallets/swap/src/weights.rs \ - --template=./.maintain/frame-weight-template.hbs \ No newline at end of file diff --git a/pallets/swap/src/benchmarking.rs b/pallets/swap/src/benchmarking.rs index f61730a0d2..b486266741 100644 --- a/pallets/swap/src/benchmarking.rs +++ b/pallets/swap/src/benchmarking.rs @@ -5,15 +5,17 @@ use core::marker::PhantomData; use frame_benchmarking::v2::*; +use frame_support::assert_err; use frame_support::traits::Get; use frame_system::RawOrigin; use substrate_fixed::types::{I64F64, U64F64}; use subtensor_runtime_common::NetUid; use crate::{ + Error, pallet::{ - AlphaSqrtPrice, Call, Config, CurrentLiquidity, CurrentTick, EnabledUserLiquidity, Pallet, - Positions, SwapV3Initialized, + AlphaSqrtPrice, BenchmarkHelper, Call, Config, CurrentLiquidity, CurrentTick, + EnabledUserLiquidity, Pallet, Positions, SwapV3Initialized, }, position::{Position, PositionId}, tick::TickIndex, @@ -26,44 +28,50 @@ mod benchmarks { #[benchmark] fn set_fee_rate() { let netuid = NetUid::from(1); - let rate: u16 = 100; // Some arbitrary fee rate value + let rate: u16 = 100; #[extrinsic_call] - set_fee_rate(RawOrigin::Root, netuid, rate); + _(RawOrigin::Root, netuid, rate); } - // TODO: Revise when user liquidity is available - // #[benchmark] - // fn add_liquidity() { - // let netuid = NetUid::from(1); - - // if !SwapV3Initialized::::get(netuid) { - // SwapV3Initialized::::insert(netuid, true); - // AlphaSqrtPrice::::insert(netuid, U64F64::from_num(1)); - // CurrentTick::::insert(netuid, TickIndex::new(0).unwrap()); - // CurrentLiquidity::::insert(netuid, T::MinimumLiquidity::get()); - // } - - // let caller: T::AccountId = whitelisted_caller(); - // let hotkey: T::AccountId = account("hotkey", 0, 0); - // let tick_low = TickIndex::new_unchecked(-1000); - // let tick_high = TickIndex::new_unchecked(1000); - - // #[extrinsic_call] - // add_liquidity( - // RawOrigin::Signed(caller), - // hotkey, - // netuid, - // tick_low, - // tick_high, - // 1000, - // ); - // } + #[benchmark] + fn add_liquidity() { + let netuid = NetUid::from(1); + + if !SwapV3Initialized::::get(netuid) { + SwapV3Initialized::::insert(netuid, true); + AlphaSqrtPrice::::insert(netuid, U64F64::from_num(1)); + CurrentTick::::insert(netuid, TickIndex::new(0).unwrap()); + CurrentLiquidity::::insert(netuid, T::MinimumLiquidity::get()); + } + + let caller: T::AccountId = whitelisted_caller(); + let hotkey: T::AccountId = account("hotkey", 0, 0); + let tick_low = TickIndex::new_unchecked(-1000); + let tick_high = TickIndex::new_unchecked(1000); + + #[block] + { + assert_err!( + Pallet::::add_liquidity( + RawOrigin::Signed(caller).into(), + hotkey, + netuid, + tick_low, + tick_high, + 1000, + ), + Error::::UserLiquidityDisabled + ); + } + } #[benchmark] fn remove_liquidity() { let netuid = NetUid::from(1); + T::BenchmarkHelper::setup_subnet(netuid); + if !SwapV3Initialized::::get(netuid) { SwapV3Initialized::::insert(netuid, true); AlphaSqrtPrice::::insert(netuid, U64F64::from_num(1)); @@ -73,6 +81,7 @@ mod benchmarks { let caller: T::AccountId = whitelisted_caller(); let hotkey: T::AccountId = account("hotkey", 0, 0); + T::BenchmarkHelper::register_hotkey(&hotkey, &caller); let id = PositionId::from(1u128); Positions::::insert( @@ -90,13 +99,16 @@ mod benchmarks { ); #[extrinsic_call] - remove_liquidity(RawOrigin::Signed(caller), hotkey, netuid.into(), id.into()); + _(RawOrigin::Signed(caller), hotkey, netuid.into(), id.into()); } #[benchmark] fn modify_position() { let netuid = NetUid::from(1); + T::BenchmarkHelper::setup_subnet(netuid); + EnabledUserLiquidity::::insert(netuid, true); + if !SwapV3Initialized::::get(netuid) { SwapV3Initialized::::insert(netuid, true); AlphaSqrtPrice::::insert(netuid, U64F64::from_num(1)); @@ -106,6 +118,7 @@ mod benchmarks { let caller: T::AccountId = whitelisted_caller(); let hotkey: T::AccountId = account("hotkey", 0, 0); + T::BenchmarkHelper::register_hotkey(&hotkey, &caller); let id = PositionId::from(1u128); Positions::::insert( @@ -123,7 +136,7 @@ mod benchmarks { ); #[extrinsic_call] - modify_position( + _( RawOrigin::Signed(caller), hotkey, netuid.into(), @@ -169,17 +182,16 @@ mod benchmarks { disable_lp(RawOrigin::Root); } - // #[benchmark] - // fn toggle_user_liquidity() { - // let netuid = NetUid::from(101); - - // assert!(!EnabledUserLiquidity::::get(netuid)); + #[benchmark] + fn toggle_user_liquidity() { + let netuid = NetUid::from(101); + T::BenchmarkHelper::setup_subnet(netuid); - // #[extrinsic_call] - // toggle_user_liquidity(RawOrigin::Root, netuid.into(), true); + assert!(!EnabledUserLiquidity::::get(netuid)); - // assert!(EnabledUserLiquidity::::get(netuid)); - // } + #[extrinsic_call] + _(RawOrigin::Root, netuid.into(), true); + } impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test); } diff --git a/pallets/swap/src/mock.rs b/pallets/swap/src/mock.rs index 5063972082..6df0c3584f 100644 --- a/pallets/swap/src/mock.rs +++ b/pallets/swap/src/mock.rs @@ -306,6 +306,8 @@ impl crate::pallet::Config for Test { type MinimumLiquidity = MinimumLiquidity; type MinimumReserve = MinimumReserves; type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } // Build genesis storage according to the mock runtime. diff --git a/pallets/swap/src/pallet/mod.rs b/pallets/swap/src/pallet/mod.rs index 3a4183c958..95a82a1c08 100644 --- a/pallets/swap/src/pallet/mod.rs +++ b/pallets/swap/src/pallet/mod.rs @@ -71,6 +71,23 @@ mod pallet { /// Weight information for extrinsics in this pallet. type WeightInfo: WeightInfo; + + /// Helper for setting up cross-pallet state needed by benchmarks. + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper: BenchmarkHelper; + } + + /// Benchmark setup helper — the runtime wires this to set state in other pallets. + #[cfg(feature = "runtime-benchmarks")] + pub trait BenchmarkHelper { + fn setup_subnet(netuid: NetUid); + fn register_hotkey(hotkey: &AccountId, coldkey: &AccountId); + } + + #[cfg(feature = "runtime-benchmarks")] + impl BenchmarkHelper for () { + fn setup_subnet(_netuid: NetUid) {} + fn register_hotkey(_hotkey: &AccountId, _coldkey: &AccountId) {} } /// Default fee rate if not set diff --git a/pallets/swap/src/weights.rs b/pallets/swap/src/weights.rs index ccffdd7504..3c5a80516d 100644 --- a/pallets/swap/src/weights.rs +++ b/pallets/swap/src/weights.rs @@ -1,106 +1,325 @@ -//! Weights for pallet_subtensor_swap + +//! Autogenerated weights for `pallet_subtensor_swap` //! -//! This is a default weight implementation with conservative estimates -//! until actual benchmarks are run. +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0 +//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runnervm46oaq`, CPU: `AMD EPYC 7763 64-Core Processor` +//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` + +// Executed Command: +// /home/runner/work/subtensor/subtensor/target/production/node-subtensor +// benchmark +// pallet +// --runtime +// /home/runner/work/subtensor/subtensor/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=benchmark +// --wasm-execution=compiled +// --pallet +// pallet_subtensor_swap +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 +// --no-storage-info +// --no-min-squares +// --no-median-slopes +// --output=/tmp/tmp.c72h4afGew +// --template=/home/runner/work/subtensor/subtensor/.maintain/frame-weight-template.hbs +#![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] #![allow(unused_imports)] +#![allow(missing_docs)] +#![allow(dead_code)] -use frame_support::{ - traits::Get, - weights::{Weight, constants::RocksDbWeight}, -}; -use sp_std::marker::PhantomData; +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; -/// Weight functions needed for pallet_subtensor_swap. +/// Weight functions needed for `pallet_subtensor_swap`. pub trait WeightInfo { - fn set_fee_rate() -> Weight; - fn add_liquidity() -> Weight; - fn remove_liquidity() -> Weight; - fn modify_position() -> Weight; - fn toggle_user_liquidity() -> Weight; - fn disable_lp() -> Weight; + fn set_fee_rate() -> Weight; + fn add_liquidity() -> Weight; + fn remove_liquidity() -> Weight; + fn modify_position() -> Weight; + fn toggle_user_liquidity() -> Weight; + fn disable_lp() -> Weight; } -/// Default weights for pallet_subtensor_swap. -pub struct DefaultWeight(PhantomData); -impl WeightInfo for DefaultWeight { - fn set_fee_rate() -> Weight { - // Conservative weight estimate: one read and one write - Weight::from_parts(10_000_000, 0) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - - fn add_liquidity() -> Weight { - // Conservative weight estimate for add_liquidity - Weight::from_parts(50_000_000, 0) - .saturating_add(T::DbWeight::get().reads(5)) - .saturating_add(T::DbWeight::get().writes(4)) - } - - fn remove_liquidity() -> Weight { - // Conservative weight estimate for remove_liquidity - Weight::from_parts(50_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - - fn modify_position() -> Weight { - // Conservative weight estimate for modify_position - Weight::from_parts(50_000_000, 0) - .saturating_add(T::DbWeight::get().reads(4)) - .saturating_add(T::DbWeight::get().writes(4)) - } - - fn toggle_user_liquidity() -> Weight { - // Conservative weight estimate: one read and one write - Weight::from_parts(10_000_000, 0) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) - } - fn disable_lp() -> Weight { - // Conservative weight estimate: 1920 read and 896 write - Weight::from_parts(5_174_000_000, 0) - .saturating_add(T::DbWeight::get().reads(1920)) - .saturating_add(T::DbWeight::get().writes(896)) - } +/// Weights for `pallet_subtensor_swap` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::FeeRate` (r:0 w:1) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + fn set_fee_rate() -> Weight { + // Proof Size summary in bytes: + // Measured: `529` + // Estimated: `3994` + // Minimum execution time: 16_210_000 picoseconds. + Weight::from_parts(16_711_000, 3994) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + fn add_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_424_000 picoseconds. + Weight::from_parts(2_835_000, 0) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::Positions` (r:1 w:1) + /// Proof: `Swap::Positions` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalTao` (r:1 w:0) + /// Proof: `Swap::FeeGlobalTao` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:0) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::Ticks` (r:2 w:2) + /// Proof: `Swap::Ticks` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalAlpha` (r:1 w:0) + /// Proof: `Swap::FeeGlobalAlpha` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:1) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `1600` + // Estimated: `6096` + // Minimum execution time: 131_465_000 picoseconds. + Weight::from_parts(136_185_000, 6096) + .saturating_add(T::DbWeight::get().reads(19_u64)) + .saturating_add(T::DbWeight::get().writes(11_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::EnabledUserLiquidity` (r:1 w:0) + /// Proof: `Swap::EnabledUserLiquidity` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::Positions` (r:1 w:1) + /// Proof: `Swap::Positions` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:1) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalTao` (r:1 w:0) + /// Proof: `Swap::FeeGlobalTao` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:0) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::Ticks` (r:2 w:2) + /// Proof: `Swap::Ticks` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalAlpha` (r:1 w:0) + /// Proof: `Swap::FeeGlobalAlpha` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn modify_position() -> Weight { + // Proof Size summary in bytes: + // Measured: `1645` + // Estimated: `6096` + // Minimum execution time: 149_760_000 picoseconds. + Weight::from_parts(153_587_000, 6096) + .saturating_add(T::DbWeight::get().reads(19_u64)) + .saturating_add(T::DbWeight::get().writes(9_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn toggle_user_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `538` + // Estimated: `4003` + // Minimum execution time: 13_024_000 picoseconds. + Weight::from_parts(13_385_000, 4003) + .saturating_add(T::DbWeight::get().reads(1_u64)) + } + /// Storage: `Swap::EnabledUserLiquidity` (r:128 w:128) + /// Proof: `Swap::EnabledUserLiquidity` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::SwapV3Initialized` (r:128 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + fn disable_lp() -> Weight { + // Proof Size summary in bytes: + // Measured: `1934` + // Estimated: `319198` + // Minimum execution time: 1_014_845_000 picoseconds. + Weight::from_parts(1_022_129_000, 319198) + .saturating_add(T::DbWeight::get().reads(256_u64)) + .saturating_add(T::DbWeight::get().writes(128_u64)) + } } -// For backwards compatibility and tests +// For backwards compatibility and tests. impl WeightInfo for () { - fn set_fee_rate() -> Weight { - Weight::from_parts(10_000_000, 0) - .saturating_add(RocksDbWeight::get().reads(1)) - .saturating_add(RocksDbWeight::get().writes(1)) - } - - fn add_liquidity() -> Weight { - Weight::from_parts(50_000_000, 0) - .saturating_add(RocksDbWeight::get().reads(5)) - .saturating_add(RocksDbWeight::get().writes(4)) - } - - fn remove_liquidity() -> Weight { - Weight::from_parts(50_000_000, 0) - .saturating_add(RocksDbWeight::get().reads(4)) - .saturating_add(RocksDbWeight::get().writes(4)) - } - - fn modify_position() -> Weight { - Weight::from_parts(50_000_000, 0) - .saturating_add(RocksDbWeight::get().reads(4)) - .saturating_add(RocksDbWeight::get().writes(4)) - } - - fn toggle_user_liquidity() -> Weight { - Weight::from_parts(10_000_000, 0) - .saturating_add(RocksDbWeight::get().reads(1)) - .saturating_add(RocksDbWeight::get().writes(1)) - } - fn disable_lp() -> Weight { - Weight::from_parts(5_174_000_000, 0) - .saturating_add(RocksDbWeight::get().reads(1920)) - .saturating_add(RocksDbWeight::get().writes(896)) - } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::FeeRate` (r:0 w:1) + /// Proof: `Swap::FeeRate` (`max_values`: None, `max_size`: Some(12), added: 2487, mode: `MaxEncodedLen`) + fn set_fee_rate() -> Weight { + // Proof Size summary in bytes: + // Measured: `529` + // Estimated: `3994` + // Minimum execution time: 16_210_000 picoseconds. + Weight::from_parts(16_711_000, 3994) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + fn add_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `0` + // Estimated: `0` + // Minimum execution time: 2_424_000 picoseconds. + Weight::from_parts(2_835_000, 0) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::Positions` (r:1 w:1) + /// Proof: `Swap::Positions` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalTao` (r:1 w:0) + /// Proof: `Swap::FeeGlobalTao` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:0) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::Ticks` (r:2 w:2) + /// Proof: `Swap::Ticks` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalAlpha` (r:1 w:0) + /// Proof: `Swap::FeeGlobalAlpha` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:1) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetTAO` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetTAO` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaIn` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaIn` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn remove_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `1600` + // Estimated: `6096` + // Minimum execution time: 131_465_000 picoseconds. + Weight::from_parts(136_185_000, 6096) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(11_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubtokenEnabled` (r:1 w:0) + /// Proof: `SubtensorModule::SubtokenEnabled` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Swap::EnabledUserLiquidity` (r:1 w:0) + /// Proof: `Swap::EnabledUserLiquidity` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::Positions` (r:1 w:1) + /// Proof: `Swap::Positions` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`) + /// Storage: `Swap::AlphaSqrtPrice` (r:1 w:0) + /// Proof: `Swap::AlphaSqrtPrice` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentLiquidity` (r:1 w:1) + /// Proof: `Swap::CurrentLiquidity` (`max_values`: None, `max_size`: Some(18), added: 2493, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalTao` (r:1 w:0) + /// Proof: `Swap::FeeGlobalTao` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `Swap::CurrentTick` (r:1 w:0) + /// Proof: `Swap::CurrentTick` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`) + /// Storage: `Swap::Ticks` (r:2 w:2) + /// Proof: `Swap::Ticks` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`) + /// Storage: `Swap::FeeGlobalAlpha` (r:1 w:0) + /// Proof: `Swap::FeeGlobalAlpha` (`max_values`: None, `max_size`: Some(26), added: 2501, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::Owner` (r:1 w:0) + /// Proof: `SubtensorModule::Owner` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::SubnetAlphaOut` (r:1 w:1) + /// Proof: `SubtensorModule::SubnetAlphaOut` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::StakingHotkeys` (r:1 w:1) + /// Proof: `SubtensorModule::StakingHotkeys` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyAlpha` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeyAlpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::Alpha` (r:1 w:0) + /// Proof: `SubtensorModule::Alpha` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::AlphaV2` (r:1 w:1) + /// Proof: `SubtensorModule::AlphaV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeyShares` (r:1 w:0) + /// Proof: `SubtensorModule::TotalHotkeyShares` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `SubtensorModule::TotalHotkeySharesV2` (r:1 w:1) + /// Proof: `SubtensorModule::TotalHotkeySharesV2` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn modify_position() -> Weight { + // Proof Size summary in bytes: + // Measured: `1645` + // Estimated: `6096` + // Minimum execution time: 149_760_000 picoseconds. + Weight::from_parts(153_587_000, 6096) + .saturating_add(RocksDbWeight::get().reads(19_u64)) + .saturating_add(RocksDbWeight::get().writes(9_u64)) + } + /// Storage: `SubtensorModule::NetworksAdded` (r:1 w:0) + /// Proof: `SubtensorModule::NetworksAdded` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn toggle_user_liquidity() -> Weight { + // Proof Size summary in bytes: + // Measured: `538` + // Estimated: `4003` + // Minimum execution time: 13_024_000 picoseconds. + Weight::from_parts(13_385_000, 4003) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + } + /// Storage: `Swap::EnabledUserLiquidity` (r:128 w:128) + /// Proof: `Swap::EnabledUserLiquidity` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + /// Storage: `Swap::SwapV3Initialized` (r:128 w:0) + /// Proof: `Swap::SwapV3Initialized` (`max_values`: None, `max_size`: Some(11), added: 2486, mode: `MaxEncodedLen`) + fn disable_lp() -> Weight { + // Proof Size summary in bytes: + // Measured: `1934` + // Estimated: `319198` + // Minimum execution time: 1_014_845_000 picoseconds. + Weight::from_parts(1_022_129_000, 319198) + .saturating_add(RocksDbWeight::get().reads(256_u64)) + .saturating_add(RocksDbWeight::get().writes(128_u64)) + } } diff --git a/pallets/transaction-fee/src/tests/mock.rs b/pallets/transaction-fee/src/tests/mock.rs index 07c4f0e680..a897e82cb6 100644 --- a/pallets/transaction-fee/src/tests/mock.rs +++ b/pallets/transaction-fee/src/tests/mock.rs @@ -304,6 +304,7 @@ impl pallet_subtensor::Config for Test { type CommitmentsInterface = CommitmentsI; type EvmKeyAssociateRateLimit = EvmKeyAssociateRateLimit; type AuthorshipProvider = MockAuthorshipProvider; + type WeightInfo = (); } parameter_types! { @@ -420,6 +421,8 @@ impl pallet_subtensor_swap::Config for Test { type MinimumLiquidity = SwapMinimumLiquidity; type MinimumReserve = SwapMinimumReserve; type WeightInfo = (); + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); } pub struct OriginPrivilegeCmp; @@ -462,6 +465,7 @@ impl pallet_drand::Config for Test { type Verifier = pallet_drand::verifier::QuicknetVerifier; type UnsignedPriority = ConstU64<{ 1 << 20 }>; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = (); } impl frame_system::offchain::SigningTypes for Test { diff --git a/pallets/utility/src/weights.rs b/pallets/utility/src/weights.rs index eb1f036087..9507a7909e 100644 --- a/pallets/utility/src/weights.rs +++ b/pallets/utility/src/weights.rs @@ -1,48 +1,34 @@ -// This file is part of Substrate. -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_utility` +//! Autogenerated weights for `pallet_subtensor_utility` //! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 49.1.0 +//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `4563561839a5`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `runnervm46oaq`, CPU: `AMD EPYC 7763 64-Core Processor` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: `1024` // Executed Command: -// frame-omni-bencher -// v1 +// /home/runner/work/subtensor/subtensor/target/production/node-subtensor // benchmark // pallet -// --extrinsic=* -// --runtime=target/production/wbuild/kitchensink-runtime/kitchensink_runtime.wasm -// --pallet=pallet_utility -// --header=/__w/polkadot-sdk/polkadot-sdk/substrate/HEADER-APACHE2 -// --output=/__w/polkadot-sdk/polkadot-sdk/substrate/frame/utility/src/weights.rs +// --runtime +// /home/runner/work/subtensor/subtensor/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm +// --genesis-builder=runtime +// --genesis-builder-preset=benchmark // --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 -// --template=substrate/.maintain/frame-weight-template.hbs +// --pallet +// pallet_subtensor_utility +// --extrinsic +// * +// --steps +// 50 +// --repeat +// 20 // --no-storage-info // --no-min-squares // --no-median-slopes -// --genesis-builder-policy=none -// --exclude-pallets=pallet_xcm,pallet_xcm_benchmarks::fungible,pallet_xcm_benchmarks::generic,pallet_nomination_pools,pallet_remark,pallet_transaction_storage,pallet_election_provider_multi_block,pallet_election_provider_multi_block::signed,pallet_election_provider_multi_block::unsigned,pallet_election_provider_multi_block::verifier +// --output=/tmp/tmp.Rfo4jDh0U9 +// --template=/home/runner/work/subtensor/subtensor/.maintain/frame-weight-template.hbs #![cfg_attr(rustfmt, rustfmt_skip)] #![allow(unused_parens)] @@ -53,7 +39,7 @@ use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; use core::marker::PhantomData; -/// Weight functions needed for `pallet_utility`. +/// Weight functions needed for `pallet_subtensor_utility`. pub trait WeightInfo { fn batch(c: u32, ) -> Weight; fn as_derivative() -> Weight; @@ -64,91 +50,91 @@ pub trait WeightInfo { fn if_else() -> Weight; } -/// Weights for `pallet_utility` using the Substrate node and recommended hardware. +/// Weights for `pallet_subtensor_utility` using the Substrate node and recommended hardware. pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// The range of component `c` is `[0, 1000]`. fn batch(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 3_972_000 picoseconds. - Weight::from_parts(4_034_000, 3997) - // Standard Error: 2_323 - .saturating_add(Weight::from_parts(4_914_560, 0).saturating_mul(c.into())) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 5_100_000 picoseconds. + Weight::from_parts(13_936_720, 3983) + // Standard Error: 2_373 + .saturating_add(Weight::from_parts(5_509_150, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) fn as_derivative() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 5_866_000 picoseconds. - Weight::from_parts(6_097_000, 3997) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 15_209_000 picoseconds. + Weight::from_parts(15_699_000, 3983) .saturating_add(T::DbWeight::get().reads(2_u64)) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// The range of component `c` is `[0, 1000]`. fn batch_all(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 3_983_000 picoseconds. - Weight::from_parts(4_075_000, 3997) - // Standard Error: 2_176 - .saturating_add(Weight::from_parts(5_127_263, 0).saturating_mul(c.into())) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 4_999_000 picoseconds. + Weight::from_parts(13_673_497, 3983) + // Standard Error: 2_579 + .saturating_add(Weight::from_parts(5_720_464, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_530_000 picoseconds. - Weight::from_parts(5_720_000, 0) + // Minimum execution time: 6_893_000 picoseconds. + Weight::from_parts(7_203_000, 0) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// The range of component `c` is `[0, 1000]`. fn force_batch(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 3_880_000 picoseconds. - Weight::from_parts(4_035_000, 3997) - // Standard Error: 1_682 - .saturating_add(Weight::from_parts(4_902_729, 0).saturating_mul(c.into())) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 5_099_000 picoseconds. + Weight::from_parts(14_137_292, 3983) + // Standard Error: 1_934 + .saturating_add(Weight::from_parts(5_498_784, 0).saturating_mul(c.into())) .saturating_add(T::DbWeight::get().reads(2_u64)) } fn dispatch_as_fallible() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_417_000 picoseconds. - Weight::from_parts(5_705_000, 0) + // Minimum execution time: 6_893_000 picoseconds. + Weight::from_parts(7_384_000, 0) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:2 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) fn if_else() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `7004` - // Minimum execution time: 11_273_000 picoseconds. - Weight::from_parts(11_571_000, 7004) - .saturating_add(T::DbWeight::get().reads(3_u64)) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 21_440_000 picoseconds. + Weight::from_parts(22_021_000, 3983) + .saturating_add(T::DbWeight::get().reads(2_u64)) } } @@ -156,85 +142,85 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// The range of component `c` is `[0, 1000]`. fn batch(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 3_972_000 picoseconds. - Weight::from_parts(4_034_000, 3997) - // Standard Error: 2_323 - .saturating_add(Weight::from_parts(4_914_560, 0).saturating_mul(c.into())) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 5_100_000 picoseconds. + Weight::from_parts(13_936_720, 3983) + // Standard Error: 2_373 + .saturating_add(Weight::from_parts(5_509_150, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) fn as_derivative() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 5_866_000 picoseconds. - Weight::from_parts(6_097_000, 3997) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 15_209_000 picoseconds. + Weight::from_parts(15_699_000, 3983) .saturating_add(RocksDbWeight::get().reads(2_u64)) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// The range of component `c` is `[0, 1000]`. fn batch_all(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 3_983_000 picoseconds. - Weight::from_parts(4_075_000, 3997) - // Standard Error: 2_176 - .saturating_add(Weight::from_parts(5_127_263, 0).saturating_mul(c.into())) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 4_999_000 picoseconds. + Weight::from_parts(13_673_497, 3983) + // Standard Error: 2_579 + .saturating_add(Weight::from_parts(5_720_464, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) } fn dispatch_as() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_530_000 picoseconds. - Weight::from_parts(5_720_000, 0) + // Minimum execution time: 6_893_000 picoseconds. + Weight::from_parts(7_203_000, 0) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:1 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) /// The range of component `c` is `[0, 1000]`. fn force_batch(c: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `3997` - // Minimum execution time: 3_880_000 picoseconds. - Weight::from_parts(4_035_000, 3997) - // Standard Error: 1_682 - .saturating_add(Weight::from_parts(4_902_729, 0).saturating_mul(c.into())) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 5_099_000 picoseconds. + Weight::from_parts(14_137_292, 3983) + // Standard Error: 1_934 + .saturating_add(Weight::from_parts(5_498_784, 0).saturating_mul(c.into())) .saturating_add(RocksDbWeight::get().reads(2_u64)) } fn dispatch_as_fallible() -> Weight { // Proof Size summary in bytes: // Measured: `0` // Estimated: `0` - // Minimum execution time: 5_417_000 picoseconds. - Weight::from_parts(5_705_000, 0) + // Minimum execution time: 6_893_000 picoseconds. + Weight::from_parts(7_384_000, 0) } /// Storage: `SafeMode::EnteredUntil` (r:1 w:0) /// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `TxPause::PausedCalls` (r:2 w:0) - /// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`) + /// Storage: `SubtensorModule::ColdkeySwapAnnouncements` (r:1 w:0) + /// Proof: `SubtensorModule::ColdkeySwapAnnouncements` (`max_values`: None, `max_size`: None, mode: `Measured`) fn if_else() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `7004` - // Minimum execution time: 11_273_000 picoseconds. - Weight::from_parts(11_571_000, 7004) - .saturating_add(RocksDbWeight::get().reads(3_u64)) + // Measured: `518` + // Estimated: `3983` + // Minimum execution time: 21_440_000 picoseconds. + Weight::from_parts(22_021_000, 3983) + .saturating_add(RocksDbWeight::get().reads(2_u64)) } } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 2d7b2250d6..0c6a21acb6 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -327,6 +327,7 @@ runtime-benchmarks = [ "pallet-shield/runtime-benchmarks", "subtensor-runtime-common/runtime-benchmarks", + "subtensor-chain-extensions/runtime-benchmarks" ] try-runtime = [ "frame-try-runtime/try-runtime", diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 5dc47c65b0..2bf078a199 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -120,6 +120,7 @@ impl pallet_drand::Config for Runtime { type Verifier = pallet_drand::verifier::QuicknetVerifier; type UnsignedPriority = ConstU64<{ 1 << 20 }>; type HttpFetchTimeout = ConstU64<1_000>; + type WeightInfo = pallet_drand::weights::SubstrateWeight; } impl frame_system::offchain::SigningTypes for Runtime { @@ -149,6 +150,7 @@ impl pallet_shield::FindAuthors for FindAuraAuthors { impl pallet_shield::Config for Runtime { type AuthorityId = AuraId; type FindAuthors = FindAuraAuthors; + type WeightInfo = pallet_shield::weights::SubstrateWeight; } parameter_types! { @@ -268,7 +270,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: 395, + spec_version: 396, impl_version: 1, apis: RUNTIME_API_VERSIONS, transaction_version: 1, @@ -1197,6 +1199,7 @@ impl pallet_subtensor::Config for Runtime { type CommitmentsInterface = CommitmentsI; type EvmKeyAssociateRateLimit = EvmKeyAssociateRateLimit; type AuthorshipProvider = BlockAuthorFromAura; + type WeightInfo = pallet_subtensor::weights::SubstrateWeight; } parameter_types! { @@ -1218,7 +1221,23 @@ impl pallet_subtensor_swap::Config for Runtime { type MinimumLiquidity = SwapMinimumLiquidity; type MinimumReserve = SwapMinimumReserve; // TODO: set measured weights when the pallet been benchmarked and the type is generated - type WeightInfo = pallet_subtensor_swap::weights::DefaultWeight; + type WeightInfo = pallet_subtensor_swap::weights::SubstrateWeight; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = SwapBenchmarkHelper; +} + +#[cfg(feature = "runtime-benchmarks")] +pub struct SwapBenchmarkHelper; + +#[cfg(feature = "runtime-benchmarks")] +impl pallet_subtensor_swap::BenchmarkHelper for SwapBenchmarkHelper { + fn setup_subnet(netuid: subtensor_runtime_common::NetUid) { + pallet_subtensor::NetworksAdded::::insert(netuid, true); + pallet_subtensor::SubtokenEnabled::::insert(netuid, true); + } + fn register_hotkey(hotkey: &AccountId, coldkey: &AccountId) { + pallet_subtensor::Owner::::insert(hotkey, coldkey); + } } use crate::sudo_wrapper::SudoTransactionExtension; @@ -1249,6 +1268,7 @@ impl pallet_admin_utils::Config for Runtime { type Aura = AuraPalletIntrf; type Grandpa = GrandpaInterfaceImpl; type Balance = Balance; + type WeightInfo = pallet_admin_utils::weights::SubstrateWeight; } /// Define the ChainId @@ -1741,6 +1761,7 @@ mod benches { [pallet_subtensor_swap, Swap] [pallet_shield, MevShield] [pallet_subtensor_proxy, Proxy] + [pallet_subtensor_utility, Utility] ); } diff --git a/scripts/benchmark.sh b/scripts/benchmark.sh deleted file mode 100755 index 4a1c99a62c..0000000000 --- a/scripts/benchmark.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -set -e - -EXTRINSIC="${1:-register}" - -cargo build \ - --profile production \ - -p node-subtensor \ - --features runtime-benchmarks - -RUNTIME_WASM=./target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm - -./target/production/node-subtensor benchmark pallet \ - --runtime "$RUNTIME_WASM" \ - --genesis-builder=runtime \ - --genesis-builder-preset=benchmark \ - --wasm-execution=compiled \ - --pallet=pallet_subtensor \ - --extrinsic="$EXTRINSIC" \ - --steps 50 \ - --repeat 5 \ diff --git a/scripts/benchmark_action.sh b/scripts/benchmark_action.sh index 29bd7744d3..2497956a84 100755 --- a/scripts/benchmark_action.sh +++ b/scripts/benchmark_action.sh @@ -1,223 +1,95 @@ #!/usr/bin/env bash set -euo pipefail -PALLET_LIST=(subtensor admin_utils commitments drand shield) +# CI benchmark validation: generate weights, compare with threshold, prepare patch if drifted. +# Exit: 0 = ok, 1 = error, 2 = drift (patch in .bench_patch/) -declare -A DISPATCH_PATHS=( - [subtensor]="../pallets/subtensor/src/macros/dispatches.rs" - [admin_utils]="../pallets/admin-utils/src/lib.rs" - [commitments]="../pallets/commitments/src/lib.rs" - [drand]="../pallets/drand/src/lib.rs" - [shield]="../pallets/shield/src/lib.rs" - [swap]="../pallets/swap/src/pallet/mod.rs" -) +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" -THRESHOLD=40 -MAX_RETRIES=3 +NODE_BIN="$ROOT_DIR/target/production/node-subtensor" +RUNTIME_WASM="$ROOT_DIR/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm" +TEMPLATE="$ROOT_DIR/.maintain/frame-weight-template.hbs" +WEIGHT_CMP="$ROOT_DIR/target/production/weight-compare" -SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -RUNTIME_WASM="$SCRIPT_DIR/../target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm" +PATCH_DIR="$ROOT_DIR/.bench_patch" +THRESHOLD="${THRESHOLD:-40}" +STEPS="${STEPS:-50}" +REPEAT="${REPEAT:-20}" + +die() { echo "ERROR: $1" >&2; exit 1; } + +# ── Auto-discover pallets ──────────────────────────────────────────────────── +declare -A OUTPUTS +while read -r name path; do + OUTPUTS[$name]="$path" +done < <("$SCRIPT_DIR/discover_pallets.sh") + +(( ${#OUTPUTS[@]} > 0 )) || die "no benchmarked pallets found" -PATCH_DIR="$SCRIPT_DIR/../.bench_patch" mkdir -p "$PATCH_DIR" -die() { echo "❌ $1" >&2; exit 1; } -digits_only() { echo "${1//[^0-9]/}"; } -dec() { local d; d=$(digits_only "$1"); echo "$((10#${d:-0}))"; } -log_warn() { echo "⚠️ $*"; } - -# format 123456789 -> 123_456_789 -fmt_num() { - perl -pe '1 while s/(\d)(\d{3})(?!\d)/$1_$2/' <<<"$1" -} - -patch_weight() { - local before after; before=$(sha1sum "$3" | cut -d' ' -f1) - FN="$1" NEWV="$2" perl -0777 -i -pe ' - my $n=$ENV{NEWV}; my $hit=0; - $hit+=s|(pub\s+fn\s+\Q$ENV{FN}\E\s*[^{}]*?Weight::from_parts\(\s*)[0-9A-Za-z_]+|$1$n|s; - # attribute replacement allowing intermediate attributes (e.g., call_index) before pub fn - $hit+=s|(\#\s*\[pallet::weight[^\]]*?Weight::from_parts\(\s*)[0-9A-Za-z_]+(?=[^\]]*\](?:\s*#\[[^\]]*\])*\s*pub\s+fn\s+\Q$ENV{FN}\E\b)|$1$n|s; - END{exit $hit?0:1} - ' "$3" || log_warn "patch_weight: no substitution for $1" - after=$(sha1sum "$3" | cut -d' ' -f1); [[ "$before" != "$after" ]] -} - -patch_reads_writes() { - local before after; before=$(sha1sum "$4" | cut -d' ' -f1) - FN="$1" NEWR="$2" NEWW="$3" perl -0777 -i -pe ' - my ($newr,$neww)=($ENV{NEWR},$ENV{NEWW}); - sub u64 { $_[0] eq "" ? "" : $_[0]."_u64" } - my $h=0; - my $rw_sub=sub{ - my($pre,$r,$mid,$w,$post)=@_; - $r=~s/^\s+|\s+$//g; $w=~s/^\s+|\s+$//g; - my $R=$newr eq "" ? $r : u64($newr); - my $W=$neww eq "" ? $w : u64($neww); - return "$pre$R$mid$W$post"; - }; - # In-body: reads_writes(...) - $h+=s|(pub\s+fn\s+\Q$ENV{FN}\E\s*[^{}]*?reads_writes\(\s*)([^,]+)(\s*,\s*)([^)]+)|&$rw_sub($1,$2,$3,$4,"")|sge; - # In-body: .reads(...) and .writes(...) - $h+=s|(pub\s+fn\s+\Q$ENV{FN}\E\s*[^{}]*?\.reads\(\s*)([^)]+)|$1.($newr eq "" ? $2 : u64($newr))|sge; - $h+=s|(pub\s+fn\s+\Q$ENV{FN}\E\s*[^{}]*?\.writes\(\s*)([^)]+)|$1.($neww eq "" ? $2 : u64($neww))|sge; - - # Attribute: reads_writes(...), tolerate other attributes between ] and pub fn - $h+=s|(\#\s*\[pallet::weight[^\]]*?reads_writes\(\s*)([^,]+)(\s*,\s*)([^)]+)(?=[^\]]*\](?:\s*#\[[^\]]*\])*\s*pub\s+fn\s+\Q$ENV{FN}\E\b)|&$rw_sub($1,$2,$3,$4,"")|sge; - # Attribute: .reads(...) and .writes(...), tolerate other attributes between ] and pub fn - $h+=s|(\#\s*\[pallet::weight[^\]]*?\.reads\(\s*)([^)]+)(?=[^\]]*\](?:\s*#\[[^\]]*\])*\s*pub\s+fn\s+\Q$ENV{FN}\E\b)|$1.($newr eq "" ? $2 : u64($newr))|sge; - $h+=s|(\#\s*\[pallet::weight[^\]]*?\.writes\(\s*)([^)]+)(?=[^\]]*\](?:\s*#\[[^\]]*\])*\s*pub\s+fn\s+\Q$ENV{FN}\E\b)|$1.($neww eq "" ? $2 : u64($neww))|sge; - - END{exit $h?0:1} - ' "$4" || log_warn "patch_reads_writes: no substitution for $1" - after=$(sha1sum "$4" | cut -d' ' -f1); [[ "$before" != "$after" ]] -} - -write_patch_artifacts_and_fail() { - git add "${PATCHED_FILES[@]}" || true - - { - echo "Head SHA: $(git rev-parse HEAD)" - echo - echo "==== Benchmark summary ====" - printf '%s\n' "${GLOBAL_SUMMARY[@]}" || true - echo - echo "==== Diffstat ====" - git diff --cached --stat || true - } > "$PATCH_DIR/summary.txt" - - git diff --cached --binary > "$PATCH_DIR/benchmark_patch.diff" || true - - echo "📦 Prepared patch at: $PATCH_DIR/benchmark_patch.diff" - echo "ℹ️ Add the 'apply-benchmark-patch' label to this PR to have CI apply & commit it." - exit 2 -} - -write_summary_only_and_fail() { - { - echo "Head SHA: $(git rev-parse HEAD)" - echo - echo "==== Benchmark summary ====" - printf '%s\n' "${GLOBAL_SUMMARY[@]}" || true - echo - echo "No auto-patch was generated for the mismatched extrinsics." - echo "Manual update may be required." - } > "$PATCH_DIR/summary.txt" - - echo "⚠️ No patch could be auto-generated. See .bench_patch/summary.txt." - exit 2 -} - -echo "Building runtime-benchmarks…" -cargo build --profile production -p node-subtensor --features runtime-benchmarks - -echo -e "\n─────────────────────────────────────────────" -echo " Will benchmark pallets: ${PALLET_LIST[*]}" -echo "─────────────────────────────────────────────" - -PATCHED_FILES=() -GLOBAL_SUMMARY=() -ANY_FAILURE=0 - -################################################################################ -# Benchmark loop -################################################################################ -for pallet in "${PALLET_LIST[@]}"; do - DISPATCH="$SCRIPT_DIR/${DISPATCH_PATHS[$pallet]}" - [[ -f "$DISPATCH" ]] || die "dispatch file missing: $DISPATCH" - - attempt=1 - while (( attempt <= MAX_RETRIES )); do - printf "\n════ Benchmarking '%s' (attempt %d/%d) ════\n" "$pallet" "$attempt" "$MAX_RETRIES" - - TMP=$(mktemp); trap 'rm -f "$TMP"' EXIT - ./target/production/node-subtensor benchmark pallet \ - --runtime "$RUNTIME_WASM" --genesis-builder=runtime \ - --genesis-builder-preset=benchmark --wasm-execution=compiled \ - --pallet "pallet_${pallet}" --extrinsic "*" --steps 50 --repeat 5 \ - | tee "$TMP" - - declare -A new_weight new_reads new_writes - summary=(); failures=(); fail=0 - extr=""; meas_us=0; meas_r=0; meas_w=0 - - flush() { - [[ -z "$extr" ]] && return - local meas_ps; meas_ps=$(awk -v x="$meas_us" 'BEGIN{printf("%.0f", x*1000000)}') - - read -r code_w code_r code_wr < <(awk -v fn="$extr" ' - /^\s*#\[pallet::call_index/ { next } - /Weight::from_parts/ { lw=$0; sub(/.*Weight::from_parts\(/,"",lw); sub(/[^0-9_].*/,"",lw); w=lw } - /reads_writes\(/ { - lw=$0; sub(/.*reads_writes\(/,"",lw); sub(/\).*/,"",lw); - split(lw,io,","); - for(i in io){sub(/^[ \t]+/,"",io[i]); sub(/[ \t]+$/,"",io[i]); sub(/_u64.*/,"",io[i]); sub(/[^0-9_].*/,"",io[i])} - r=io[1]; wr=io[2] - } - /\.reads\(/ { lw=$0; sub(/.*\.reads\(/,"",lw); sub(/_u64.*/,"",lw); sub(/[^0-9_].*/,"",lw); r=lw } - /\.writes\(/ { lw=$0; sub(/.*\.writes\(/,"",lw); sub(/_u64.*/,"",lw); sub(/[^0-9_].*/,"",lw); wr=lw } - $0 ~ ("pub fn[[:space:]]+"fn"\\(") { print w,r,wr; exit } - ' "$DISPATCH") - - code_w=$(dec "${code_w:-0}") - code_r=$(dec "${code_r:-0}") - code_wr=$(dec "${code_wr:-0}") - - local drift; drift=$([[ "$code_w" -eq 0 ]] && echo 99999 || awk -v a="$meas_ps" -v b="$code_w" 'BEGIN{printf("%.1f", (a-b)/b*100)}') - local abs=${drift#-}; local dint=${abs%%.*} - - summary+=("$(printf "%-35s | reads %4s → %4s | writes %4s → %4s | weight %12s → %12s | drift %6s%%" \ - "$extr" "$code_r" "$meas_r" "$code_wr" "$meas_w" "$code_w" "$meas_ps" "$drift")") - - if (( meas_r != code_r )); then failures+=("[$extr] reads mismatch"); new_reads[$extr]=$meas_r; fail=1; fi - if (( meas_w != code_wr )); then failures+=("[$extr] writes mismatch"); new_writes[$extr]=$meas_w; fail=1; fi - if (( dint > THRESHOLD )); then failures+=("[$extr] weight drift ${drift}%"); new_weight[$extr]=$meas_ps; fail=1; fi - } - - while IFS= read -r line; do - [[ $line =~ Extrinsic:\ \"([_[:alnum:]]+)\" ]] && { flush; extr="${BASH_REMATCH[1]}"; continue; } - [[ $line =~ Time\ ~=\ *([0-9]+(\.[0-9]+)?) ]] && { meas_us="${BASH_REMATCH[1]}"; continue; } - [[ $line =~ Reads[[:space:]]*=[[:space:]]*([0-9]+) ]] && { meas_r="${BASH_REMATCH[1]}"; continue; } - [[ $line =~ Writes[[:space:]]*=[[:space:]]*([0-9]+) ]] && { meas_w="${BASH_REMATCH[1]}"; continue; } - done < "$TMP"; flush - - echo; printf ' %s\n' "${summary[@]}" - GLOBAL_SUMMARY+=("${summary[@]}") - - (( fail == 0 )) && { echo "✅ '$pallet' within tolerance."; break; } - - printf ' ❌ %s\n' "${failures[@]}" - (( attempt < MAX_RETRIES )) && { echo "→ Retrying …"; (( attempt++ )); continue; } - - echo "❌ '$pallet' still failing; patching (prepare-only) …" - ANY_FAILURE=1 - - changed=0 - for fn in $(printf "%s\n" "${!new_weight[@]}" "${!new_reads[@]}" "${!new_writes[@]}" | sort -u); do - if [[ -n "${new_weight[$fn]:-}" ]]; then - w_fmt=$(fmt_num "${new_weight[$fn]}") - patch_weight "$fn" "$w_fmt" "$DISPATCH" && changed=1 - fi - patch_reads_writes "$fn" "${new_reads[$fn]:-}" "${new_writes[$fn]:-}" "$DISPATCH" && changed=1 - done - - (( changed )) && { PATCHED_FILES+=("$DISPATCH"); echo "✅ Patched '$pallet' file."; } \ - || echo "⚠️ No modifications applied for '$pallet'." - break - done -done +# Build if needed +[[ -x "$NODE_BIN" ]] || cargo build --profile production -p node-subtensor --features runtime-benchmarks +[[ -x "$WEIGHT_CMP" ]] || cargo build --profile production -p subtensor-weight-tools --bin weight-compare +[[ -x "$NODE_BIN" ]] || die "node binary not found" +[[ -f "$RUNTIME_WASM" ]] || die "runtime WASM not found" +[[ -x "$WEIGHT_CMP" ]] || die "weight-compare not found" + +PATCHED=() +SUMMARY=() +FAILED=0 + +for pallet in "${!OUTPUTS[@]}"; do + output="${OUTPUTS[$pallet]}" + committed="$ROOT_DIR/$output" + tmp=$(mktemp) + + echo "" + echo "════ $pallet ════" + + if ! "$NODE_BIN" benchmark pallet \ + --runtime="$RUNTIME_WASM" \ + --genesis-builder=runtime \ + --genesis-builder-preset=benchmark \ + --wasm-execution=compiled \ + --pallet="$pallet" \ + --extrinsic="*" \ + --steps="$STEPS" \ + --repeat="$REPEAT" \ + --no-storage-info \ + --no-min-squares \ + --no-median-slopes \ + --output="$tmp" \ + --template="$TEMPLATE" 2>&1; then + SUMMARY+=("$pallet: FAILED"); FAILED=1; rm -f "$tmp"; continue + fi -################################################################################ -# Fail if any mismatch; upload artifacts in workflow step -################################################################################ -if (( ANY_FAILURE )); then - if (( ${#PATCHED_FILES[@]} )); then - write_patch_artifacts_and_fail + if [[ ! -f "$committed" ]]; then + cp "$tmp" "$committed"; PATCHED+=("$output"); SUMMARY+=("$pallet: NEW") else - write_summary_only_and_fail + rc=0; "$WEIGHT_CMP" --old "$committed" --new "$tmp" --threshold "$THRESHOLD" || rc=$? + if (( rc == 2 )); then + cp "$tmp" "$committed"; PATCHED+=("$output"); SUMMARY+=("$pallet: UPDATED") + elif (( rc == 0 )); then + SUMMARY+=("$pallet: OK") + else + SUMMARY+=("$pallet: COMPARE FAILED"); FAILED=1 + fi fi -fi + rm -f "$tmp" +done + +echo ""; printf '%s\n' "${SUMMARY[@]}" + +(( FAILED )) && { printf '%s\n' "${SUMMARY[@]}" > "$PATCH_DIR/summary.txt"; exit 1; } +(( ${#PATCHED[@]} == 0 )) && { echo "All weights within tolerance."; exit 0; } -echo -e "\n══════════════════════════════════════" -echo "All pallets processed ✔" -echo "══════════════════════════════════════" +# Prepare patch +cd "$ROOT_DIR" +git add "${PATCHED[@]}" +{ echo "Head SHA: $(git rev-parse HEAD)"; echo ""; printf '%s\n' "${SUMMARY[@]}"; echo ""; git diff --cached --stat; } > "$PATCH_DIR/summary.txt" +git diff --cached --binary > "$PATCH_DIR/benchmark_patch.diff" +git reset HEAD -- "${PATCHED[@]}" >/dev/null 2>&1 || true +echo "Patch ready at $PATCH_DIR/benchmark_patch.diff — add 'apply-benchmark-patch' label to apply." +exit 2 diff --git a/scripts/benchmark_all.sh b/scripts/benchmark_all.sh index 99bdb60338..6432c3d5a7 100755 --- a/scripts/benchmark_all.sh +++ b/scripts/benchmark_all.sh @@ -1,33 +1,84 @@ -#!/usr/bin/env bash -set -e - -pallets=( - "pallet_subtensor" - "pallet_commitments" - "pallet_drand" - "pallet_admin_utils" - "pallet_shield" -) - -RUNTIME_WASM=./target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm - -cargo build \ - --profile production \ - -p node-subtensor \ - --features runtime-benchmarks - -for pallet in "${pallets[@]}"; do - echo "--------------------------------------------------------" - echo " Benchmarking all extrinsics for $pallet..." - echo "--------------------------------------------------------" - - ./target/production/node-subtensor benchmark pallet \ - --runtime "$RUNTIME_WASM" \ +#!/usr/bin/env zsh +set -euo pipefail + +# Generate weights.rs files for all (or a single) pallet using the standard +# frame-benchmarking-cli --output / --template approach. +# +# Pallets are auto-discovered: any pallet with both benchmarking.rs and +# weights.rs is included. If a pallet is missing from define_benchmarks! +# in runtime/src/lib.rs, the benchmark CLI will error — no silent failures. +# +# Usage: +# ./scripts/benchmark_all.sh # build + generate all +# ./scripts/benchmark_all.sh pallet_subtensor # build + generate one pallet +# SKIP_BUILD=1 ./scripts/benchmark_all.sh # skip cargo build + +SCRIPT_DIR="$(cd "$(dirname "${0}")" && pwd)" +ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" + +RUNTIME_WASM="$ROOT_DIR/target/production/wbuild/node-subtensor-runtime/node_subtensor_runtime.compact.compressed.wasm" +NODE_BIN="$ROOT_DIR/target/production/node-subtensor" +TEMPLATE="$ROOT_DIR/.maintain/frame-weight-template.hbs" + +STEPS="${STEPS:-50}" +REPEAT="${REPEAT:-20}" + +die() { echo "ERROR: $1" >&2; exit 1; } + +# ── Auto-discover pallets ──────────────────────────────────────────────────── +typeset -A PALLET_OUTPUTS +while read -r name path; do + PALLET_OUTPUTS[$name]="$path" +done < <("$SCRIPT_DIR/discover_pallets.sh") + +(( ${#PALLET_OUTPUTS} > 0 )) || die "no benchmarked pallets found" + +# ── Build ──────────────────────────────────────────────────────────────────── +if [[ "${SKIP_BUILD:-0}" != "1" ]]; then + echo "Building node-subtensor with runtime-benchmarks..." + cargo build --profile production -p node-subtensor --features runtime-benchmarks +fi + +[[ -x "$NODE_BIN" ]] || die "node binary not found at $NODE_BIN" +[[ -f "$RUNTIME_WASM" ]] || die "runtime WASM not found at $RUNTIME_WASM" +[[ -f "$TEMPLATE" ]] || die "weight template not found at $TEMPLATE" + +# ── Determine which pallets to benchmark ───────────────────────────────────── +if [[ $# -gt 0 ]]; then + PALLETS=("$@") + for p in "${PALLETS[@]}"; do + [[ -n "${PALLET_OUTPUTS[$p]:-}" ]] || die "unknown pallet: $p (available: ${(k)PALLET_OUTPUTS})" + done +else + PALLETS=("${(k)PALLET_OUTPUTS[@]}") +fi + +# ── Benchmark loop ─────────────────────────────────────────────────────────── +for pallet in "${PALLETS[@]}"; do + output="${PALLET_OUTPUTS[$pallet]}" + + echo "" + echo "════════════════════════════════════════════════════════" + echo " Benchmarking $pallet -> $output" + echo "════════════════════════════════════════════════════════" + + "$NODE_BIN" benchmark pallet \ + --runtime="$RUNTIME_WASM" \ --genesis-builder=runtime \ --genesis-builder-preset=benchmark \ --wasm-execution=compiled \ - --pallet "$pallet" \ - --extrinsic "*" \ - --steps 50 \ - --repeat 5 -done \ No newline at end of file + --pallet="$pallet" \ + --extrinsic="*" \ + --steps="$STEPS" \ + --repeat="$REPEAT" \ + --no-storage-info \ + --no-min-squares \ + --no-median-slopes \ + --output="$ROOT_DIR/$output" \ + --template="$TEMPLATE" + + echo " -> wrote $output" +done + +echo "" +echo "All done." diff --git a/scripts/discover_pallets.sh b/scripts/discover_pallets.sh new file mode 100755 index 0000000000..0b37239380 --- /dev/null +++ b/scripts/discover_pallets.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Auto-discover benchmarked pallets. +# +# Finds all pallets under pallets/ that have both: +# - src/benchmarking.rs (or src/benchmarks.rs) +# - src/weights.rs +# +# Outputs one line per pallet: "pallet_name pallets//src/weights.rs" +# The pallet name is derived from the Cargo.toml `name` field with dashes -> underscores. + +ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)" + +for dir in "$ROOT_DIR"/pallets/*/; do + [ -f "$dir/src/weights.rs" ] || continue + [ -f "$dir/src/benchmarking.rs" ] || [ -f "$dir/src/benchmarks.rs" ] || continue + + name=$(grep '^name' "$dir/Cargo.toml" | head -1 | sed 's/.*= *"\(.*\)"/\1/' | tr '-' '_') + relpath="pallets/$(basename "$dir")/src/weights.rs" + echo "$name $relpath" +done diff --git a/scripts/fix_rust.sh b/scripts/fix_rust.sh index 811eb86bca..22221fe793 100755 --- a/scripts/fix_rust.sh +++ b/scripts/fix_rust.sh @@ -28,6 +28,10 @@ cargo fmt --all commit_if_changes "cargo fmt" if command -v zepter >/dev/null 2>&1; then - echo "zepter detected, running 'zepter run check'..." - zepter run check + echo "running 'zepter run default'..." + zepter run default + commit_if_changes "zepter run default" +else + echo "ERROR: zepter not found. Install with: cargo install zepter" >&2 + exit 1 fi \ No newline at end of file diff --git a/support/weight-tools/Cargo.toml b/support/weight-tools/Cargo.toml new file mode 100644 index 0000000000..9e68d2d205 --- /dev/null +++ b/support/weight-tools/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "subtensor-weight-tools" +version = "0.1.0" +edition.workspace = true +license = "MIT" + +description = "Lightweight tools for benchmark weight management" +repository = "https://github.com/opentensor/subtensor" +homepage = "https://bittensor.com" + +[[bin]] +name = "weight-compare" +path = "src/weight_compare.rs" + +[dependencies] +anyhow.workspace = true +clap = { workspace = true, features = ["derive"] } +syn = { workspace = true, features = ["full", "parsing"] } diff --git a/support/weight-tools/src/weight_compare.rs b/support/weight-tools/src/weight_compare.rs new file mode 100644 index 0000000000..56fdc4426d --- /dev/null +++ b/support/weight-tools/src/weight_compare.rs @@ -0,0 +1,320 @@ +//! Compare two weights.rs files and report drift. +//! +//! Parses both files with `syn`, extracts per-function weight data including +//! base values and per-component (parameterized) slopes, then compares with +//! a configurable percentage threshold. +//! +//! Exit codes: +//! 0 — all within threshold +//! 1 — error +//! 2 — drift exceeds threshold + +use anyhow::{Context, Result}; +use clap::Parser; +use std::collections::BTreeMap; +use std::fs; +use std::path::PathBuf; +use syn::{Expr, File, ImplItem, Item, Lit, ReturnType, Stmt}; + +#[derive(Parser)] +#[command(about = "Compare two weights.rs files and report drift")] +struct Cli { + #[arg(long)] + old: PathBuf, + #[arg(long)] + new: PathBuf, + #[arg(long, default_value = "40")] + threshold: f64, +} + +/// All weight data for a single function. +#[derive(Debug, Clone, Default)] +struct WeightValues { + base_weight: u64, + proof_size: u64, + base_reads: u64, + base_writes: u64, + /// Per-component slopes, ordered by appearance in the chain. + component_weights: Vec, + component_reads: Vec, + component_writes: Vec, + component_proof: Vec, +} + +fn main() -> Result<()> { + let cli = Cli::parse(); + + let old_weights = parse_file(&cli.old)?; + let new_weights = parse_file(&cli.new)?; + + let mut any_drift = false; + + for (name, nw) in &new_weights { + let ow = old_weights.get(name).cloned().unwrap_or_default(); + let mut reasons: Vec = Vec::new(); + + // Base weight: threshold-based + check_pct( + ow.base_weight, + nw.base_weight, + cli.threshold, + "base_weight", + &mut reasons, + ); + + // Base reads/writes: exact + if nw.base_reads != ow.base_reads { + reasons.push(format!("reads {} -> {}", ow.base_reads, nw.base_reads)); + } + if nw.base_writes != ow.base_writes { + reasons.push(format!("writes {} -> {}", ow.base_writes, nw.base_writes)); + } + + // Component slopes: threshold-based for weights, exact for reads/writes + check_vec_pct( + &ow.component_weights, + &nw.component_weights, + cli.threshold, + "comp_weight", + &mut reasons, + ); + check_vec_exact( + &ow.component_reads, + &nw.component_reads, + "comp_reads", + &mut reasons, + ); + check_vec_exact( + &ow.component_writes, + &nw.component_writes, + "comp_writes", + &mut reasons, + ); + + let drifted = !reasons.is_empty(); + if drifted { + any_drift = true; + } + + let pct = if ow.base_weight > 0 { + (nw.base_weight as f64 - ow.base_weight as f64) / ow.base_weight as f64 * 100.0 + } else if nw.base_weight > 0 { + 100.0 + } else { + 0.0 + }; + + let icon = if drifted { "\u{274c}" } else { "\u{2705}" }; + + println!( + " {} {:<40} {:>12} -> {:<12} ({:>+.1}%) reads {:>4} -> {:<4} writes {:>4} -> {:<4}", + icon, + name, + ow.base_weight, + nw.base_weight, + pct, + ow.base_reads, + nw.base_reads, + ow.base_writes, + nw.base_writes, + ); + } + + for name in old_weights.keys() { + if !new_weights.contains_key(name) { + println!(" \u{274c} {:<40} REMOVED", name); + any_drift = true; + } + } + + if any_drift { + std::process::exit(2); + } + + Ok(()) +} + +fn check_pct(old: u64, new: u64, threshold: f64, label: &str, reasons: &mut Vec) { + let drift = if old > 0 { + ((new as f64 - old as f64) / old as f64 * 100.0).abs() + } else if new > 0 { + 100.0 + } else { + return; + }; + if drift > threshold { + reasons.push(format!("{label} {drift:.1}%")); + } +} + +fn check_vec_pct(old: &[u64], new: &[u64], threshold: f64, label: &str, reasons: &mut Vec) { + if old.len() != new.len() { + reasons.push(format!("{label} count {} -> {}", old.len(), new.len())); + return; + } + for (i, (o, n)) in old.iter().zip(new.iter()).enumerate() { + check_pct(*o, *n, threshold, &format!("{label}[{i}]"), reasons); + } +} + +fn check_vec_exact(old: &[u64], new: &[u64], label: &str, reasons: &mut Vec) { + if old != new { + reasons.push(format!("{label} {:?} -> {:?}", old, new)); + } +} + +// ── Parsing ───────────────────────────────────────────────────────────────── + +fn parse_file(path: &PathBuf) -> Result> { + let src = fs::read_to_string(path).with_context(|| format!("reading {}", path.display()))?; + let file: File = syn::parse_str(&src).with_context(|| format!("parsing {}", path.display()))?; + let mut result = BTreeMap::new(); + + for item in &file.items { + let Item::Impl(impl_block) = item else { + continue; + }; + if !is_substrate_weight_impl(impl_block) { + continue; + } + for impl_item in &impl_block.items { + let ImplItem::Fn(method) = impl_item else { + continue; + }; + if !matches!(&method.sig.output, ReturnType::Type(..)) { + continue; + } + let mut wv = WeightValues::default(); + for stmt in &method.block.stmts { + if let Stmt::Expr(expr, _) = stmt { + walk(expr, &mut wv, false); + } + } + result.insert(method.sig.ident.to_string(), wv); + } + break; + } + + Ok(result) +} + +fn is_substrate_weight_impl(impl_block: &syn::ItemImpl) -> bool { + let self_ty = match impl_block.self_ty.as_ref() { + syn::Type::Path(tp) => tp + .path + .segments + .iter() + .map(|s| s.ident.to_string()) + .collect::(), + _ => return false, + }; + if !self_ty.contains("SubstrateWeight") { + return false; + } + impl_block + .trait_ + .as_ref() + .and_then(|(_, path, _)| path.segments.last()) + .map(|s| s.ident == "WeightInfo") + .unwrap_or(false) +} + +/// Walk a method-call chain. `in_mul` tracks whether we're inside `.saturating_mul()`, +/// which means values are per-component slopes rather than base values. +fn walk(expr: &Expr, wv: &mut WeightValues, in_mul: bool) { + match expr { + Expr::Call(call) => { + if is_from_parts(&call.func) && call.args.len() >= 2 { + let v = expr_to_u64(&call.args[0]).unwrap_or(0); + let p = expr_to_u64(&call.args[1]).unwrap_or(0); + if in_mul { + if v > 0 { + wv.component_weights.push(v); + } + if p > 0 { + wv.component_proof.push(p); + } + } else { + wv.base_weight = v; + wv.proof_size = p; + } + } + } + Expr::MethodCall(mc) => { + match mc.method.to_string().as_str() { + "saturating_add" => { + walk(&mc.receiver, wv, in_mul); + if let Some(arg) = mc.args.first() { + walk(arg, wv, in_mul); + } + } + "saturating_mul" => { + // Receiver is the component slope value + walk(&mc.receiver, wv, true); + } + "reads" => { + extract_rw( + mc.args.first(), + in_mul, + &mut wv.base_reads, + &mut wv.component_reads, + ); + walk(&mc.receiver, wv, in_mul); + } + "writes" => { + extract_rw( + mc.args.first(), + in_mul, + &mut wv.base_writes, + &mut wv.component_writes, + ); + walk(&mc.receiver, wv, in_mul); + } + _ => walk(&mc.receiver, wv, in_mul), + } + } + Expr::Paren(p) => walk(&p.expr, wv, in_mul), + _ => {} + } +} + +/// Extract a reads/writes value from the argument to `.reads()` / `.writes()`. +/// Handles both plain literals and `(N_u64).saturating_mul(k.into())` patterns. +fn extract_rw(arg: Option<&Expr>, in_mul: bool, base: &mut u64, components: &mut Vec) { + let Some(arg) = arg else { return }; + + // Direct literal: .reads(2_u64) + if let Some(n) = expr_to_u64(arg) { + if in_mul { + components.push(n); + } else { + *base += n; + } + return; + } + + // Component pattern: .reads((2_u64).saturating_mul(k.into())) + if let Expr::MethodCall(inner_mc) = arg + && inner_mc.method == "saturating_mul" + && let Some(n) = expr_to_u64(&inner_mc.receiver) + { + components.push(n); + } +} + +fn is_from_parts(func: &Expr) -> bool { + matches!(func, Expr::Path(p) if p.path.segments.last().map(|s| s.ident == "from_parts").unwrap_or(false)) +} + +fn expr_to_u64(expr: &Expr) -> Option { + match expr { + Expr::Lit(lit) => match &lit.lit { + Lit::Int(i) => i.base10_parse::().ok(), + _ => None, + }, + Expr::Cast(c) => expr_to_u64(&c.expr), + Expr::MethodCall(mc) if mc.method == "into" => expr_to_u64(&mc.receiver), + Expr::Paren(p) => expr_to_u64(&p.expr), + _ => None, + } +} diff --git a/ts-tests/utils/coldkey_swap.ts b/ts-tests/utils/coldkey_swap.ts index 548e63e748..003c3c9eba 100644 --- a/ts-tests/utils/coldkey_swap.ts +++ b/ts-tests/utils/coldkey_swap.ts @@ -6,8 +6,8 @@ import type { TypedApi } from "polkadot-api"; import type { subtensor } from "@polkadot-api/descriptors"; import { FixedSizeBinary } from "polkadot-api"; -export const ANNOUNCEMENT_DELAY = 10; -export const REANNOUNCEMENT_DELAY = 10; +export const ANNOUNCEMENT_DELAY = 20; +export const REANNOUNCEMENT_DELAY = 20; /** Compute BLAKE2-256 hash of a keypair's public key as a FixedSizeBinary (used for announcements). */ export function coldkeyHashBinary(pair: KeyringPair): FixedSizeBinary<32> {