diff --git a/docs/errors/chain/GrandpaChangeDelayMustBeZero.mdx b/docs/errors/chain/GrandpaChangeDelayMustBeZero.mdx new file mode 100644 index 0000000000..e7efe95fd2 --- /dev/null +++ b/docs/errors/chain/GrandpaChangeDelayMustBeZero.mdx @@ -0,0 +1,18 @@ +--- +title: "GrandpaChangeDelayMustBeZero" +description: "Check the argument values against the operation schema" +--- + +{/* GENERATED by scripts/generate.py from the SDK registries — do not edit. */} + +`schedule_grandpa_change` was given a nonzero `in_blocks` delay. GRANDPA authority changes submitted through AdminUtils must activate at the end of the current block so the authority set and its set ID remain consistent. Pass `in_blocks=0`. + +Declared by the `AdminUtils` pallet; it classifies to the semantic code [`invalid_argument`](/docs/errors/invalid-argument). + +Declared at [`pallets/admin-utils/src/lib.rs#L182`](/code/pallets/admin-utils/src/lib.rs#L182). + +## Remediation + +Check the argument values against the operation schema + +The same explanation is available in the terminal: `btcli explain GrandpaChangeDelayMustBeZero`. diff --git a/docs/errors/chain/index.mdx b/docs/errors/chain/index.mdx index d8830df225..eb3a48c915 100644 --- a/docs/errors/chain/index.mdx +++ b/docs/errors/chain/index.mdx @@ -122,6 +122,7 @@ The exact chain error name (from the extrinsic receipt) maps to a semantic [code | [`GasLimitTooHigh`](/docs/errors/chain/GasLimitTooHigh) | [`invalid_argument`](/docs/errors/invalid-argument) | The transaction's `gas_limit` exceeds the block gas limit configured for the EVM. Compare the `gas_limit` argument against the chain's block gas limit and lower it. | | [`GasLimitTooLow`](/docs/errors/chain/GasLimitTooLow) | [`invalid_argument`](/docs/errors/invalid-argument) | The transaction's `gas_limit` is below the intrinsic gas required, or too small to cover the weight and proof-size base cost. Raise the `gas_limit` argument, comparing against an `eth_estimateGas` result. | | [`GasPriceTooLow`](/docs/errors/chain/GasPriceTooLow) | [`invalid_argument`](/docs/errors/invalid-argument) | The offered fee cannot satisfy the current base fee: `max_fee_per_gas` is below the block base fee, the priority fee exceeds the max fee, or the fee inputs are inconsistent. Check `max_fee_per_gas` and `max_priority_fee_per_gas` against the chain's base fee. | +| [`GrandpaChangeDelayMustBeZero`](/docs/errors/chain/GrandpaChangeDelayMustBeZero) | [`invalid_argument`](/docs/errors/invalid-argument) | `schedule_grandpa_change` was given a nonzero `in_blocks` delay. GRANDPA authority changes submitted through AdminUtils must activate at the end of the current block so the authority set and its set ID remain consistent. Pass `in_blocks=0`. | | [`HotKeyAccountNotExists`](/docs/errors/chain/HotKeyAccountNotExists) | [`not_registered`](/docs/errors/not-registered) | The hotkey has no on-chain account, meaning it was never created through registration, so staking or delegation operations cannot reference it. Check the `Owner` storage for the hotkey or `btcli wallet overview`; register the hotkey on a subnet first. | | [`HotKeyAlreadyDelegate`](/docs/errors/chain/HotKeyAlreadyDelegate) | [`already_exists`](/docs/errors/already-exists) | `become_delegate` was called for a hotkey that is already a delegate. Check the `Delegates` storage for the hotkey; if it has a take entry it is already delegating and no action is needed. | | [`HotKeyAlreadyRegisteredInSubNet`](/docs/errors/chain/HotKeyAlreadyRegisteredInSubNet) | [`already_exists`](/docs/errors/already-exists) | A registration or hotkey swap targeted a hotkey that already holds a UID on the subnet (or, for a swap without a netuid, on any subnet). Check the `Uids` storage for the (netuid, hotkey) pair or `btcli wallet overview`; use a different hotkey or netuid. | diff --git a/docs/errors/chain/meta.json b/docs/errors/chain/meta.json index a2d6da890d..e0bb91ffd8 100644 --- a/docs/errors/chain/meta.json +++ b/docs/errors/chain/meta.json @@ -115,6 +115,7 @@ "GasLimitTooHigh", "GasLimitTooLow", "GasPriceTooLow", + "GrandpaChangeDelayMustBeZero", "HotKeyAccountNotExists", "HotKeyAlreadyDelegate", "HotKeyAlreadyRegisteredInSubNet", diff --git a/docs/errors/index.mdx b/docs/errors/index.mdx index 08a2a9712a..a79eca2416 100644 --- a/docs/errors/index.mdx +++ b/docs/errors/index.mdx @@ -23,7 +23,7 @@ A failed `execute` returns an `ExtrinsicResult` whose `error` has a semantic `co | [`expired`](/docs/errors/expired) | 5 | The window has closed; restart the flow with fresh state | | [`limit_exceeded`](/docs/errors/limit-exceeded) | 37 | A chain-side capacity limit was hit; reduce the size or count of the request | | [`unit_mismatch`](/docs/errors/unit-mismatch) | — | Match the Balance netuid to the operation's currency | -| [`invalid_argument`](/docs/errors/invalid-argument) | 134 | Check the argument values against the operation schema | +| [`invalid_argument`](/docs/errors/invalid-argument) | 135 | Check the argument values against the operation schema | | [`policy_violation`](/docs/errors/policy-violation) | 2 | The action exceeds a configured safety policy | | [`internal`](/docs/errors/internal) | 19 | A chain-side invariant failed; nothing to fix client-side — report it if it persists | | [`unknown`](/docs/errors/unknown) | — | Inspect the message for details | diff --git a/docs/errors/invalid-argument.mdx b/docs/errors/invalid-argument.mdx index d45fae369c..c49637e6bf 100644 --- a/docs/errors/invalid-argument.mdx +++ b/docs/errors/invalid-argument.mdx @@ -54,6 +54,7 @@ The exact chain error names (from the extrinsic receipt) that classify to `inval | [`GasLimitTooHigh`](/docs/errors/chain/GasLimitTooHigh) | The transaction's `gas_limit` exceeds the block gas limit configured for the EVM. Compare the `gas_limit` argument against the chain's block gas limit and lower it. | | [`GasLimitTooLow`](/docs/errors/chain/GasLimitTooLow) | The transaction's `gas_limit` is below the intrinsic gas required, or too small to cover the weight and proof-size base cost. Raise the `gas_limit` argument, comparing against an `eth_estimateGas` result. | | [`GasPriceTooLow`](/docs/errors/chain/GasPriceTooLow) | The offered fee cannot satisfy the current base fee: `max_fee_per_gas` is below the block base fee, the priority fee exceeds the max fee, or the fee inputs are inconsistent. Check `max_fee_per_gas` and `max_priority_fee_per_gas` against the chain's base fee. | +| [`GrandpaChangeDelayMustBeZero`](/docs/errors/chain/GrandpaChangeDelayMustBeZero) | `schedule_grandpa_change` was given a nonzero `in_blocks` delay. GRANDPA authority changes submitted through AdminUtils must activate at the end of the current block so the authority set and its set ID remain consistent. Pass `in_blocks=0`. | | [`IncorrectCommitRevealVersion`](/docs/errors/chain/IncorrectCommitRevealVersion) | The `commit_reveal_version` argument does not match the chain's current commit-reveal weights version. Query the `CommitRevealWeightsVersion` storage item and upgrade or configure the client to commit with that version. | | [`IncorrectPartialFillAmount`](/docs/errors/chain/IncorrectPartialFillAmount) | The `partial_fill` amount is zero or exceeds the order's remaining unfilled amount, or a full execution was submitted against an order already partially filled. Compare `partial_fill` with `order.amount` minus the filled amount recorded in `Orders`. | | [`IncorrectWeightVersionKey`](/docs/errors/chain/IncorrectWeightVersionKey) | The `version_key` supplied with set_weights is older than the subnet's required weights version. Compare it against the `WeightsVersionKey` hyperparameter (`btcli sudo get --netuid `) and update the validator software or the key. | diff --git a/docs/hyperparameters/index.mdx b/docs/hyperparameters/index.mdx index 17b9a87cd5..ca8ee11ccf 100644 --- a/docs/hyperparameters/index.mdx +++ b/docs/hyperparameters/index.mdx @@ -9,50 +9,50 @@ Read them with `btcli sudo get --netuid N` (the [`subnet_hyperparameters`](/docs | Hyperparameter | Unit | Owner-settable | What it controls | Source | | --- | --- | --- | --- | --- | -| [`rho`](/docs/hyperparameters/rho) | integer | yes | trust curve steepness | [`Rho`](/code/pallets/subtensor/src/lib.rs#L2194) | -| [`kappa`](/docs/hyperparameters/kappa) | fraction (u16, 65535 = 1.0) | root only | consensus majority-stake threshold | [`Kappa`](/code/pallets/subtensor/src/lib.rs#L2203) | -| [`immunity_period`](/docs/hyperparameters/immunity-period) | blocks (12s) | yes | prune-immunity window for new neurons | [`ImmunityPeriod`](/code/pallets/subtensor/src/lib.rs#L2232) | -| [`min_allowed_weights`](/docs/hyperparameters/min-allowed-weights) | integer | yes | minimum weights per submission | [`MinAllowedWeights`](/code/pallets/subtensor/src/lib.rs#L2258) | -| [`max_weights_limit`](/docs/hyperparameters/max-weights-limit) | fraction (u16, 65535 = 1.0) | root only | cap on a single miner's weight | [`MaxWeightsLimit`](/code/pallets/subtensor/src/lib.rs#L2248) | -| [`tempo`](/docs/hyperparameters/tempo) | blocks (12s) | yes | blocks per consensus epoch | [`Tempo`](/code/pallets/subtensor/src/lib.rs#L2022) | -| [`min_difficulty`](/docs/hyperparameters/min-difficulty) | PoW difficulty (u64) | root only | PoW registration difficulty floor | [`MinDifficulty`](/code/pallets/subtensor/src/lib.rs#L2336) | -| [`max_difficulty`](/docs/hyperparameters/max-difficulty) | PoW difficulty (u64) | yes | PoW registration difficulty ceiling | [`MaxDifficulty`](/code/pallets/subtensor/src/lib.rs#L2341) | -| [`difficulty`](/docs/hyperparameters/difficulty) | PoW difficulty (u64) | root only | current PoW registration difficulty | [`Difficulty`](/code/pallets/subtensor/src/lib.rs#L2322) | -| [`weights_version`](/docs/hyperparameters/weights-version) | integer | yes | minimum version key for set_weights | [`WeightsVersionKey`](/code/pallets/subtensor/src/lib.rs#L2253) | -| [`weights_rate_limit`](/docs/hyperparameters/weights-rate-limit) | blocks (12s) | root only | wait between weight submissions | [`WeightsSetRateLimit`](/code/pallets/subtensor/src/lib.rs#L2288) | -| [`adjustment_interval`](/docs/hyperparameters/adjustment-interval) | blocks (12s) | root only | difficulty/burn adjustment cadence | [`AdjustmentInterval`](/code/pallets/subtensor/src/lib.rs#L2268) | -| [`activity_cutoff`](/docs/hyperparameters/activity-cutoff) | blocks (12s) | root only | no-weights window before inactive | [`ActivityCutoff`](/code/pallets/subtensor/src/lib.rs#L2238) | -| [`activity_cutoff_factor`](/docs/hyperparameters/activity-cutoff-factor) | integer | yes | activity cutoff, per-mille of tempo | [`ActivityCutoffFactorMilli`](/code/pallets/subtensor/src/lib.rs#L2065) | -| [`registration_allowed`](/docs/hyperparameters/registration-allowed) | flag | root only | new neuron registrations allowed | [`NetworkRegistrationAllowed`](/code/pallets/subtensor/src/lib.rs#L2103) | -| [`network_pow_registration_allowed`](/docs/hyperparameters/network-pow-registration-allowed) | flag | yes | PoW registration toggle | [`NetworkPowRegistrationAllowed`](/code/pallets/subtensor/src/lib.rs#L2108) | -| [`target_regs_per_interval`](/docs/hyperparameters/target-regs-per-interval) | integer | root only | registration-rate controller target | [`TargetRegistrationsPerInterval`](/code/pallets/subtensor/src/lib.rs#L2303) | -| [`min_burn`](/docs/hyperparameters/min-burn) | TAO amount in rao | yes | burned-registration cost floor | [`MinBurn`](/code/pallets/subtensor/src/lib.rs#L2326) | -| [`max_burn`](/docs/hyperparameters/max-burn) | TAO amount in rao | yes | burned-registration cost ceiling | [`MaxBurn`](/code/pallets/subtensor/src/lib.rs#L2331) | -| [`bonds_moving_avg`](/docs/hyperparameters/bonds-moving-avg) | fraction (1,000,000 = 1.0) | yes | bonds EMA smoothing factor | [`BondsMovingAverage`](/code/pallets/subtensor/src/lib.rs#L2273) | -| [`max_regs_per_block`](/docs/hyperparameters/max-regs-per-block) | integer | root only | per-block registration cap | [`MaxRegistrationsPerBlock`](/code/pallets/subtensor/src/lib.rs#L1938) | -| [`serving_rate_limit`](/docs/hyperparameters/serving-rate-limit) | blocks (12s) | yes | cooldown between axon serve calls | [`ServingRateLimit`](/code/pallets/subtensor/src/lib.rs#L2189) | -| [`max_validators`](/docs/hyperparameters/max-validators) | integer | root only | top-stake validator permit cap | [`MaxAllowedValidators`](/code/pallets/subtensor/src/lib.rs#L2263) | -| [`adjustment_alpha`](/docs/hyperparameters/adjustment-alpha) | fraction (u64, u64::MAX = 1.0) | yes | difficulty/burn adjust smoothing | [`AdjustmentAlpha`](/code/pallets/subtensor/src/lib.rs#L2308) | -| [`commit_reveal_period`](/docs/hyperparameters/commit-reveal-period) | epochs (tempos) | yes | weight commit-to-reveal delay | [`RevealPeriodEpochs`](/code/pallets/subtensor/src/lib.rs#L2756) | -| [`commit_reveal_weights_enabled`](/docs/hyperparameters/commit-reveal-weights-enabled) | flag | yes | commit-reveal weights toggle | [`CommitRevealWeightsEnabled`](/code/pallets/subtensor/src/lib.rs#L2313) | +| [`rho`](/docs/hyperparameters/rho) | integer | yes | trust curve steepness | [`Rho`](/code/pallets/subtensor/src/lib.rs#L2230) | +| [`kappa`](/docs/hyperparameters/kappa) | fraction (u16, 65535 = 1.0) | root only | consensus majority-stake threshold | [`Kappa`](/code/pallets/subtensor/src/lib.rs#L2239) | +| [`immunity_period`](/docs/hyperparameters/immunity-period) | blocks (12s) | yes | prune-immunity window for new neurons | [`ImmunityPeriod`](/code/pallets/subtensor/src/lib.rs#L2268) | +| [`min_allowed_weights`](/docs/hyperparameters/min-allowed-weights) | integer | yes | minimum weights per submission | [`MinAllowedWeights`](/code/pallets/subtensor/src/lib.rs#L2294) | +| [`max_weights_limit`](/docs/hyperparameters/max-weights-limit) | fraction (u16, 65535 = 1.0) | root only | cap on a single miner's weight | [`MaxWeightsLimit`](/code/pallets/subtensor/src/lib.rs#L2284) | +| [`tempo`](/docs/hyperparameters/tempo) | blocks (12s) | yes | blocks per consensus epoch | [`Tempo`](/code/pallets/subtensor/src/lib.rs#L2058) | +| [`min_difficulty`](/docs/hyperparameters/min-difficulty) | PoW difficulty (u64) | root only | PoW registration difficulty floor | [`MinDifficulty`](/code/pallets/subtensor/src/lib.rs#L2372) | +| [`max_difficulty`](/docs/hyperparameters/max-difficulty) | PoW difficulty (u64) | yes | PoW registration difficulty ceiling | [`MaxDifficulty`](/code/pallets/subtensor/src/lib.rs#L2377) | +| [`difficulty`](/docs/hyperparameters/difficulty) | PoW difficulty (u64) | root only | current PoW registration difficulty | [`Difficulty`](/code/pallets/subtensor/src/lib.rs#L2358) | +| [`weights_version`](/docs/hyperparameters/weights-version) | integer | yes | minimum version key for set_weights | [`WeightsVersionKey`](/code/pallets/subtensor/src/lib.rs#L2289) | +| [`weights_rate_limit`](/docs/hyperparameters/weights-rate-limit) | blocks (12s) | root only | wait between weight submissions | [`WeightsSetRateLimit`](/code/pallets/subtensor/src/lib.rs#L2324) | +| [`adjustment_interval`](/docs/hyperparameters/adjustment-interval) | blocks (12s) | root only | difficulty/burn adjustment cadence | [`AdjustmentInterval`](/code/pallets/subtensor/src/lib.rs#L2304) | +| [`activity_cutoff`](/docs/hyperparameters/activity-cutoff) | blocks (12s) | root only | no-weights window before inactive | [`ActivityCutoff`](/code/pallets/subtensor/src/lib.rs#L2274) | +| [`activity_cutoff_factor`](/docs/hyperparameters/activity-cutoff-factor) | integer | yes | activity cutoff, per-mille of tempo | [`ActivityCutoffFactorMilli`](/code/pallets/subtensor/src/lib.rs#L2101) | +| [`registration_allowed`](/docs/hyperparameters/registration-allowed) | flag | root only | new neuron registrations allowed | [`NetworkRegistrationAllowed`](/code/pallets/subtensor/src/lib.rs#L2139) | +| [`network_pow_registration_allowed`](/docs/hyperparameters/network-pow-registration-allowed) | flag | yes | PoW registration toggle | [`NetworkPowRegistrationAllowed`](/code/pallets/subtensor/src/lib.rs#L2144) | +| [`target_regs_per_interval`](/docs/hyperparameters/target-regs-per-interval) | integer | root only | registration-rate controller target | [`TargetRegistrationsPerInterval`](/code/pallets/subtensor/src/lib.rs#L2339) | +| [`min_burn`](/docs/hyperparameters/min-burn) | TAO amount in rao | yes | burned-registration cost floor | [`MinBurn`](/code/pallets/subtensor/src/lib.rs#L2362) | +| [`max_burn`](/docs/hyperparameters/max-burn) | TAO amount in rao | yes | burned-registration cost ceiling | [`MaxBurn`](/code/pallets/subtensor/src/lib.rs#L2367) | +| [`bonds_moving_avg`](/docs/hyperparameters/bonds-moving-avg) | fraction (1,000,000 = 1.0) | yes | bonds EMA smoothing factor | [`BondsMovingAverage`](/code/pallets/subtensor/src/lib.rs#L2309) | +| [`max_regs_per_block`](/docs/hyperparameters/max-regs-per-block) | integer | root only | per-block registration cap | [`MaxRegistrationsPerBlock`](/code/pallets/subtensor/src/lib.rs#L1974) | +| [`serving_rate_limit`](/docs/hyperparameters/serving-rate-limit) | blocks (12s) | yes | cooldown between axon serve calls | [`ServingRateLimit`](/code/pallets/subtensor/src/lib.rs#L2225) | +| [`max_validators`](/docs/hyperparameters/max-validators) | integer | root only | top-stake validator permit cap | [`MaxAllowedValidators`](/code/pallets/subtensor/src/lib.rs#L2299) | +| [`adjustment_alpha`](/docs/hyperparameters/adjustment-alpha) | fraction (u64, u64::MAX = 1.0) | yes | difficulty/burn adjust smoothing | [`AdjustmentAlpha`](/code/pallets/subtensor/src/lib.rs#L2344) | +| [`commit_reveal_period`](/docs/hyperparameters/commit-reveal-period) | epochs (tempos) | yes | weight commit-to-reveal delay | [`RevealPeriodEpochs`](/code/pallets/subtensor/src/lib.rs#L2802) | +| [`commit_reveal_weights_enabled`](/docs/hyperparameters/commit-reveal-weights-enabled) | flag | yes | commit-reveal weights toggle | [`CommitRevealWeightsEnabled`](/code/pallets/subtensor/src/lib.rs#L2349) | | [`alpha_high`](/docs/hyperparameters/alpha-high) | fraction (u16, 65535 = 1.0) | yes | liquid-alpha smoothing upper bound | — | | [`alpha_low`](/docs/hyperparameters/alpha-low) | fraction (u16, 65535 = 1.0) | yes | liquid-alpha smoothing lower bound | — | -| [`liquid_alpha_enabled`](/docs/hyperparameters/liquid-alpha-enabled) | flag | yes | per-weight bonds EMA (liquid alpha) | [`LiquidAlphaOn`](/code/pallets/subtensor/src/lib.rs#L2390) | -| [`bonds_penalty`](/docs/hyperparameters/bonds-penalty) | fraction (u16, 65535 = 1.0) | yes | penalty on out-of-consensus bonds | [`BondsPenalty`](/code/pallets/subtensor/src/lib.rs#L2278) | -| [`alpha_sigmoid_steepness`](/docs/hyperparameters/alpha-sigmoid-steepness) | integer | yes | liquid-alpha sigmoid steepness | [`AlphaSigmoidSteepness`](/code/pallets/subtensor/src/lib.rs#L2198) | -| [`min_childkey_take`](/docs/hyperparameters/min-childkey-take) | fraction (u16, 65535 = 1.0) | yes | floor for childkey take | [`MinChildkeyTakePerSubnet`](/code/pallets/subtensor/src/lib.rs#L1320) | -| [`owner_immune_neuron_limit`](/docs/hyperparameters/owner-immune-neuron-limit) | integer | yes | owner-designated prune-immune UIDs | [`ImmuneOwnerUidsLimit`](/code/pallets/subtensor/src/lib.rs#L2495) | -| [`max_allowed_uids`](/docs/hyperparameters/max-allowed-uids) | integer | yes | neuron slot capacity before pruning | [`MaxAllowedUids`](/code/pallets/subtensor/src/lib.rs#L2227) | -| [`burn_increase_mult`](/docs/hyperparameters/burn-increase-mult) | multiplier (U64F64 bits / 2^64) | yes | burn cost bump per registration | [`BurnIncreaseMult`](/code/pallets/subtensor/src/lib.rs#L3017) | -| [`burn_half_life`](/docs/hyperparameters/burn-half-life) | blocks (12s) | yes | burn cost decay half-life | [`BurnHalfLife`](/code/pallets/subtensor/src/lib.rs#L3012) | -| [`collateral_lock_share`](/docs/hyperparameters/collateral-lock-share) | fraction (u16, 65535 = 1.0) | yes | registration price share locked | [`CollateralLockShare`](/code/pallets/subtensor/src/lib.rs#L3026) | -| [`collateral_drain_ratio`](/docs/hyperparameters/collateral-drain-ratio) | multiplier (U64F64 bits / 2^64) | yes | collateral released per α earned | [`CollateralDrainRatio`](/code/pallets/subtensor/src/lib.rs#L3035) | -| [`yuma3_enabled`](/docs/hyperparameters/yuma3-enabled) | flag | yes | yuma3 consensus variant toggle | [`Yuma3On`](/code/pallets/subtensor/src/lib.rs#L2395) | +| [`liquid_alpha_enabled`](/docs/hyperparameters/liquid-alpha-enabled) | flag | yes | per-weight bonds EMA (liquid alpha) | [`LiquidAlphaOn`](/code/pallets/subtensor/src/lib.rs#L2426) | +| [`bonds_penalty`](/docs/hyperparameters/bonds-penalty) | fraction (u16, 65535 = 1.0) | yes | penalty on out-of-consensus bonds | [`BondsPenalty`](/code/pallets/subtensor/src/lib.rs#L2314) | +| [`alpha_sigmoid_steepness`](/docs/hyperparameters/alpha-sigmoid-steepness) | integer | yes | liquid-alpha sigmoid steepness | [`AlphaSigmoidSteepness`](/code/pallets/subtensor/src/lib.rs#L2234) | +| [`min_childkey_take`](/docs/hyperparameters/min-childkey-take) | fraction (u16, 65535 = 1.0) | yes | floor for childkey take | [`MinChildkeyTakePerSubnet`](/code/pallets/subtensor/src/lib.rs#L1356) | +| [`owner_immune_neuron_limit`](/docs/hyperparameters/owner-immune-neuron-limit) | integer | yes | owner-designated prune-immune UIDs | [`ImmuneOwnerUidsLimit`](/code/pallets/subtensor/src/lib.rs#L2536) | +| [`max_allowed_uids`](/docs/hyperparameters/max-allowed-uids) | integer | yes | neuron slot capacity before pruning | [`MaxAllowedUids`](/code/pallets/subtensor/src/lib.rs#L2263) | +| [`burn_increase_mult`](/docs/hyperparameters/burn-increase-mult) | multiplier (U64F64 bits / 2^64) | yes | burn cost bump per registration | [`BurnIncreaseMult`](/code/pallets/subtensor/src/lib.rs#L3063) | +| [`burn_half_life`](/docs/hyperparameters/burn-half-life) | blocks (12s) | yes | burn cost decay half-life | [`BurnHalfLife`](/code/pallets/subtensor/src/lib.rs#L3058) | +| [`collateral_lock_share`](/docs/hyperparameters/collateral-lock-share) | fraction (u16, 65535 = 1.0) | yes | registration price share locked | [`CollateralLockShare`](/code/pallets/subtensor/src/lib.rs#L3072) | +| [`collateral_drain_ratio`](/docs/hyperparameters/collateral-drain-ratio) | multiplier (U64F64 bits / 2^64) | yes | collateral released per α earned | [`CollateralDrainRatio`](/code/pallets/subtensor/src/lib.rs#L3081) | +| [`yuma3_enabled`](/docs/hyperparameters/yuma3-enabled) | flag | yes | yuma3 consensus variant toggle | [`Yuma3On`](/code/pallets/subtensor/src/lib.rs#L2431) | | [`yuma_version`](/docs/hyperparameters/yuma-version) | integer | root only | epoch consensus variant (2 or 3) | — | | [`subnet_is_active`](/docs/hyperparameters/subnet-is-active) | flag | root only | subnet started (staking + emissions) | — | -| [`subnet_emission_enabled`](/docs/hyperparameters/subnet-emission-enabled) | flag | root only | root switch for TAO emission share | [`SubnetEmissionEnabled`](/code/pallets/subtensor/src/lib.rs#L1540) | +| [`subnet_emission_enabled`](/docs/hyperparameters/subnet-emission-enabled) | flag | root only | root switch for TAO emission share | [`SubnetEmissionEnabled`](/code/pallets/subtensor/src/lib.rs#L1576) | | [`user_liquidity_enabled`](/docs/hyperparameters/user-liquidity-enabled) | flag | root only | legacy user-LP flag (always false) | — | -| [`bonds_reset_enabled`](/docs/hyperparameters/bonds-reset-enabled) | flag | yes | bonds reset on metadata commit | [`BondsResetOn`](/code/pallets/subtensor/src/lib.rs#L2283) | -| [`transfers_enabled`](/docs/hyperparameters/transfers-enabled) | flag | yes | stake transfers between coldkeys | [`TransferToggle`](/code/pallets/subtensor/src/lib.rs#L2006) | -| [`owner_cut_enabled`](/docs/hyperparameters/owner-cut-enabled) | flag | yes | owner emission cut toggle | [`OwnerCutEnabled`](/code/pallets/subtensor/src/lib.rs#L1981) | -| [`owner_cut_auto_lock_enabled`](/docs/hyperparameters/owner-cut-auto-lock-enabled) | flag | yes | auto-lock the owner's emission cut | [`OwnerCutAutoLockEnabled`](/code/pallets/subtensor/src/lib.rs#L1783) | +| [`bonds_reset_enabled`](/docs/hyperparameters/bonds-reset-enabled) | flag | yes | bonds reset on metadata commit | [`BondsResetOn`](/code/pallets/subtensor/src/lib.rs#L2319) | +| [`transfers_enabled`](/docs/hyperparameters/transfers-enabled) | flag | yes | stake transfers between coldkeys | [`TransferToggle`](/code/pallets/subtensor/src/lib.rs#L2042) | +| [`owner_cut_enabled`](/docs/hyperparameters/owner-cut-enabled) | flag | yes | owner emission cut toggle | [`OwnerCutEnabled`](/code/pallets/subtensor/src/lib.rs#L2017) | +| [`owner_cut_auto_lock_enabled`](/docs/hyperparameters/owner-cut-auto-lock-enabled) | flag | yes | auto-lock the owner's emission cut | [`OwnerCutAutoLockEnabled`](/code/pallets/subtensor/src/lib.rs#L1819) | diff --git a/docs/query/alpha-prices.mdx b/docs/query/alpha-prices.mdx index af313d5732..95f382b80d 100644 --- a/docs/query/alpha-prices.mdx +++ b/docs/query/alpha-prices.mdx @@ -40,6 +40,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`SwapRuntimeApi.current_alpha_price_all`](/code/runtime/src/lib.rs#L2478-L2488) +- Runtime API [`SwapRuntimeApi.current_alpha_price_all`](/code/runtime/src/lib.rs#L2485-L2495) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/associated-evm-key.mdx b/docs/query/associated-evm-key.mdx index f8fc58274d..9b808ff649 100644 --- a/docs/query/associated-evm-key.mdx +++ b/docs/query/associated-evm-key.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.AssociatedEvmAddress`](/code/pallets/subtensor/src/lib.rs#L2910) +- Storage [`SubtensorModule.AssociatedEvmAddress`](/code/pallets/subtensor/src/lib.rs#L2956) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/auto-stake-all.mdx b/docs/query/auto-stake-all.mdx index e8aa5bb021..2d82219b02 100644 --- a/docs/query/auto-stake-all.mdx +++ b/docs/query/auto-stake-all.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.AutoStakeDestination`](/code/pallets/subtensor/src/lib.rs#L1589) +- Storage [`SubtensorModule.AutoStakeDestination`](/code/pallets/subtensor/src/lib.rs#L1625) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/auto-stake.mdx b/docs/query/auto-stake.mdx index a097dc54b9..ec9631b16c 100644 --- a/docs/query/auto-stake.mdx +++ b/docs/query/auto-stake.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.AutoStakeDestination`](/code/pallets/subtensor/src/lib.rs#L1589) +- Storage [`SubtensorModule.AutoStakeDestination`](/code/pallets/subtensor/src/lib.rs#L1625) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/blocks-since-last-step.mdx b/docs/query/blocks-since-last-step.mdx index bca3c31c3c..6503b32025 100644 --- a/docs/query/blocks-since-last-step.mdx +++ b/docs/query/blocks-since-last-step.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.BlocksSinceLastStep`](/code/pallets/subtensor/src/lib.rs#L2164) +- Storage [`SubtensorModule.BlocksSinceLastStep`](/code/pallets/subtensor/src/lib.rs#L2200) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/blocks-since-last-update.mdx b/docs/query/blocks-since-last-update.mdx index 479ec5feab..ab6d31b2aa 100644 --- a/docs/query/blocks-since-last-update.mdx +++ b/docs/query/blocks-since-last-update.mdx @@ -48,6 +48,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.LastUpdate`](/code/pallets/subtensor/src/lib.rs#L2553) +- Storage [`SubtensorModule.LastUpdate`](/code/pallets/subtensor/src/lib.rs#L2599) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/blocks-until-next-epoch.mdx b/docs/query/blocks-until-next-epoch.mdx index 54a46e4772..76a4c25d6f 100644 --- a/docs/query/blocks-until-next-epoch.mdx +++ b/docs/query/blocks-until-next-epoch.mdx @@ -45,6 +45,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`SubnetInfoRuntimeApi.get_next_epoch_start_block`](/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1262-L1276) +- Runtime API [`SubnetInfoRuntimeApi.get_next_epoch_start_block`](/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1261-L1275) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/bonds.mdx b/docs/query/bonds.mdx index aeb5fd0d84..126d4805c5 100644 --- a/docs/query/bonds.mdx +++ b/docs/query/bonds.mdx @@ -46,6 +46,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Bonds`](/code/pallets/subtensor/src/lib.rs#L2581) +- Storage [`SubtensorModule.Bonds`](/code/pallets/subtensor/src/lib.rs#L2627) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/burn.mdx b/docs/query/burn.mdx index 2868ee4fe3..38c2d0561d 100644 --- a/docs/query/burn.mdx +++ b/docs/query/burn.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Burn`](/code/pallets/subtensor/src/lib.rs#L2318) +- Storage [`SubtensorModule.Burn`](/code/pallets/subtensor/src/lib.rs#L2354) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/children.mdx b/docs/query/children.mdx index 6cefc9ada9..2fb9310b89 100644 --- a/docs/query/children.mdx +++ b/docs/query/children.mdx @@ -44,6 +44,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.ChildKeys`](/code/pallets/subtensor/src/lib.rs#L1365) +- Storage [`SubtensorModule.ChildKeys`](/code/pallets/subtensor/src/lib.rs#L1401) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/coldkey-lock.mdx b/docs/query/coldkey-lock.mdx index 5a3e22df0f..903ec16ce7 100644 --- a/docs/query/coldkey-lock.mdx +++ b/docs/query/coldkey-lock.mdx @@ -44,6 +44,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Lock`](/code/pallets/subtensor/src/lib.rs#L1712) +- Storage [`SubtensorModule.Lock`](/code/pallets/subtensor/src/lib.rs#L1748) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/coldkey-swap-announcement.mdx b/docs/query/coldkey-swap-announcement.mdx index b78bc86d2f..bbd3dc21a9 100644 --- a/docs/query/coldkey-swap-announcement.mdx +++ b/docs/query/coldkey-swap-announcement.mdx @@ -43,7 +43,7 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.ColdkeySwapAnnouncements`](/code/pallets/subtensor/src/lib.rs#L1624) -- Storage [`SubtensorModule.ColdkeySwapDisputes`](/code/pallets/subtensor/src/lib.rs#L1630) +- Storage [`SubtensorModule.ColdkeySwapAnnouncements`](/code/pallets/subtensor/src/lib.rs#L1660) +- Storage [`SubtensorModule.ColdkeySwapDisputes`](/code/pallets/subtensor/src/lib.rs#L1666) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/commit-reveal-enabled.mdx b/docs/query/commit-reveal-enabled.mdx index b2f285c1b3..8cac4eb7bc 100644 --- a/docs/query/commit-reveal-enabled.mdx +++ b/docs/query/commit-reveal-enabled.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.CommitRevealWeightsEnabled`](/code/pallets/subtensor/src/lib.rs#L2313) +- Storage [`SubtensorModule.CommitRevealWeightsEnabled`](/code/pallets/subtensor/src/lib.rs#L2349) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/delegate-take.mdx b/docs/query/delegate-take.mdx index c3181f9b99..fed0780b0d 100644 --- a/docs/query/delegate-take.mdx +++ b/docs/query/delegate-take.mdx @@ -43,8 +43,8 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Delegates`](/code/pallets/subtensor/src/lib.rs#L1335) -- Storage [`SubtensorModule.MinDelegateTake`](/code/pallets/subtensor/src/lib.rs#L1308) -- Storage [`SubtensorModule.MaxDelegateTake`](/code/pallets/subtensor/src/lib.rs#L1304) +- Storage [`SubtensorModule.Delegates`](/code/pallets/subtensor/src/lib.rs#L1371) +- Storage [`SubtensorModule.MinDelegateTake`](/code/pallets/subtensor/src/lib.rs#L1344) +- Storage [`SubtensorModule.MaxDelegateTake`](/code/pallets/subtensor/src/lib.rs#L1340) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/difficulty.mdx b/docs/query/difficulty.mdx index 6732906c19..085e1355cd 100644 --- a/docs/query/difficulty.mdx +++ b/docs/query/difficulty.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Difficulty`](/code/pallets/subtensor/src/lib.rs#L2322) +- Storage [`SubtensorModule.Difficulty`](/code/pallets/subtensor/src/lib.rs#L2358) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/epoch-status.mdx b/docs/query/epoch-status.mdx index 7ae9a42c8d..9e86fce5f1 100644 --- a/docs/query/epoch-status.mdx +++ b/docs/query/epoch-status.mdx @@ -45,11 +45,11 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Tempo`](/code/pallets/subtensor/src/lib.rs#L2022) -- Storage [`SubtensorModule.LastEpochBlock`](/code/pallets/subtensor/src/lib.rs#L2047) -- Storage [`SubtensorModule.BlocksSinceLastStep`](/code/pallets/subtensor/src/lib.rs#L2164) -- Storage [`SubtensorModule.PendingEpochAt`](/code/pallets/subtensor/src/lib.rs#L2053) -- Storage [`SubtensorModule.SubnetEpochIndex`](/code/pallets/subtensor/src/lib.rs#L2059) -- Runtime API [`SubnetInfoRuntimeApi.get_next_epoch_start_block`](/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1262-L1276) +- Storage [`SubtensorModule.Tempo`](/code/pallets/subtensor/src/lib.rs#L2058) +- Storage [`SubtensorModule.LastEpochBlock`](/code/pallets/subtensor/src/lib.rs#L2083) +- Storage [`SubtensorModule.BlocksSinceLastStep`](/code/pallets/subtensor/src/lib.rs#L2200) +- Storage [`SubtensorModule.PendingEpochAt`](/code/pallets/subtensor/src/lib.rs#L2089) +- Storage [`SubtensorModule.SubnetEpochIndex`](/code/pallets/subtensor/src/lib.rs#L2095) +- Runtime API [`SubnetInfoRuntimeApi.get_next_epoch_start_block`](/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1261-L1275) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/hotkey-conviction.mdx b/docs/query/hotkey-conviction.mdx index 4bcea21e61..0b3badf38c 100644 --- a/docs/query/hotkey-conviction.mdx +++ b/docs/query/hotkey-conviction.mdx @@ -44,6 +44,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`StakeInfoRuntimeApi.get_hotkey_conviction`](/code/runtime/src/lib.rs#L2361-L2363) +- Runtime API [`StakeInfoRuntimeApi.get_hotkey_conviction`](/code/runtime/src/lib.rs#L2368-L2370) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/hotkey-identities.mdx b/docs/query/hotkey-identities.mdx index 1a4af51f60..225e18923d 100644 --- a/docs/query/hotkey-identities.mdx +++ b/docs/query/hotkey-identities.mdx @@ -42,7 +42,7 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Owner`](/code/pallets/subtensor/src/lib.rs#L1325) -- Storage [`SubtensorModule.IdentitiesV2`](/code/pallets/subtensor/src/lib.rs#L2643) +- Storage [`SubtensorModule.Owner`](/code/pallets/subtensor/src/lib.rs#L1361) +- Storage [`SubtensorModule.IdentitiesV2`](/code/pallets/subtensor/src/lib.rs#L2689) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/hotkey-owner.mdx b/docs/query/hotkey-owner.mdx index 9d803c4de6..52bda68ad0 100644 --- a/docs/query/hotkey-owner.mdx +++ b/docs/query/hotkey-owner.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Owner`](/code/pallets/subtensor/src/lib.rs#L1325) +- Storage [`SubtensorModule.Owner`](/code/pallets/subtensor/src/lib.rs#L1361) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/identity.mdx b/docs/query/identity.mdx index fd4a849faf..302b3cc264 100644 --- a/docs/query/identity.mdx +++ b/docs/query/identity.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.IdentitiesV2`](/code/pallets/subtensor/src/lib.rs#L2643) +- Storage [`SubtensorModule.IdentitiesV2`](/code/pallets/subtensor/src/lib.rs#L2689) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/immunity-period.mdx b/docs/query/immunity-period.mdx index bd1ce655e8..be00fe94ec 100644 --- a/docs/query/immunity-period.mdx +++ b/docs/query/immunity-period.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.ImmunityPeriod`](/code/pallets/subtensor/src/lib.rs#L2232) +- Storage [`SubtensorModule.ImmunityPeriod`](/code/pallets/subtensor/src/lib.rs#L2268) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/lease.mdx b/docs/query/lease.mdx index a15ecee8ba..cad090c98a 100644 --- a/docs/query/lease.mdx +++ b/docs/query/lease.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.SubnetLeases`](/code/pallets/subtensor/src/lib.rs#L2928) +- Storage [`SubtensorModule.SubnetLeases`](/code/pallets/subtensor/src/lib.rs#L2974) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/leases.mdx b/docs/query/leases.mdx index 893e505cc6..9e65668cfb 100644 --- a/docs/query/leases.mdx +++ b/docs/query/leases.mdx @@ -40,6 +40,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.SubnetLeases`](/code/pallets/subtensor/src/lib.rs#L2928) +- Storage [`SubtensorModule.SubnetLeases`](/code/pallets/subtensor/src/lib.rs#L2974) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/locks-for-coldkey.mdx b/docs/query/locks-for-coldkey.mdx index 3aba04066b..36703d67a9 100644 --- a/docs/query/locks-for-coldkey.mdx +++ b/docs/query/locks-for-coldkey.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Lock`](/code/pallets/subtensor/src/lib.rs#L1712) +- Storage [`SubtensorModule.Lock`](/code/pallets/subtensor/src/lib.rs#L1748) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/max-weight-limit.mdx b/docs/query/max-weight-limit.mdx index 5d488f19ff..529493db5d 100644 --- a/docs/query/max-weight-limit.mdx +++ b/docs/query/max-weight-limit.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.MaxWeightsLimit`](/code/pallets/subtensor/src/lib.rs#L2248) +- Storage [`SubtensorModule.MaxWeightsLimit`](/code/pallets/subtensor/src/lib.rs#L2284) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/mechanism-count.mdx b/docs/query/mechanism-count.mdx index babe67ea75..4e5cc7f6f7 100644 --- a/docs/query/mechanism-count.mdx +++ b/docs/query/mechanism-count.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.MechanismCountCurrent`](/code/pallets/subtensor/src/lib.rs#L3002) +- Storage [`SubtensorModule.MechanismCountCurrent`](/code/pallets/subtensor/src/lib.rs#L3048) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/mechanism-emission-split.mdx b/docs/query/mechanism-emission-split.mdx index cc7ed2d917..b52115b282 100644 --- a/docs/query/mechanism-emission-split.mdx +++ b/docs/query/mechanism-emission-split.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.MechanismEmissionSplit`](/code/pallets/subtensor/src/lib.rs#L3007) +- Storage [`SubtensorModule.MechanismEmissionSplit`](/code/pallets/subtensor/src/lib.rs#L3053) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/min-allowed-weights.mdx b/docs/query/min-allowed-weights.mdx index 1d294bd475..4a995891f9 100644 --- a/docs/query/min-allowed-weights.mdx +++ b/docs/query/min-allowed-weights.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.MinAllowedWeights`](/code/pallets/subtensor/src/lib.rs#L2258) +- Storage [`SubtensorModule.MinAllowedWeights`](/code/pallets/subtensor/src/lib.rs#L2294) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/miner-collateral.mdx b/docs/query/miner-collateral.mdx index 8a2c874df9..97d2e2e005 100644 --- a/docs/query/miner-collateral.mdx +++ b/docs/query/miner-collateral.mdx @@ -56,6 +56,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Owner`](/code/pallets/subtensor/src/lib.rs#L1325) +- Storage [`SubtensorModule.Owner`](/code/pallets/subtensor/src/lib.rs#L1361) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/most-convicted-hotkey.mdx b/docs/query/most-convicted-hotkey.mdx index 2c24025c84..bfe17002f8 100644 --- a/docs/query/most-convicted-hotkey.mdx +++ b/docs/query/most-convicted-hotkey.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`StakeInfoRuntimeApi.get_most_convicted_hotkey_on_subnet`](/code/runtime/src/lib.rs#L2365-L2367) +- Runtime API [`StakeInfoRuntimeApi.get_most_convicted_hotkey_on_subnet`](/code/runtime/src/lib.rs#L2372-L2374) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/netuids-for-hotkey.mdx b/docs/query/netuids-for-hotkey.mdx index fa2bf1de68..91be600411 100644 --- a/docs/query/netuids-for-hotkey.mdx +++ b/docs/query/netuids-for-hotkey.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.IsNetworkMember`](/code/pallets/subtensor/src/lib.rs#L2090) +- Storage [`SubtensorModule.IsNetworkMember`](/code/pallets/subtensor/src/lib.rs#L2126) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/next-epoch-start-block.mdx b/docs/query/next-epoch-start-block.mdx index 01055cacf2..b9de44707d 100644 --- a/docs/query/next-epoch-start-block.mdx +++ b/docs/query/next-epoch-start-block.mdx @@ -45,6 +45,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`SubnetInfoRuntimeApi.get_next_epoch_start_block`](/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1262-L1276) +- Runtime API [`SubnetInfoRuntimeApi.get_next_epoch_start_block`](/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1261-L1275) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/owned-hotkeys.mdx b/docs/query/owned-hotkeys.mdx index 432709a95d..2bd2a5e5aa 100644 --- a/docs/query/owned-hotkeys.mdx +++ b/docs/query/owned-hotkeys.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.OwnedHotkeys`](/code/pallets/subtensor/src/lib.rs#L1584) +- Storage [`SubtensorModule.OwnedHotkeys`](/code/pallets/subtensor/src/lib.rs#L1620) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/parents.mdx b/docs/query/parents.mdx index dc3995ca86..40b947b752 100644 --- a/docs/query/parents.mdx +++ b/docs/query/parents.mdx @@ -44,6 +44,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.ParentKeys`](/code/pallets/subtensor/src/lib.rs#L1378) +- Storage [`SubtensorModule.ParentKeys`](/code/pallets/subtensor/src/lib.rs#L1414) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/pending-children.mdx b/docs/query/pending-children.mdx index 1af1dba3b7..97fb42e143 100644 --- a/docs/query/pending-children.mdx +++ b/docs/query/pending-children.mdx @@ -48,6 +48,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.PendingChildKeys`](/code/pallets/subtensor/src/lib.rs#L1352) +- Storage [`SubtensorModule.PendingChildKeys`](/code/pallets/subtensor/src/lib.rs#L1388) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/quote-stake.mdx b/docs/query/quote-stake.mdx index 6891dc7441..1aba007f0a 100644 --- a/docs/query/quote-stake.mdx +++ b/docs/query/quote-stake.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`SwapRuntimeApi.sim_swap_tao_for_alpha`](/code/runtime/src/lib.rs#L2490-L2518) +- Runtime API [`SwapRuntimeApi.sim_swap_tao_for_alpha`](/code/runtime/src/lib.rs#L2497-L2525) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/quote-unstake.mdx b/docs/query/quote-unstake.mdx index 183686ba8d..2450d86450 100644 --- a/docs/query/quote-unstake.mdx +++ b/docs/query/quote-unstake.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`SwapRuntimeApi.sim_swap_alpha_for_tao`](/code/runtime/src/lib.rs#L2520-L2548) +- Runtime API [`SwapRuntimeApi.sim_swap_alpha_for_tao`](/code/runtime/src/lib.rs#L2527-L2555) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/reveal-period.mdx b/docs/query/reveal-period.mdx index d0d35227d0..b0cb9bc8e1 100644 --- a/docs/query/reveal-period.mdx +++ b/docs/query/reveal-period.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.RevealPeriodEpochs`](/code/pallets/subtensor/src/lib.rs#L2756) +- Storage [`SubtensorModule.RevealPeriodEpochs`](/code/pallets/subtensor/src/lib.rs#L2802) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/root-basket-owed.mdx b/docs/query/root-basket-owed.mdx index 28157f55fc..3e7e702162 100644 --- a/docs/query/root-basket-owed.mdx +++ b/docs/query/root-basket-owed.mdx @@ -48,6 +48,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`BetaBasketRuntimeApi.get_root_basket_owed`](/code/runtime/src/lib.rs#L2377-L2379) +- Runtime API [`BetaBasketRuntimeApi.get_root_basket_owed`](/code/runtime/src/lib.rs#L2384-L2386) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/root-basket-total-nav.mdx b/docs/query/root-basket-total-nav.mdx index fb160ab084..9da8bd988a 100644 --- a/docs/query/root-basket-total-nav.mdx +++ b/docs/query/root-basket-total-nav.mdx @@ -40,6 +40,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`BetaBasketRuntimeApi.get_root_basket_total_nav`](/code/runtime/src/lib.rs#L2389-L2391) +- Runtime API [`BetaBasketRuntimeApi.get_root_basket_total_nav`](/code/runtime/src/lib.rs#L2396-L2398) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/staking-hotkeys.mdx b/docs/query/staking-hotkeys.mdx index e66642fa64..47222ed06a 100644 --- a/docs/query/staking-hotkeys.mdx +++ b/docs/query/staking-hotkeys.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.StakingHotkeys`](/code/pallets/subtensor/src/lib.rs#L1579) +- Storage [`SubtensorModule.StakingHotkeys`](/code/pallets/subtensor/src/lib.rs#L1615) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet-collateral.mdx b/docs/query/subnet-collateral.mdx index e0ce378cd4..b0afa1e75c 100644 --- a/docs/query/subnet-collateral.mdx +++ b/docs/query/subnet-collateral.mdx @@ -46,6 +46,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Uids`](/code/pallets/subtensor/src/lib.rs#L2506) +- Storage [`SubtensorModule.Uids`](/code/pallets/subtensor/src/lib.rs#L2547) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet-convictions.mdx b/docs/query/subnet-convictions.mdx index 7130ab3a18..7b96979caa 100644 --- a/docs/query/subnet-convictions.mdx +++ b/docs/query/subnet-convictions.mdx @@ -49,14 +49,14 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.HotkeyLock`](/code/pallets/subtensor/src/lib.rs#L1738) -- Storage [`SubtensorModule.DecayingHotkeyLock`](/code/pallets/subtensor/src/lib.rs#L1750) -- Storage [`SubtensorModule.OwnerLock`](/code/pallets/subtensor/src/lib.rs#L1762) -- Storage [`SubtensorModule.DecayingOwnerLock`](/code/pallets/subtensor/src/lib.rs#L1766) -- Storage [`SubtensorModule.SubnetOwnerHotkey`](/code/pallets/subtensor/src/lib.rs#L2179) -- Storage [`SubtensorModule.SubnetAlphaOut`](/code/pallets/subtensor/src/lib.rs#L1570) -- Storage [`SubtensorModule.UnlockRate`](/code/pallets/subtensor/src/lib.rs#L1804) -- Storage [`SubtensorModule.MaturityRate`](/code/pallets/subtensor/src/lib.rs#L1800) -- Storage [`SubtensorModule.NetworkRegisteredAt`](/code/pallets/subtensor/src/lib.rs#L2113) +- Storage [`SubtensorModule.HotkeyLock`](/code/pallets/subtensor/src/lib.rs#L1774) +- Storage [`SubtensorModule.DecayingHotkeyLock`](/code/pallets/subtensor/src/lib.rs#L1786) +- Storage [`SubtensorModule.OwnerLock`](/code/pallets/subtensor/src/lib.rs#L1798) +- Storage [`SubtensorModule.DecayingOwnerLock`](/code/pallets/subtensor/src/lib.rs#L1802) +- Storage [`SubtensorModule.SubnetOwnerHotkey`](/code/pallets/subtensor/src/lib.rs#L2215) +- Storage [`SubtensorModule.SubnetAlphaOut`](/code/pallets/subtensor/src/lib.rs#L1606) +- Storage [`SubtensorModule.UnlockRate`](/code/pallets/subtensor/src/lib.rs#L1840) +- Storage [`SubtensorModule.MaturityRate`](/code/pallets/subtensor/src/lib.rs#L1836) +- Storage [`SubtensorModule.NetworkRegisteredAt`](/code/pallets/subtensor/src/lib.rs#L2149) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet-emission-enabled.mdx b/docs/query/subnet-emission-enabled.mdx index c1690f9826..6997fc0a5b 100644 --- a/docs/query/subnet-emission-enabled.mdx +++ b/docs/query/subnet-emission-enabled.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.SubnetEmissionEnabled`](/code/pallets/subtensor/src/lib.rs#L1540) +- Storage [`SubtensorModule.SubnetEmissionEnabled`](/code/pallets/subtensor/src/lib.rs#L1576) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet-identity.mdx b/docs/query/subnet-identity.mdx index 2c9cd69d8b..a30e56b1dc 100644 --- a/docs/query/subnet-identity.mdx +++ b/docs/query/subnet-identity.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.SubnetIdentitiesV3`](/code/pallets/subtensor/src/lib.rs#L2648) +- Storage [`SubtensorModule.SubnetIdentitiesV3`](/code/pallets/subtensor/src/lib.rs#L2694) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet-names.mdx b/docs/query/subnet-names.mdx index 02843245e0..3ff88be559 100644 --- a/docs/query/subnet-names.mdx +++ b/docs/query/subnet-names.mdx @@ -40,6 +40,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.SubnetIdentitiesV3`](/code/pallets/subtensor/src/lib.rs#L2648) +- Storage [`SubtensorModule.SubnetIdentitiesV3`](/code/pallets/subtensor/src/lib.rs#L2694) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet-registration-cost.mdx b/docs/query/subnet-registration-cost.mdx index a9b96219ec..4384f31291 100644 --- a/docs/query/subnet-registration-cost.mdx +++ b/docs/query/subnet-registration-cost.mdx @@ -41,6 +41,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`SubnetRegistrationRuntimeApi.get_network_registration_cost`](/code/runtime/src/lib.rs#L2371-L2373) +- Runtime API [`SubnetRegistrationRuntimeApi.get_network_registration_cost`](/code/runtime/src/lib.rs#L2378-L2380) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet-start-schedule.mdx b/docs/query/subnet-start-schedule.mdx index 44b2c8e348..cafc8acc47 100644 --- a/docs/query/subnet-start-schedule.mdx +++ b/docs/query/subnet-start-schedule.mdx @@ -43,7 +43,7 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.NetworkRegisteredAt`](/code/pallets/subtensor/src/lib.rs#L2113) +- Storage [`SubtensorModule.NetworkRegisteredAt`](/code/pallets/subtensor/src/lib.rs#L2149) - Constant [`SubtensorModule.InitialStartCallDelay`](/code/runtime/src/lib.rs#L874) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnet.mdx b/docs/query/subnet.mdx index 207f1fe0d2..29dc03afdd 100644 --- a/docs/query/subnet.mdx +++ b/docs/query/subnet.mdx @@ -42,8 +42,8 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Tempo`](/code/pallets/subtensor/src/lib.rs#L2022) -- Storage [`SubtensorModule.Burn`](/code/pallets/subtensor/src/lib.rs#L2318) -- Storage [`SubtensorModule.SubnetworkN`](/code/pallets/subtensor/src/lib.rs#L2081) +- Storage [`SubtensorModule.Tempo`](/code/pallets/subtensor/src/lib.rs#L2058) +- Storage [`SubtensorModule.Burn`](/code/pallets/subtensor/src/lib.rs#L2354) +- Storage [`SubtensorModule.SubnetworkN`](/code/pallets/subtensor/src/lib.rs#L2117) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/subnets.mdx b/docs/query/subnets.mdx index ac3ac616e6..d59cbd68e2 100644 --- a/docs/query/subnets.mdx +++ b/docs/query/subnets.mdx @@ -40,9 +40,9 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.NetworksAdded`](/code/pallets/subtensor/src/lib.rs#L2085) -- Storage [`SubtensorModule.Tempo`](/code/pallets/subtensor/src/lib.rs#L2022) -- Storage [`SubtensorModule.Burn`](/code/pallets/subtensor/src/lib.rs#L2318) -- Storage [`SubtensorModule.SubnetworkN`](/code/pallets/subtensor/src/lib.rs#L2081) +- Storage [`SubtensorModule.NetworksAdded`](/code/pallets/subtensor/src/lib.rs#L2121) +- Storage [`SubtensorModule.Tempo`](/code/pallets/subtensor/src/lib.rs#L2058) +- Storage [`SubtensorModule.Burn`](/code/pallets/subtensor/src/lib.rs#L2354) +- Storage [`SubtensorModule.SubnetworkN`](/code/pallets/subtensor/src/lib.rs#L2117) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/timelocked-weight-commits.mdx b/docs/query/timelocked-weight-commits.mdx index bdbd19f999..2e432d8c38 100644 --- a/docs/query/timelocked-weight-commits.mdx +++ b/docs/query/timelocked-weight-commits.mdx @@ -47,6 +47,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.TimelockedWeightCommits`](/code/pallets/subtensor/src/lib.rs#L2704) +- Storage [`SubtensorModule.TimelockedWeightCommits`](/code/pallets/subtensor/src/lib.rs#L2750) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/token-symbols.mdx b/docs/query/token-symbols.mdx index 9eeaa8edfb..46743c76a6 100644 --- a/docs/query/token-symbols.mdx +++ b/docs/query/token-symbols.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.TokenSymbol`](/code/pallets/subtensor/src/lib.rs#L1818) +- Storage [`SubtensorModule.TokenSymbol`](/code/pallets/subtensor/src/lib.rs#L1854) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/tx-rate-limit.mdx b/docs/query/tx-rate-limit.mdx index 3392968645..41fc9db62f 100644 --- a/docs/query/tx-rate-limit.mdx +++ b/docs/query/tx-rate-limit.mdx @@ -40,6 +40,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.TxRateLimit`](/code/pallets/subtensor/src/lib.rs#L2376) +- Storage [`SubtensorModule.TxRateLimit`](/code/pallets/subtensor/src/lib.rs#L2412) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/uid.mdx b/docs/query/uid.mdx index db316987c3..dc75eb4b88 100644 --- a/docs/query/uid.mdx +++ b/docs/query/uid.mdx @@ -43,6 +43,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Uids`](/code/pallets/subtensor/src/lib.rs#L2506) +- Storage [`SubtensorModule.Uids`](/code/pallets/subtensor/src/lib.rs#L2547) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/validator-basket-nav.mdx b/docs/query/validator-basket-nav.mdx index 32859bec7a..a469c41b84 100644 --- a/docs/query/validator-basket-nav.mdx +++ b/docs/query/validator-basket-nav.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`BetaBasketRuntimeApi.get_validator_basket_nav`](/code/runtime/src/lib.rs#L2383-L2385) +- Runtime API [`BetaBasketRuntimeApi.get_validator_basket_nav`](/code/runtime/src/lib.rs#L2390-L2392) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/validator-root-weights.mdx b/docs/query/validator-root-weights.mdx index bbf7901ce5..b9d93ba11a 100644 --- a/docs/query/validator-root-weights.mdx +++ b/docs/query/validator-root-weights.mdx @@ -47,6 +47,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Runtime API [`BetaBasketRuntimeApi.get_validator_weights`](/code/runtime/src/lib.rs#L2392-L2394) +- Runtime API [`BetaBasketRuntimeApi.get_validator_weights`](/code/runtime/src/lib.rs#L2399-L2401) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/weights-rate-limit.mdx b/docs/query/weights-rate-limit.mdx index 860598cf37..f8e7ac5d09 100644 --- a/docs/query/weights-rate-limit.mdx +++ b/docs/query/weights-rate-limit.mdx @@ -42,6 +42,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.WeightsSetRateLimit`](/code/pallets/subtensor/src/lib.rs#L2288) +- Storage [`SubtensorModule.WeightsSetRateLimit`](/code/pallets/subtensor/src/lib.rs#L2324) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/query/weights.mdx b/docs/query/weights.mdx index 93675f1bc8..03fad820d4 100644 --- a/docs/query/weights.mdx +++ b/docs/query/weights.mdx @@ -47,6 +47,6 @@ Async is the same surface awaited: `async with bt.Subtensor() as client:`. ## On-chain implementation -- Storage [`SubtensorModule.Weights`](/code/pallets/subtensor/src/lib.rs#L2568) +- Storage [`SubtensorModule.Weights`](/code/pallets/subtensor/src/lib.rs#L2614) Every file is browsable under [/code](/code) exactly as built into the runtime. diff --git a/docs/tx/lock-stake.mdx b/docs/tx/lock-stake.mdx index 116ebc9436..e2d8b7da3b 100644 --- a/docs/tx/lock-stake.mdx +++ b/docs/tx/lock-stake.mdx @@ -90,6 +90,6 @@ pub fn lock_stake( } ``` -Delegates to [`do_lock_stake`](/code/pallets/subtensor/src/staking/lock.rs#L780). +Delegates to [`do_lock_stake`](/code/pallets/subtensor/src/staking/lock.rs#L781). Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/docs/tx/move-lock.mdx b/docs/tx/move-lock.mdx index 9b4d629454..724447a040 100644 --- a/docs/tx/move-lock.mdx +++ b/docs/tx/move-lock.mdx @@ -83,6 +83,6 @@ pub fn move_lock( } ``` -Delegates to [`do_move_lock`](/code/pallets/subtensor/src/staking/lock.rs#L1749). +Delegates to [`do_move_lock`](/code/pallets/subtensor/src/staking/lock.rs#L1755). Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/docs/tx/register-subnet.mdx b/docs/tx/register-subnet.mdx index 78aa81e3a4..f98401e457 100644 --- a/docs/tx/register-subnet.mdx +++ b/docs/tx/register-subnet.mdx @@ -84,6 +84,6 @@ pub fn register_network(origin: OriginFor, hotkey: T::AccountId) -> DispatchR } ``` -Delegates to [`do_register_network`](/code/pallets/subtensor/src/subnets/subnet.rs#L142). +Delegates to [`do_register_network`](/code/pallets/subtensor/src/subnets/subnet.rs#L143). Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/docs/tx/set-auto-stake.mdx b/docs/tx/set-auto-stake.mdx index 53af299606..2ab5ce6a73 100644 --- a/docs/tx/set-auto-stake.mdx +++ b/docs/tx/set-auto-stake.mdx @@ -115,6 +115,6 @@ pub fn set_coldkey_auto_stake_hotkey( } ``` -Delegates to [`if_subnet_exist`](/code/pallets/subtensor/src/subnets/subnet.rs#L39). +Delegates to [`if_subnet_exist`](/code/pallets/subtensor/src/subnets/subnet.rs#L40). Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/docs/tx/set-hyperparameter.mdx b/docs/tx/set-hyperparameter.mdx index adaee02484..74ac49bb5e 100644 --- a/docs/tx/set-hyperparameter.mdx +++ b/docs/tx/set-hyperparameter.mdx @@ -19,7 +19,7 @@ fail. Read current values back with the `subnet_hyperparameters` read. | Signer | Origin | Pallet | Wraps | | --- | --- | --- | --- | -| `coldkey` | subnet owner | AdminUtils | [`AdminUtils.sudo_set_tempo`](/code/pallets/admin-utils/src/lib.rs#L1038-L1053), [`AdminUtils.sudo_set_immunity_period`](/code/pallets/admin-utils/src/lib.rs#L491-L519), [`AdminUtils.sudo_set_min_allowed_weights`](/code/pallets/admin-utils/src/lib.rs#L524-L552), [`AdminUtils.sudo_set_weights_version_key`](/code/pallets/admin-utils/src/lib.rs#L376-L406), [`AdminUtils.sudo_set_activity_cutoff_factor`](/code/pallets/admin-utils/src/lib.rs#L696-L712), [`AdminUtils.sudo_set_min_burn`](/code/pallets/admin-utils/src/lib.rs#L778-L812), [`AdminUtils.sudo_set_max_burn`](/code/pallets/admin-utils/src/lib.rs#L817-L851), [`AdminUtils.sudo_set_bonds_moving_average`](/code/pallets/admin-utils/src/lib.rs#L909-L943), [`AdminUtils.sudo_set_bonds_penalty`](/code/pallets/admin-utils/src/lib.rs#L948-L974), [`AdminUtils.sudo_set_serving_rate_limit`](/code/pallets/admin-utils/src/lib.rs#L293-L314), [`AdminUtils.sudo_set_commit_reveal_weights_interval`](/code/pallets/admin-utils/src/lib.rs#L1391-L1420), [`AdminUtils.sudo_set_max_allowed_uids`](/code/pallets/admin-utils/src/lib.rs#L557-L602), [`AdminUtils.sudo_set_burn_increase_mult`](/code/pallets/admin-utils/src/lib.rs#L2226-L2266), [`AdminUtils.sudo_set_burn_half_life`](/code/pallets/admin-utils/src/lib.rs#L2184-L2222), [`AdminUtils.sudo_set_collateral_lock_share`](/code/pallets/admin-utils/src/lib.rs#L2350-L2385), [`AdminUtils.sudo_set_collateral_drain_ratio`](/code/pallets/admin-utils/src/lib.rs#L2393-L2434), [`AdminUtils.sudo_set_adjustment_alpha`](/code/pallets/admin-utils/src/lib.rs#L460-L486), [`AdminUtils.sudo_set_rho`](/code/pallets/admin-utils/src/lib.rs#L623-L645), [`AdminUtils.sudo_set_max_difficulty`](/code/pallets/admin-utils/src/lib.rs#L343-L371), [`AdminUtils.sudo_set_alpha_sigmoid_steepness`](/code/pallets/admin-utils/src/lib.rs#L1642-L1676), [`AdminUtils.sudo_set_min_childkey_take_per_subnet`](/code/pallets/admin-utils/src/lib.rs#L1215-L1249), [`AdminUtils.sudo_set_owner_immune_neuron_limit`](/code/pallets/admin-utils/src/lib.rs#L1828-L1848), [`AdminUtils.sudo_set_alpha_values`](/code/pallets/admin-utils/src/lib.rs#L1316-L1341), [`AdminUtils.sudo_set_commit_reveal_weights_enabled`](/code/pallets/admin-utils/src/lib.rs#L1254-L1281), [`AdminUtils.sudo_set_liquid_alpha_enabled`](/code/pallets/admin-utils/src/lib.rs#L1292-L1313), [`AdminUtils.sudo_set_network_pow_registration_allowed`](/code/pallets/admin-utils/src/lib.rs#L738-L746), [`AdminUtils.sudo_set_yuma3_enabled`](/code/pallets/admin-utils/src/lib.rs#L1687-L1710), [`AdminUtils.sudo_set_bonds_reset_enabled`](/code/pallets/admin-utils/src/lib.rs#L1721-L1744), [`AdminUtils.sudo_set_toggle_transfer`](/code/pallets/admin-utils/src/lib.rs#L1480-L1502), [`AdminUtils.sudo_set_owner_cut_enabled`](/code/pallets/admin-utils/src/lib.rs#L2270-L2290), [`AdminUtils.sudo_set_owner_cut_auto_lock_enabled`](/code/pallets/admin-utils/src/lib.rs#L2294-L2314) | +| `coldkey` | subnet owner | AdminUtils | [`AdminUtils.sudo_set_tempo`](/code/pallets/admin-utils/src/lib.rs#L1040-L1055), [`AdminUtils.sudo_set_immunity_period`](/code/pallets/admin-utils/src/lib.rs#L493-L521), [`AdminUtils.sudo_set_min_allowed_weights`](/code/pallets/admin-utils/src/lib.rs#L526-L554), [`AdminUtils.sudo_set_weights_version_key`](/code/pallets/admin-utils/src/lib.rs#L378-L408), [`AdminUtils.sudo_set_activity_cutoff_factor`](/code/pallets/admin-utils/src/lib.rs#L698-L714), [`AdminUtils.sudo_set_min_burn`](/code/pallets/admin-utils/src/lib.rs#L780-L814), [`AdminUtils.sudo_set_max_burn`](/code/pallets/admin-utils/src/lib.rs#L819-L853), [`AdminUtils.sudo_set_bonds_moving_average`](/code/pallets/admin-utils/src/lib.rs#L911-L945), [`AdminUtils.sudo_set_bonds_penalty`](/code/pallets/admin-utils/src/lib.rs#L950-L976), [`AdminUtils.sudo_set_serving_rate_limit`](/code/pallets/admin-utils/src/lib.rs#L295-L316), [`AdminUtils.sudo_set_commit_reveal_weights_interval`](/code/pallets/admin-utils/src/lib.rs#L1416-L1445), [`AdminUtils.sudo_set_max_allowed_uids`](/code/pallets/admin-utils/src/lib.rs#L559-L604), [`AdminUtils.sudo_set_burn_increase_mult`](/code/pallets/admin-utils/src/lib.rs#L2254-L2294), [`AdminUtils.sudo_set_burn_half_life`](/code/pallets/admin-utils/src/lib.rs#L2212-L2250), [`AdminUtils.sudo_set_collateral_lock_share`](/code/pallets/admin-utils/src/lib.rs#L2378-L2413), [`AdminUtils.sudo_set_collateral_drain_ratio`](/code/pallets/admin-utils/src/lib.rs#L2421-L2462), [`AdminUtils.sudo_set_adjustment_alpha`](/code/pallets/admin-utils/src/lib.rs#L462-L488), [`AdminUtils.sudo_set_rho`](/code/pallets/admin-utils/src/lib.rs#L625-L647), [`AdminUtils.sudo_set_max_difficulty`](/code/pallets/admin-utils/src/lib.rs#L345-L373), [`AdminUtils.sudo_set_alpha_sigmoid_steepness`](/code/pallets/admin-utils/src/lib.rs#L1670-L1704), [`AdminUtils.sudo_set_min_childkey_take_per_subnet`](/code/pallets/admin-utils/src/lib.rs#L1217-L1251), [`AdminUtils.sudo_set_owner_immune_neuron_limit`](/code/pallets/admin-utils/src/lib.rs#L1856-L1876), [`AdminUtils.sudo_set_alpha_values`](/code/pallets/admin-utils/src/lib.rs#L1318-L1343), [`AdminUtils.sudo_set_commit_reveal_weights_enabled`](/code/pallets/admin-utils/src/lib.rs#L1256-L1283), [`AdminUtils.sudo_set_liquid_alpha_enabled`](/code/pallets/admin-utils/src/lib.rs#L1294-L1315), [`AdminUtils.sudo_set_network_pow_registration_allowed`](/code/pallets/admin-utils/src/lib.rs#L740-L748), [`AdminUtils.sudo_set_yuma3_enabled`](/code/pallets/admin-utils/src/lib.rs#L1715-L1738), [`AdminUtils.sudo_set_bonds_reset_enabled`](/code/pallets/admin-utils/src/lib.rs#L1749-L1772), [`AdminUtils.sudo_set_toggle_transfer`](/code/pallets/admin-utils/src/lib.rs#L1508-L1530), [`AdminUtils.sudo_set_owner_cut_enabled`](/code/pallets/admin-utils/src/lib.rs#L2298-L2318), [`AdminUtils.sudo_set_owner_cut_auto_lock_enabled`](/code/pallets/admin-utils/src/lib.rs#L2322-L2342) | ## Parameters @@ -76,36 +76,36 @@ result = sub.execute_tool("set_hyperparameter", {...}, wallet) | Chain call | Source | | --- | --- | -| `AdminUtils.sudo_set_tempo` | [`pallets/admin-utils/src/lib.rs#L1049`](/code/pallets/admin-utils/src/lib.rs#L1038-L1053) | -| `AdminUtils.sudo_set_immunity_period` | [`pallets/admin-utils/src/lib.rs#L493`](/code/pallets/admin-utils/src/lib.rs#L491-L519) | -| `AdminUtils.sudo_set_min_allowed_weights` | [`pallets/admin-utils/src/lib.rs#L526`](/code/pallets/admin-utils/src/lib.rs#L524-L552) | -| `AdminUtils.sudo_set_weights_version_key` | [`pallets/admin-utils/src/lib.rs#L378`](/code/pallets/admin-utils/src/lib.rs#L376-L406) | -| `AdminUtils.sudo_set_activity_cutoff_factor` | [`pallets/admin-utils/src/lib.rs#L698`](/code/pallets/admin-utils/src/lib.rs#L696-L712) | -| `AdminUtils.sudo_set_min_burn` | [`pallets/admin-utils/src/lib.rs#L780`](/code/pallets/admin-utils/src/lib.rs#L778-L812) | -| `AdminUtils.sudo_set_max_burn` | [`pallets/admin-utils/src/lib.rs#L819`](/code/pallets/admin-utils/src/lib.rs#L817-L851) | -| `AdminUtils.sudo_set_bonds_moving_average` | [`pallets/admin-utils/src/lib.rs#L911`](/code/pallets/admin-utils/src/lib.rs#L909-L943) | -| `AdminUtils.sudo_set_bonds_penalty` | [`pallets/admin-utils/src/lib.rs#L950`](/code/pallets/admin-utils/src/lib.rs#L948-L974) | -| `AdminUtils.sudo_set_serving_rate_limit` | [`pallets/admin-utils/src/lib.rs#L295`](/code/pallets/admin-utils/src/lib.rs#L293-L314) | -| `AdminUtils.sudo_set_commit_reveal_weights_interval` | [`pallets/admin-utils/src/lib.rs#L1393`](/code/pallets/admin-utils/src/lib.rs#L1391-L1420) | -| `AdminUtils.sudo_set_max_allowed_uids` | [`pallets/admin-utils/src/lib.rs#L559`](/code/pallets/admin-utils/src/lib.rs#L557-L602) | -| `AdminUtils.sudo_set_burn_increase_mult` | [`pallets/admin-utils/src/lib.rs#L2228`](/code/pallets/admin-utils/src/lib.rs#L2226-L2266) | -| `AdminUtils.sudo_set_burn_half_life` | [`pallets/admin-utils/src/lib.rs#L2186`](/code/pallets/admin-utils/src/lib.rs#L2184-L2222) | -| `AdminUtils.sudo_set_collateral_lock_share` | [`pallets/admin-utils/src/lib.rs#L2352`](/code/pallets/admin-utils/src/lib.rs#L2350-L2385) | -| `AdminUtils.sudo_set_collateral_drain_ratio` | [`pallets/admin-utils/src/lib.rs#L2395`](/code/pallets/admin-utils/src/lib.rs#L2393-L2434) | -| `AdminUtils.sudo_set_adjustment_alpha` | [`pallets/admin-utils/src/lib.rs#L462`](/code/pallets/admin-utils/src/lib.rs#L460-L486) | -| `AdminUtils.sudo_set_rho` | [`pallets/admin-utils/src/lib.rs#L625`](/code/pallets/admin-utils/src/lib.rs#L623-L645) | -| `AdminUtils.sudo_set_max_difficulty` | [`pallets/admin-utils/src/lib.rs#L345`](/code/pallets/admin-utils/src/lib.rs#L343-L371) | -| `AdminUtils.sudo_set_alpha_sigmoid_steepness` | [`pallets/admin-utils/src/lib.rs#L1644`](/code/pallets/admin-utils/src/lib.rs#L1642-L1676) | -| `AdminUtils.sudo_set_min_childkey_take_per_subnet` | [`pallets/admin-utils/src/lib.rs#L1217`](/code/pallets/admin-utils/src/lib.rs#L1215-L1249) | -| `AdminUtils.sudo_set_owner_immune_neuron_limit` | [`pallets/admin-utils/src/lib.rs#L1830`](/code/pallets/admin-utils/src/lib.rs#L1828-L1848) | -| `AdminUtils.sudo_set_alpha_values` | [`pallets/admin-utils/src/lib.rs#L1318`](/code/pallets/admin-utils/src/lib.rs#L1316-L1341) | -| `AdminUtils.sudo_set_commit_reveal_weights_enabled` | [`pallets/admin-utils/src/lib.rs#L1256`](/code/pallets/admin-utils/src/lib.rs#L1254-L1281) | -| `AdminUtils.sudo_set_liquid_alpha_enabled` | [`pallets/admin-utils/src/lib.rs#L1294`](/code/pallets/admin-utils/src/lib.rs#L1292-L1313) | -| `AdminUtils.sudo_set_network_pow_registration_allowed` | [`pallets/admin-utils/src/lib.rs#L740`](/code/pallets/admin-utils/src/lib.rs#L738-L746) | -| `AdminUtils.sudo_set_yuma3_enabled` | [`pallets/admin-utils/src/lib.rs#L1689`](/code/pallets/admin-utils/src/lib.rs#L1687-L1710) | -| `AdminUtils.sudo_set_bonds_reset_enabled` | [`pallets/admin-utils/src/lib.rs#L1723`](/code/pallets/admin-utils/src/lib.rs#L1721-L1744) | -| `AdminUtils.sudo_set_toggle_transfer` | [`pallets/admin-utils/src/lib.rs#L1482`](/code/pallets/admin-utils/src/lib.rs#L1480-L1502) | -| `AdminUtils.sudo_set_owner_cut_enabled` | [`pallets/admin-utils/src/lib.rs#L2272`](/code/pallets/admin-utils/src/lib.rs#L2270-L2290) | -| `AdminUtils.sudo_set_owner_cut_auto_lock_enabled` | [`pallets/admin-utils/src/lib.rs#L2296`](/code/pallets/admin-utils/src/lib.rs#L2294-L2314) | +| `AdminUtils.sudo_set_tempo` | [`pallets/admin-utils/src/lib.rs#L1051`](/code/pallets/admin-utils/src/lib.rs#L1040-L1055) | +| `AdminUtils.sudo_set_immunity_period` | [`pallets/admin-utils/src/lib.rs#L495`](/code/pallets/admin-utils/src/lib.rs#L493-L521) | +| `AdminUtils.sudo_set_min_allowed_weights` | [`pallets/admin-utils/src/lib.rs#L528`](/code/pallets/admin-utils/src/lib.rs#L526-L554) | +| `AdminUtils.sudo_set_weights_version_key` | [`pallets/admin-utils/src/lib.rs#L380`](/code/pallets/admin-utils/src/lib.rs#L378-L408) | +| `AdminUtils.sudo_set_activity_cutoff_factor` | [`pallets/admin-utils/src/lib.rs#L700`](/code/pallets/admin-utils/src/lib.rs#L698-L714) | +| `AdminUtils.sudo_set_min_burn` | [`pallets/admin-utils/src/lib.rs#L782`](/code/pallets/admin-utils/src/lib.rs#L780-L814) | +| `AdminUtils.sudo_set_max_burn` | [`pallets/admin-utils/src/lib.rs#L821`](/code/pallets/admin-utils/src/lib.rs#L819-L853) | +| `AdminUtils.sudo_set_bonds_moving_average` | [`pallets/admin-utils/src/lib.rs#L913`](/code/pallets/admin-utils/src/lib.rs#L911-L945) | +| `AdminUtils.sudo_set_bonds_penalty` | [`pallets/admin-utils/src/lib.rs#L952`](/code/pallets/admin-utils/src/lib.rs#L950-L976) | +| `AdminUtils.sudo_set_serving_rate_limit` | [`pallets/admin-utils/src/lib.rs#L297`](/code/pallets/admin-utils/src/lib.rs#L295-L316) | +| `AdminUtils.sudo_set_commit_reveal_weights_interval` | [`pallets/admin-utils/src/lib.rs#L1418`](/code/pallets/admin-utils/src/lib.rs#L1416-L1445) | +| `AdminUtils.sudo_set_max_allowed_uids` | [`pallets/admin-utils/src/lib.rs#L561`](/code/pallets/admin-utils/src/lib.rs#L559-L604) | +| `AdminUtils.sudo_set_burn_increase_mult` | [`pallets/admin-utils/src/lib.rs#L2256`](/code/pallets/admin-utils/src/lib.rs#L2254-L2294) | +| `AdminUtils.sudo_set_burn_half_life` | [`pallets/admin-utils/src/lib.rs#L2214`](/code/pallets/admin-utils/src/lib.rs#L2212-L2250) | +| `AdminUtils.sudo_set_collateral_lock_share` | [`pallets/admin-utils/src/lib.rs#L2380`](/code/pallets/admin-utils/src/lib.rs#L2378-L2413) | +| `AdminUtils.sudo_set_collateral_drain_ratio` | [`pallets/admin-utils/src/lib.rs#L2423`](/code/pallets/admin-utils/src/lib.rs#L2421-L2462) | +| `AdminUtils.sudo_set_adjustment_alpha` | [`pallets/admin-utils/src/lib.rs#L464`](/code/pallets/admin-utils/src/lib.rs#L462-L488) | +| `AdminUtils.sudo_set_rho` | [`pallets/admin-utils/src/lib.rs#L627`](/code/pallets/admin-utils/src/lib.rs#L625-L647) | +| `AdminUtils.sudo_set_max_difficulty` | [`pallets/admin-utils/src/lib.rs#L347`](/code/pallets/admin-utils/src/lib.rs#L345-L373) | +| `AdminUtils.sudo_set_alpha_sigmoid_steepness` | [`pallets/admin-utils/src/lib.rs#L1672`](/code/pallets/admin-utils/src/lib.rs#L1670-L1704) | +| `AdminUtils.sudo_set_min_childkey_take_per_subnet` | [`pallets/admin-utils/src/lib.rs#L1219`](/code/pallets/admin-utils/src/lib.rs#L1217-L1251) | +| `AdminUtils.sudo_set_owner_immune_neuron_limit` | [`pallets/admin-utils/src/lib.rs#L1858`](/code/pallets/admin-utils/src/lib.rs#L1856-L1876) | +| `AdminUtils.sudo_set_alpha_values` | [`pallets/admin-utils/src/lib.rs#L1320`](/code/pallets/admin-utils/src/lib.rs#L1318-L1343) | +| `AdminUtils.sudo_set_commit_reveal_weights_enabled` | [`pallets/admin-utils/src/lib.rs#L1258`](/code/pallets/admin-utils/src/lib.rs#L1256-L1283) | +| `AdminUtils.sudo_set_liquid_alpha_enabled` | [`pallets/admin-utils/src/lib.rs#L1296`](/code/pallets/admin-utils/src/lib.rs#L1294-L1315) | +| `AdminUtils.sudo_set_network_pow_registration_allowed` | [`pallets/admin-utils/src/lib.rs#L742`](/code/pallets/admin-utils/src/lib.rs#L740-L748) | +| `AdminUtils.sudo_set_yuma3_enabled` | [`pallets/admin-utils/src/lib.rs#L1717`](/code/pallets/admin-utils/src/lib.rs#L1715-L1738) | +| `AdminUtils.sudo_set_bonds_reset_enabled` | [`pallets/admin-utils/src/lib.rs#L1751`](/code/pallets/admin-utils/src/lib.rs#L1749-L1772) | +| `AdminUtils.sudo_set_toggle_transfer` | [`pallets/admin-utils/src/lib.rs#L1510`](/code/pallets/admin-utils/src/lib.rs#L1508-L1530) | +| `AdminUtils.sudo_set_owner_cut_enabled` | [`pallets/admin-utils/src/lib.rs#L2300`](/code/pallets/admin-utils/src/lib.rs#L2298-L2318) | +| `AdminUtils.sudo_set_owner_cut_auto_lock_enabled` | [`pallets/admin-utils/src/lib.rs#L2324`](/code/pallets/admin-utils/src/lib.rs#L2322-L2342) | Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/docs/tx/set-mechanism-count.mdx b/docs/tx/set-mechanism-count.mdx index 64b3022378..042b731f64 100644 --- a/docs/tx/set-mechanism-count.mdx +++ b/docs/tx/set-mechanism-count.mdx @@ -16,7 +16,7 @@ end-of-epoch admin freeze window. | Signer | Origin | Pallet | Wraps | | --- | --- | --- | --- | -| `coldkey` | subnet owner | AdminUtils | [`AdminUtils.sudo_set_mechanism_count`](/code/pallets/admin-utils/src/lib.rs#L1888-L1910) | +| `coldkey` | subnet owner | AdminUtils | [`AdminUtils.sudo_set_mechanism_count`](/code/pallets/admin-utils/src/lib.rs#L1916-L1938) | ## Parameters @@ -68,7 +68,7 @@ result = sub.execute_tool("set_mechanism_count", {...}, wallet) ## On-chain implementation -`AdminUtils.sudo_set_mechanism_count` — [`pallets/admin-utils/src/lib.rs#L1890`](/code/pallets/admin-utils/src/lib.rs#L1888-L1910): +`AdminUtils.sudo_set_mechanism_count` — [`pallets/admin-utils/src/lib.rs#L1918`](/code/pallets/admin-utils/src/lib.rs#L1916-L1938): ```rust #[pallet::call_index(76)] diff --git a/docs/tx/set-perpetual-lock.mdx b/docs/tx/set-perpetual-lock.mdx index a82dccdf2d..47007f8ad3 100644 --- a/docs/tx/set-perpetual-lock.mdx +++ b/docs/tx/set-perpetual-lock.mdx @@ -82,6 +82,6 @@ pub fn set_perpetual_lock( } ``` -Delegates to [`do_set_perpetual_lock`](/code/pallets/subtensor/src/staking/lock.rs#L655). +Delegates to [`do_set_perpetual_lock`](/code/pallets/subtensor/src/staking/lock.rs#L656). Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/docs/tx/set-subnet-emission-enabled.mdx b/docs/tx/set-subnet-emission-enabled.mdx index b01d30ee5d..71bb6b4bea 100644 --- a/docs/tx/set-subnet-emission-enabled.mdx +++ b/docs/tx/set-subnet-emission-enabled.mdx @@ -24,7 +24,7 @@ read. | Signer | Origin | Pallet | Wraps | | --- | --- | --- | --- | -| `coldkey` | root (chain sudo) | AdminUtils | [`AdminUtils.sudo_set_subnet_emission_enabled`](/code/pallets/admin-utils/src/lib.rs#L2322-L2342), `Sudo.sudo` | +| `coldkey` | root (chain sudo) | AdminUtils | [`AdminUtils.sudo_set_subnet_emission_enabled`](/code/pallets/admin-utils/src/lib.rs#L2350-L2370), `Sudo.sudo` | ## Verify @@ -85,7 +85,7 @@ result = sub.execute_tool("set_subnet_emission_enabled", {...}, wallet) ## On-chain implementation -`AdminUtils.sudo_set_subnet_emission_enabled` — [`pallets/admin-utils/src/lib.rs#L2324`](/code/pallets/admin-utils/src/lib.rs#L2322-L2342): +`AdminUtils.sudo_set_subnet_emission_enabled` — [`pallets/admin-utils/src/lib.rs#L2352`](/code/pallets/admin-utils/src/lib.rs#L2350-L2370): ```rust #[pallet::call_index(94)] diff --git a/docs/tx/start-call.mdx b/docs/tx/start-call.mdx index 5b473d0f0e..7a59b29c19 100644 --- a/docs/tx/start-call.mdx +++ b/docs/tx/start-call.mdx @@ -76,6 +76,6 @@ pub fn start_call(origin: OriginFor, netuid: NetUid) -> DispatchResult { } ``` -Delegates to [`do_start_call`](/code/pallets/subtensor/src/subnets/subnet.rs#L538). +Delegates to [`do_start_call`](/code/pallets/subtensor/src/subnets/subnet.rs#L545). Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/docs/tx/trim-subnet.mdx b/docs/tx/trim-subnet.mdx index 9bb457ef29..6ccf829870 100644 --- a/docs/tx/trim-subnet.mdx +++ b/docs/tx/trim-subnet.mdx @@ -21,7 +21,7 @@ at or above the current UID count instead. | Signer | Origin | Pallet | Wraps | | --- | --- | --- | --- | -| `coldkey` | subnet owner | AdminUtils | [`AdminUtils.sudo_trim_to_max_allowed_uids`](/code/pallets/admin-utils/src/lib.rs#L1942-L1964) | +| `coldkey` | subnet owner | AdminUtils | [`AdminUtils.sudo_trim_to_max_allowed_uids`](/code/pallets/admin-utils/src/lib.rs#L1970-L1992) | ## Parameters @@ -73,7 +73,7 @@ result = sub.execute_tool("trim_subnet", {...}, wallet) ## On-chain implementation -`AdminUtils.sudo_trim_to_max_allowed_uids` — [`pallets/admin-utils/src/lib.rs#L1944`](/code/pallets/admin-utils/src/lib.rs#L1942-L1964): +`AdminUtils.sudo_trim_to_max_allowed_uids` — [`pallets/admin-utils/src/lib.rs#L1972`](/code/pallets/admin-utils/src/lib.rs#L1970-L1992): ```rust #[pallet::call_index(78)] diff --git a/docs/tx/update-symbol.mdx b/docs/tx/update-symbol.mdx index 788fce08c5..f47e46cd6e 100644 --- a/docs/tx/update-symbol.mdx +++ b/docs/tx/update-symbol.mdx @@ -90,6 +90,6 @@ pub fn update_symbol( } ``` -Delegates to [`ensure_subnet_owner_or_root`](/code/pallets/subtensor/src/utils/misc.rs#L12), [`if_subnet_exist`](/code/pallets/subtensor/src/subnets/subnet.rs#L39), [`ensure_symbol_exists`](/code/pallets/subtensor/src/subnets/symbols.rs#L960). +Delegates to [`ensure_subnet_owner_or_root`](/code/pallets/subtensor/src/utils/misc.rs#L12), [`if_subnet_exist`](/code/pallets/subtensor/src/subnets/subnet.rs#L40), [`ensure_symbol_exists`](/code/pallets/subtensor/src/subnets/symbols.rs#L960). Every file is browsable under [/code](/code) exactly as built into the runtime, or as plain text under `/code/raw/` (index: [`/code/index.json`](/code/index.json)). diff --git a/node/src/service.rs b/node/src/service.rs index 4210a6fa20..09c07f4dbb 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -325,12 +325,19 @@ where let warp_sync_config = grandpa_warp_sync::config(genesis_hash, config.chain_spec.chain_type()); log::warn!("{}", warp_sync_config.log_message()); - let warp_sync: Arc> = - Arc::new(sc_consensus_grandpa::warp_proof::NetworkProvider::new( - backend.clone(), - grandpa_link.shared_authority_set().clone(), - warp_sync_config.into_hard_forks(), - )); + let initial_set_id = warp_sync_config.one_time_initial_set_id(); + let inner = sc_consensus_grandpa::warp_proof::NetworkProvider::new( + backend.clone(), + grandpa_link.shared_authority_set().clone(), + warp_sync_config.into_hard_forks(), + ); + let warp_sync: Arc> = match initial_set_id { + Some(initial_set_id) => Arc::new(grandpa_warp_sync::InitialSetIdProvider::new( + inner, + initial_set_id, + )), + None => Arc::new(inner), + }; Some(WarpSyncConfig::WithProvider(warp_sync)) }; diff --git a/node/src/service/grandpa_warp_sync.rs b/node/src/service/grandpa_warp_sync.rs index 16507168f5..69496fb214 100644 --- a/node/src/service/grandpa_warp_sync.rs +++ b/node/src/service/grandpa_warp_sync.rs @@ -1,21 +1,28 @@ use node_subtensor_runtime::opaque::Block; use sc_chain_spec::ChainType; use sc_consensus_grandpa::{AuthoritySetHardFork, warp_proof::HardForks}; -use sp_consensus_grandpa::{AuthorityId, AuthorityList}; +use sc_network_sync::strategy::warp::{EncodedProof, VerificationResult, WarpSyncProvider}; +use sp_consensus_grandpa::{AuthorityId, AuthorityList, SetId}; use sp_core::{ByteArray, H256}; +const FINNEY_GENESIS: H256 = H256(hex_literal::hex!( + "2f0555cc76fc2840a25a6ea3b9637146806f1f44b090c175ffde2a7e5ab36c03" +)); const TESTNET_GENESIS: H256 = H256(hex_literal::hex!( "8f9cf856bf558a14440e75569c9e58594757048d7b3a84b5d25f6bd978263105" )); pub(super) enum Config { TestnetCheckpoints(Vec>), + OneTimeInitialSetId(SetId), InitialSetId(u64), } pub(super) fn config(genesis_hash: H256, chain_type: ChainType) -> Config { if genesis_hash == TESTNET_GENESIS { Config::TestnetCheckpoints(testnet_checkpoints()) + } else if genesis_hash == FINNEY_GENESIS { + Config::OneTimeInitialSetId(3) } else { let set_id = match chain_type { ChainType::Live => 3, @@ -30,22 +37,85 @@ impl Config { pub(super) fn log_message(&self) -> String { match self { Self::TestnetCheckpoints(_) => "Testnet GRANDPA warp sync checkpoints enabled.".into(), + Self::OneTimeInitialSetId(set_id) => { + format!( + "Finney GRANDPA warp sync one-time initial set ID patch enabled. Set ID = \ + {set_id}" + ) + } Self::InitialSetId(set_id) => { format!("GRANDPA warp sync initial set ID patch enabled. Set ID = {set_id}") } } } + pub(super) fn one_time_initial_set_id(&self) -> Option { + match self { + Self::OneTimeInitialSetId(set_id) => Some(*set_id), + Self::TestnetCheckpoints(_) | Self::InitialSetId(_) => None, + } + } + pub(super) fn into_hard_forks(self) -> HardForks { match self { Self::TestnetCheckpoints(checkpoints) => { HardForks::new_hard_forked_authorities(checkpoints) } + // Keep the provider in reinitialized-set mode so a completed proof does not replace + // its shared authority set. The outer provider supplies the actual one-time offset. + Self::OneTimeInitialSetId(_) => HardForks::new_initial_set_id(0), Self::InitialSetId(set_id) => HardForks::new_initial_set_id(set_id), } } } +pub(super) struct InitialSetIdProvider

{ + inner: P, + initial_set_id: SetId, +} + +impl

InitialSetIdProvider

{ + pub(super) fn new(inner: P, initial_set_id: SetId) -> Self { + Self { + inner, + initial_set_id, + } + } +} + +impl

WarpSyncProvider for InitialSetIdProvider

+where + P: WarpSyncProvider, +{ + fn generate( + &self, + start: H256, + ) -> Result> { + self.inner.generate(start) + } + + fn verify( + &self, + proof: &EncodedProof, + set_id: SetId, + authorities: AuthorityList, + ) -> Result, Box> { + // Warp sync starts from set 0. Apply Finney's historical correction there, then trust the + // set ID returned by each proof. The SDK's `new_initial_set_id` applies its correction to + // every fragment, which over-counts as soon as a proof spans new rotations. + let set_id = if set_id == 0 { + self.initial_set_id + } else { + set_id + }; + self.inner.verify(proof, set_id, authorities) + } + + fn current_authorities(&self) -> AuthorityList { + self.inner.current_authorities() + } +} + #[allow(clippy::expect_used)] fn testnet_authorities() -> AuthorityList { [ @@ -93,6 +163,39 @@ fn testnet_checkpoints() -> Vec> { #[cfg(test)] mod tests { use super::*; + use std::sync::atomic::{AtomicU64, Ordering}; + + #[derive(Default)] + struct RecordingProvider { + set_id: AtomicU64, + } + + impl WarpSyncProvider for RecordingProvider { + fn generate( + &self, + _start: H256, + ) -> Result> { + Ok(EncodedProof(Vec::new())) + } + + fn verify( + &self, + _proof: &EncodedProof, + set_id: SetId, + authorities: AuthorityList, + ) -> Result, Box> { + self.set_id.store(set_id, Ordering::Relaxed); + Ok(VerificationResult::Partial( + set_id.saturating_add(1), + authorities, + H256::zero(), + )) + } + + fn current_authorities(&self) -> AuthorityList { + Vec::new() + } + } #[test] fn checkpoints_are_exactly_testnet_genesis_scoped() { @@ -100,6 +203,10 @@ mod tests { config(TESTNET_GENESIS, ChainType::Live), Config::TestnetCheckpoints(_) )); + assert!(matches!( + config(FINNEY_GENESIS, ChainType::Live), + Config::OneTimeInitialSetId(3) + )); assert!(matches!( config(H256::zero(), ChainType::Live), Config::InitialSetId(3) @@ -155,4 +262,22 @@ mod tests { .collect::>(); assert_eq!(authority_ids, expected_authority_ids); } + + #[test] + fn finney_initial_set_id_is_applied_only_at_warp_sync_start() { + let provider = InitialSetIdProvider::new(RecordingProvider::default(), 3); + let proof = EncodedProof(Vec::new()); + + let Ok(first) = provider.verify(&proof, 0, Vec::new()) else { + panic!("first proof should verify"); + }; + assert!(matches!(first, VerificationResult::Partial(4, _, _))); + assert_eq!(provider.inner.set_id.load(Ordering::Relaxed), 3); + + let Ok(second) = provider.verify(&proof, 4, Vec::new()) else { + panic!("second proof should verify"); + }; + assert!(matches!(second, VerificationResult::Partial(5, _, _))); + assert_eq!(provider.inner.set_id.load(Ordering::Relaxed), 4); + } } diff --git a/pallets/admin-utils/src/benchmarking.rs b/pallets/admin-utils/src/benchmarking.rs index 908df75286..e379c35efc 100644 --- a/pallets/admin-utils/src/benchmarking.rs +++ b/pallets/admin-utils/src/benchmarking.rs @@ -56,7 +56,7 @@ mod benchmarks { let next_authorities = (1..=a) .map(|idx| account("Authority", idx, 0u32)) .collect::>(); - let in_blocks = BlockNumberFor::::from(42u32); + let in_blocks = BlockNumberFor::::from(0u32); #[extrinsic_call] _(RawOrigin::Root, next_authorities, in_blocks, None); diff --git a/pallets/admin-utils/src/lib.rs b/pallets/admin-utils/src/lib.rs index b2efbae1e0..1fed8d67ea 100644 --- a/pallets/admin-utils/src/lib.rs +++ b/pallets/admin-utils/src/lib.rs @@ -178,6 +178,8 @@ pub mod pallet { CollateralLockShareTooHigh, /// The collateral drain ratio must be positive and at most the settable maximum. CollateralDrainRatioOutOfBounds, + /// GRANDPA changes must take effect at the end of the current block. + GrandpaChangeDelayMustBeZero, } /// Enum for specifying the type of precompile operation. #[derive( @@ -1467,14 +1469,13 @@ pub mod pallet { /// /// Schedule a change in the authorities. /// - /// The change will be applied at the end of execution of the block `in_blocks` after the - /// current block. This value may be 0, in which case the change is applied at the end of - /// the current block. + /// The change is applied at the end of the current block, so `in_blocks` must be 0. This + /// keeps the authority set and its set ID consistent in every persisted block state. /// /// If the `forced` parameter is defined, this indicates that the current set has been - /// synchronously determined to be offline and that after `in_blocks` the given change - /// should be applied. The given block number indicates the median last finalized block - /// number and it should be used as the canon block when starting the new grandpa voter. + /// synchronously determined to be offline. The given block number indicates the median + /// last finalized block number and it should be used as the canon block when starting the + /// new grandpa voter. /// /// No change should be signaled while any change is pending. Returns an error if a change /// is already pending. @@ -1488,6 +1489,10 @@ pub mod pallet { forced: Option>, ) -> DispatchResult { ensure_root(origin)?; + ensure!( + in_blocks.is_zero(), + Error::::GrandpaChangeDelayMustBeZero + ); T::Grandpa::schedule_change(next_authorities, in_blocks, forced) } diff --git a/pallets/admin-utils/src/tests/mock.rs b/pallets/admin-utils/src/tests/mock.rs index effe293ce7..75803cf980 100644 --- a/pallets/admin-utils/src/tests/mock.rs +++ b/pallets/admin-utils/src/tests/mock.rs @@ -400,7 +400,12 @@ impl crate::GrandpaInterface for GrandpaInterfaceImpl { in_blocks: BlockNumber, forced: Option, ) -> sp_runtime::DispatchResult { - Grandpa::schedule_change(next_authorities, in_blocks, forced) + let next_set_id = Grandpa::current_set_id() + .checked_add(1) + .ok_or(sp_runtime::ArithmeticError::Overflow)?; + Grandpa::schedule_change(next_authorities, in_blocks, forced)?; + pallet_grandpa::CurrentSetId::::put(next_set_id); + Ok(()) } } diff --git a/pallets/admin-utils/src/tests/mod.rs b/pallets/admin-utils/src/tests/mod.rs index af0ae7485e..5a95853b34 100644 --- a/pallets/admin-utils/src/tests/mod.rs +++ b/pallets/admin-utils/src/tests/mod.rs @@ -1887,21 +1887,60 @@ fn test_sudo_non_root_cannot_set_evm_chain_id() { fn test_schedule_grandpa_change() { new_test_ext().execute_with(|| { assert_eq!(Grandpa::grandpa_authorities(), vec![]); + pallet_grandpa::CurrentSetId::::put(3); let bob: GrandpaId = ed25519::Pair::from_legacy_string("//Bob", None) .public() .into(); + assert_noop!( + AdminUtils::schedule_grandpa_change( + RuntimeOrigin::root(), + vec![(bob.clone(), 1)], + 41, + None + ), + crate::Error::::GrandpaChangeDelayMustBeZero + ); + assert_eq!(Grandpa::current_set_id(), 3); + assert_ok!(AdminUtils::schedule_grandpa_change( RuntimeOrigin::root(), vec![(bob.clone(), 1)], - 41, + 0, None )); - Grandpa::on_finalize(42); + assert_eq!(Grandpa::current_set_id(), 4); + assert_noop!( + AdminUtils::schedule_grandpa_change( + RuntimeOrigin::root(), + vec![(bob.clone(), 1)], + 0, + None + ), + pallet_grandpa::Error::::ChangePending + ); + assert_eq!(Grandpa::current_set_id(), 4); + + Grandpa::on_finalize(System::block_number()); assert_eq!(Grandpa::grandpa_authorities(), vec![(bob, 1)]); + assert_eq!(Grandpa::current_set_id(), 4); + }); +} + +#[test] +fn grandpa_set_id_overflow_does_not_schedule_change() { + new_test_ext().execute_with(|| { + pallet_grandpa::CurrentSetId::::put(u64::MAX); + + assert_noop!( + AdminUtils::schedule_grandpa_change(RuntimeOrigin::root(), Vec::new(), 0, None), + sp_runtime::ArithmeticError::Overflow + ); + assert!(!pallet_grandpa::PendingChange::::exists()); + assert_eq!(Grandpa::current_set_id(), u64::MAX); }); } diff --git a/pallets/admin-utils/src/weights.rs b/pallets/admin-utils/src/weights.rs index 15497f848d..1704364178 100644 --- a/pallets/admin-utils/src/weights.rs +++ b/pallets/admin-utils/src/weights.rs @@ -143,17 +143,19 @@ impl WeightInfo for SubstrateWeight { } /// Storage: `Grandpa::PendingChange` (r:1 w:1) /// Proof: `Grandpa::PendingChange` (`max_values`: Some(1), `max_size`: Some(1294), added: 1789, mode: `MaxEncodedLen`) + /// Storage: `Grandpa::CurrentSetId` (r:1 w:1) + /// Proof: `Grandpa::CurrentSetId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, 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` + // Estimated: `3282` // Minimum execution time: 7_444_000 picoseconds. - Weight::from_parts(8_055_222, 2779) + Weight::from_parts(8_055_222, 3282) // Standard Error: 917 .saturating_add(Weight::from_parts(18_955, 0).saturating_mul(a.into())) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) } /// Storage: `SubtensorModule::MaxDelegateTake` (r:0 w:1) /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) @@ -1528,17 +1530,19 @@ impl WeightInfo for () { } /// Storage: `Grandpa::PendingChange` (r:1 w:1) /// Proof: `Grandpa::PendingChange` (`max_values`: Some(1), `max_size`: Some(1294), added: 1789, mode: `MaxEncodedLen`) + /// Storage: `Grandpa::CurrentSetId` (r:1 w:1) + /// Proof: `Grandpa::CurrentSetId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, 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` + // Estimated: `3282` // Minimum execution time: 7_444_000 picoseconds. - Weight::from_parts(8_055_222, 2779) + Weight::from_parts(8_055_222, 3282) // Standard Error: 917 .saturating_add(Weight::from_parts(18_955, 0).saturating_mul(a.into())) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) } /// Storage: `SubtensorModule::MaxDelegateTake` (r:0 w:1) /// Proof: `SubtensorModule::MaxDelegateTake` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 4bbd90b334..4bb819f631 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -1021,7 +1021,14 @@ impl pallet_admin_utils::GrandpaInterface for GrandpaInterfaceImpl { in_blocks: BlockNumber, forced: Option, ) -> sp_runtime::DispatchResult { - Grandpa::schedule_change(next_authorities, in_blocks, forced) + let next_set_id = Grandpa::current_set_id() + .checked_add(1) + .ok_or(sp_runtime::ArithmeticError::Overflow)?; + Grandpa::schedule_change(next_authorities, in_blocks, forced)?; + // This runtime does not use pallet-session, so mirror the bookkeeping performed by + // pallet-grandpa's session handler after it successfully schedules an authority change. + pallet_grandpa::CurrentSetId::::put(next_set_id); + Ok(()) } } diff --git a/sdk/python/bittensor/_generated/calls.py b/sdk/python/bittensor/_generated/calls.py index 8b5f892a24..fd9fd1f192 100644 --- a/sdk/python/bittensor/_generated/calls.py +++ b/sdk/python/bittensor/_generated/calls.py @@ -879,7 +879,7 @@ class AdminUtils: @staticmethod def schedule_grandpa_change(next_authorities: 'Any', in_blocks: 'u32', forced: 'Any') -> Call: - 'A public interface for `pallet_grandpa::Pallet::schedule_grandpa_change`. Schedule a change in the authorities. The change will be applied at the end of execution of the block `in_blocks` after the current block. This value may be 0, in which case the change is applied at the end of the current block. If the `forced` parameter is defined, this indicates that the current set has been synchronously determined to be offline and that after `in_blocks` the given change should be applied. The given block number indicates the median last finalized block number and it should be used as the canon block when starting the new grandpa voter. No change should be signaled while any change is pending. Returns an error if a change is already pending.' + 'A public interface for `pallet_grandpa::Pallet::schedule_grandpa_change`. Schedule a change in the authorities. The change is applied at the end of the current block, so `in_blocks` must be 0. This keeps the authority set and its set ID consistent in every persisted block state. If the `forced` parameter is defined, this indicates that the current set has been synchronously determined to be offline. The given block number indicates the median last finalized block number and it should be used as the canon block when starting the new grandpa voter. No change should be signaled while any change is pending. Returns an error if a change is already pending.' return Call('AdminUtils', 'schedule_grandpa_change', {'next_authorities': next_authorities, 'in_blocks': in_blocks, 'forced': forced}) @staticmethod diff --git a/sdk/python/bittensor/_generated/errors.py b/sdk/python/bittensor/_generated/errors.py index a14ef348cd..55c02947ab 100644 --- a/sdk/python/bittensor/_generated/errors.py +++ b/sdk/python/bittensor/_generated/errors.py @@ -260,6 +260,7 @@ class ErrorInfo: (19, 13): ErrorInfo('AdminUtils', 'Deprecated', 'Call is deprecated'), (19, 14): ErrorInfo('AdminUtils', 'CollateralLockShareTooHigh', 'The collateral lock share exceeds the settable maximum (95% of the registration price).'), (19, 15): ErrorInfo('AdminUtils', 'CollateralDrainRatioOutOfBounds', 'The collateral drain ratio must be positive and at most the settable maximum.'), + (19, 16): ErrorInfo('AdminUtils', 'GrandpaChangeDelayMustBeZero', 'GRANDPA changes must take effect at the end of the current block.'), (20, 0): ErrorInfo('SafeMode', 'Entered', 'The safe-mode is (already or still) entered.'), (20, 1): ErrorInfo('SafeMode', 'Exited', 'The safe-mode is (already or still) exited.'), (20, 2): ErrorInfo('SafeMode', 'NotConfigured', 'This functionality of the pallet is disabled by the configuration.'), diff --git a/sdk/python/bittensor/error_descriptions/admin_utils.py b/sdk/python/bittensor/error_descriptions/admin_utils.py index 264e783f0e..174ed20136 100644 --- a/sdk/python/bittensor/error_descriptions/admin_utils.py +++ b/sdk/python/bittensor/error_descriptions/admin_utils.py @@ -15,6 +15,11 @@ "strictly positive so re-registration always pays a nonzero, floating burn. Lower the " "`lock_share` argument to at most 62258." ), + "GrandpaChangeDelayMustBeZero": ( + "`schedule_grandpa_change` was given a nonzero `in_blocks` delay. GRANDPA authority " + "changes submitted through AdminUtils must activate at the end of the current block so " + "the authority set and its set ID remain consistent. Pass `in_blocks=0`." + ), "BondsMovingAverageMaxReached": ( "A subnet owner called `sudo_set_bonds_moving_average` with a value above 975000, the " "cap for owner-set values; root is exempt. Lower the `bonds_moving_average` argument or " diff --git a/sdk/python/bittensor/error_map.py b/sdk/python/bittensor/error_map.py index 6f1a207876..72e1ab0b76 100644 --- a/sdk/python/bittensor/error_map.py +++ b/sdk/python/bittensor/error_map.py @@ -316,6 +316,7 @@ class ErrorCode(str, Enum): "POWRegistrationDisabled": _C.DISABLED, "CollateralLockShareTooHigh": _C.INVALID_ARGUMENT, "CollateralDrainRatioOutOfBounds": _C.INVALID_ARGUMENT, + "GrandpaChangeDelayMustBeZero": _C.INVALID_ARGUMENT, # ── SafeMode ──────────────────────────────────────────────────────── "Entered": _C.ALREADY_EXISTS, "Exited": _C.ALREADY_EXISTS, diff --git a/website/apps/bittensor-website/public/catalog/errors.json b/website/apps/bittensor-website/public/catalog/errors.json index e2a6ee525c..1823d9fb3a 100644 --- a/website/apps/bittensor-website/public/catalog/errors.json +++ b/website/apps/bittensor-website/public/catalog/errors.json @@ -1810,6 +1810,24 @@ "EVM" ] }, + "GrandpaChangeDelayMustBeZero": { + "code": "invalid_argument", + "description": "`schedule_grandpa_change` was given a nonzero `in_blocks` delay. GRANDPA authority changes submitted through AdminUtils must activate at the end of the current block so the authority set and its set ID remain consistent. Pass `in_blocks=0`.", + "docs_url": "/docs/errors/chain/GrandpaChangeDelayMustBeZero", + "markdown_url": "/llms.mdx/docs/errors/chain/GrandpaChangeDelayMustBeZero/content.md", + "pallets": [ + "AdminUtils" + ], + "sources": [ + { + "pallet": "AdminUtils", + "path": "pallets/admin-utils/src/lib.rs", + "line": 182, + "url": "/code/pallets/admin-utils/src/lib.rs#L182", + "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" + } + ] + }, "HotKeyAccountNotExists": { "code": "not_registered", "description": "The hotkey has no on-chain account, meaning it was never created through registration, so staking or delegation operations cannot reference it. Check the `Owner` storage for the hotkey or `btcli wallet overview`; register the hotkey on a subnet first.", diff --git a/website/apps/bittensor-website/public/catalog/intents.json b/website/apps/bittensor-website/public/catalog/intents.json index b6c93a3941..995aa26b5a 100644 --- a/website/apps/bittensor-website/public/catalog/intents.json +++ b/website/apps/bittensor-website/public/catalog/intents.json @@ -2751,279 +2751,279 @@ "pallet": "AdminUtils", "call": "sudo_set_tempo", "path": "pallets/admin-utils/src/lib.rs", - "line": 1049, - "end_line": 1053, - "url": "/code/pallets/admin-utils/src/lib.rs#L1038-L1053", + "line": 1051, + "end_line": 1055, + "url": "/code/pallets/admin-utils/src/lib.rs#L1040-L1055", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_immunity_period", "path": "pallets/admin-utils/src/lib.rs", - "line": 493, - "end_line": 519, - "url": "/code/pallets/admin-utils/src/lib.rs#L491-L519", + "line": 495, + "end_line": 521, + "url": "/code/pallets/admin-utils/src/lib.rs#L493-L521", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_min_allowed_weights", "path": "pallets/admin-utils/src/lib.rs", - "line": 526, - "end_line": 552, - "url": "/code/pallets/admin-utils/src/lib.rs#L524-L552", + "line": 528, + "end_line": 554, + "url": "/code/pallets/admin-utils/src/lib.rs#L526-L554", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_weights_version_key", "path": "pallets/admin-utils/src/lib.rs", - "line": 378, - "end_line": 406, - "url": "/code/pallets/admin-utils/src/lib.rs#L376-L406", + "line": 380, + "end_line": 408, + "url": "/code/pallets/admin-utils/src/lib.rs#L378-L408", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_activity_cutoff_factor", "path": "pallets/admin-utils/src/lib.rs", - "line": 698, - "end_line": 712, - "url": "/code/pallets/admin-utils/src/lib.rs#L696-L712", + "line": 700, + "end_line": 714, + "url": "/code/pallets/admin-utils/src/lib.rs#L698-L714", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_min_burn", "path": "pallets/admin-utils/src/lib.rs", - "line": 780, - "end_line": 812, - "url": "/code/pallets/admin-utils/src/lib.rs#L778-L812", + "line": 782, + "end_line": 814, + "url": "/code/pallets/admin-utils/src/lib.rs#L780-L814", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_max_burn", "path": "pallets/admin-utils/src/lib.rs", - "line": 819, - "end_line": 851, - "url": "/code/pallets/admin-utils/src/lib.rs#L817-L851", + "line": 821, + "end_line": 853, + "url": "/code/pallets/admin-utils/src/lib.rs#L819-L853", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_bonds_moving_average", "path": "pallets/admin-utils/src/lib.rs", - "line": 911, - "end_line": 943, - "url": "/code/pallets/admin-utils/src/lib.rs#L909-L943", + "line": 913, + "end_line": 945, + "url": "/code/pallets/admin-utils/src/lib.rs#L911-L945", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_bonds_penalty", "path": "pallets/admin-utils/src/lib.rs", - "line": 950, - "end_line": 974, - "url": "/code/pallets/admin-utils/src/lib.rs#L948-L974", + "line": 952, + "end_line": 976, + "url": "/code/pallets/admin-utils/src/lib.rs#L950-L976", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_serving_rate_limit", "path": "pallets/admin-utils/src/lib.rs", - "line": 295, - "end_line": 314, - "url": "/code/pallets/admin-utils/src/lib.rs#L293-L314", + "line": 297, + "end_line": 316, + "url": "/code/pallets/admin-utils/src/lib.rs#L295-L316", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_commit_reveal_weights_interval", "path": "pallets/admin-utils/src/lib.rs", - "line": 1393, - "end_line": 1420, - "url": "/code/pallets/admin-utils/src/lib.rs#L1391-L1420", + "line": 1418, + "end_line": 1445, + "url": "/code/pallets/admin-utils/src/lib.rs#L1416-L1445", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_max_allowed_uids", "path": "pallets/admin-utils/src/lib.rs", - "line": 559, - "end_line": 602, - "url": "/code/pallets/admin-utils/src/lib.rs#L557-L602", + "line": 561, + "end_line": 604, + "url": "/code/pallets/admin-utils/src/lib.rs#L559-L604", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_burn_increase_mult", "path": "pallets/admin-utils/src/lib.rs", - "line": 2228, - "end_line": 2266, - "url": "/code/pallets/admin-utils/src/lib.rs#L2226-L2266", + "line": 2256, + "end_line": 2294, + "url": "/code/pallets/admin-utils/src/lib.rs#L2254-L2294", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_burn_half_life", "path": "pallets/admin-utils/src/lib.rs", - "line": 2186, - "end_line": 2222, - "url": "/code/pallets/admin-utils/src/lib.rs#L2184-L2222", + "line": 2214, + "end_line": 2250, + "url": "/code/pallets/admin-utils/src/lib.rs#L2212-L2250", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_collateral_lock_share", "path": "pallets/admin-utils/src/lib.rs", - "line": 2352, - "end_line": 2385, - "url": "/code/pallets/admin-utils/src/lib.rs#L2350-L2385", + "line": 2380, + "end_line": 2413, + "url": "/code/pallets/admin-utils/src/lib.rs#L2378-L2413", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_collateral_drain_ratio", "path": "pallets/admin-utils/src/lib.rs", - "line": 2395, - "end_line": 2434, - "url": "/code/pallets/admin-utils/src/lib.rs#L2393-L2434", + "line": 2423, + "end_line": 2462, + "url": "/code/pallets/admin-utils/src/lib.rs#L2421-L2462", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_adjustment_alpha", "path": "pallets/admin-utils/src/lib.rs", - "line": 462, - "end_line": 486, - "url": "/code/pallets/admin-utils/src/lib.rs#L460-L486", + "line": 464, + "end_line": 488, + "url": "/code/pallets/admin-utils/src/lib.rs#L462-L488", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_rho", "path": "pallets/admin-utils/src/lib.rs", - "line": 625, - "end_line": 645, - "url": "/code/pallets/admin-utils/src/lib.rs#L623-L645", + "line": 627, + "end_line": 647, + "url": "/code/pallets/admin-utils/src/lib.rs#L625-L647", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_max_difficulty", "path": "pallets/admin-utils/src/lib.rs", - "line": 345, - "end_line": 371, - "url": "/code/pallets/admin-utils/src/lib.rs#L343-L371", + "line": 347, + "end_line": 373, + "url": "/code/pallets/admin-utils/src/lib.rs#L345-L373", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_alpha_sigmoid_steepness", "path": "pallets/admin-utils/src/lib.rs", - "line": 1644, - "end_line": 1676, - "url": "/code/pallets/admin-utils/src/lib.rs#L1642-L1676", + "line": 1672, + "end_line": 1704, + "url": "/code/pallets/admin-utils/src/lib.rs#L1670-L1704", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_min_childkey_take_per_subnet", "path": "pallets/admin-utils/src/lib.rs", - "line": 1217, - "end_line": 1249, - "url": "/code/pallets/admin-utils/src/lib.rs#L1215-L1249", + "line": 1219, + "end_line": 1251, + "url": "/code/pallets/admin-utils/src/lib.rs#L1217-L1251", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_owner_immune_neuron_limit", "path": "pallets/admin-utils/src/lib.rs", - "line": 1830, - "end_line": 1848, - "url": "/code/pallets/admin-utils/src/lib.rs#L1828-L1848", + "line": 1858, + "end_line": 1876, + "url": "/code/pallets/admin-utils/src/lib.rs#L1856-L1876", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_alpha_values", "path": "pallets/admin-utils/src/lib.rs", - "line": 1318, - "end_line": 1341, - "url": "/code/pallets/admin-utils/src/lib.rs#L1316-L1341", + "line": 1320, + "end_line": 1343, + "url": "/code/pallets/admin-utils/src/lib.rs#L1318-L1343", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_commit_reveal_weights_enabled", "path": "pallets/admin-utils/src/lib.rs", - "line": 1256, - "end_line": 1281, - "url": "/code/pallets/admin-utils/src/lib.rs#L1254-L1281", + "line": 1258, + "end_line": 1283, + "url": "/code/pallets/admin-utils/src/lib.rs#L1256-L1283", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_liquid_alpha_enabled", "path": "pallets/admin-utils/src/lib.rs", - "line": 1294, - "end_line": 1313, - "url": "/code/pallets/admin-utils/src/lib.rs#L1292-L1313", + "line": 1296, + "end_line": 1315, + "url": "/code/pallets/admin-utils/src/lib.rs#L1294-L1315", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_network_pow_registration_allowed", "path": "pallets/admin-utils/src/lib.rs", - "line": 740, - "end_line": 746, - "url": "/code/pallets/admin-utils/src/lib.rs#L738-L746", + "line": 742, + "end_line": 748, + "url": "/code/pallets/admin-utils/src/lib.rs#L740-L748", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_yuma3_enabled", "path": "pallets/admin-utils/src/lib.rs", - "line": 1689, - "end_line": 1710, - "url": "/code/pallets/admin-utils/src/lib.rs#L1687-L1710", + "line": 1717, + "end_line": 1738, + "url": "/code/pallets/admin-utils/src/lib.rs#L1715-L1738", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_bonds_reset_enabled", "path": "pallets/admin-utils/src/lib.rs", - "line": 1723, - "end_line": 1744, - "url": "/code/pallets/admin-utils/src/lib.rs#L1721-L1744", + "line": 1751, + "end_line": 1772, + "url": "/code/pallets/admin-utils/src/lib.rs#L1749-L1772", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_toggle_transfer", "path": "pallets/admin-utils/src/lib.rs", - "line": 1482, - "end_line": 1502, - "url": "/code/pallets/admin-utils/src/lib.rs#L1480-L1502", + "line": 1510, + "end_line": 1530, + "url": "/code/pallets/admin-utils/src/lib.rs#L1508-L1530", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_owner_cut_enabled", "path": "pallets/admin-utils/src/lib.rs", - "line": 2272, - "end_line": 2290, - "url": "/code/pallets/admin-utils/src/lib.rs#L2270-L2290", + "line": 2300, + "end_line": 2318, + "url": "/code/pallets/admin-utils/src/lib.rs#L2298-L2318", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" }, { "pallet": "AdminUtils", "call": "sudo_set_owner_cut_auto_lock_enabled", "path": "pallets/admin-utils/src/lib.rs", - "line": 2296, - "end_line": 2314, - "url": "/code/pallets/admin-utils/src/lib.rs#L2294-L2314", + "line": 2324, + "end_line": 2342, + "url": "/code/pallets/admin-utils/src/lib.rs#L2322-L2342", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" } ] @@ -3134,9 +3134,9 @@ "pallet": "AdminUtils", "call": "sudo_set_mechanism_count", "path": "pallets/admin-utils/src/lib.rs", - "line": 1890, - "end_line": 1910, - "url": "/code/pallets/admin-utils/src/lib.rs#L1888-L1910", + "line": 1918, + "end_line": 1938, + "url": "/code/pallets/admin-utils/src/lib.rs#L1916-L1938", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" } ] @@ -3400,9 +3400,9 @@ "pallet": "AdminUtils", "call": "sudo_set_subnet_emission_enabled", "path": "pallets/admin-utils/src/lib.rs", - "line": 2324, - "end_line": 2342, - "url": "/code/pallets/admin-utils/src/lib.rs#L2322-L2342", + "line": 2352, + "end_line": 2370, + "url": "/code/pallets/admin-utils/src/lib.rs#L2350-L2370", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" } ] @@ -4183,9 +4183,9 @@ "pallet": "AdminUtils", "call": "sudo_trim_to_max_allowed_uids", "path": "pallets/admin-utils/src/lib.rs", - "line": 1944, - "end_line": 1964, - "url": "/code/pallets/admin-utils/src/lib.rs#L1942-L1964", + "line": 1972, + "end_line": 1992, + "url": "/code/pallets/admin-utils/src/lib.rs#L1970-L1992", "raw_url": "/code/raw/pallets/admin-utils/src/lib.rs" } ] diff --git a/website/apps/bittensor-website/public/catalog/reads.json b/website/apps/bittensor-website/public/catalog/reads.json index 2af3ebf83b..b6282c62f5 100644 --- a/website/apps/bittensor-website/public/catalog/reads.json +++ b/website/apps/bittensor-website/public/catalog/reads.json @@ -42,9 +42,9 @@ "container": "SwapRuntimeApi", "name": "current_alpha_price_all", "path": "runtime/src/lib.rs", - "line": 2478, - "end_line": 2488, - "url": "/code/runtime/src/lib.rs#L2478-L2488", + "line": 2485, + "end_line": 2495, + "url": "/code/runtime/src/lib.rs#L2485-L2495", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -71,8 +71,8 @@ "container": "SubtensorModule", "name": "AssociatedEvmAddress", "path": "pallets/subtensor/src/lib.rs", - "line": 2910, - "url": "/code/pallets/subtensor/src/lib.rs#L2910", + "line": 2956, + "url": "/code/pallets/subtensor/src/lib.rs#L2956", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -99,8 +99,8 @@ "container": "SubtensorModule", "name": "AutoStakeDestination", "path": "pallets/subtensor/src/lib.rs", - "line": 1589, - "url": "/code/pallets/subtensor/src/lib.rs#L1589", + "line": 1625, + "url": "/code/pallets/subtensor/src/lib.rs#L1625", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -125,8 +125,8 @@ "container": "SubtensorModule", "name": "AutoStakeDestination", "path": "pallets/subtensor/src/lib.rs", - "line": 1589, - "url": "/code/pallets/subtensor/src/lib.rs#L1589", + "line": 1625, + "url": "/code/pallets/subtensor/src/lib.rs#L1625", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -221,8 +221,8 @@ "container": "SubtensorModule", "name": "BlocksSinceLastStep", "path": "pallets/subtensor/src/lib.rs", - "line": 2164, - "url": "/code/pallets/subtensor/src/lib.rs#L2164", + "line": 2200, + "url": "/code/pallets/subtensor/src/lib.rs#L2200", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -249,8 +249,8 @@ "container": "SubtensorModule", "name": "LastUpdate", "path": "pallets/subtensor/src/lib.rs", - "line": 2553, - "url": "/code/pallets/subtensor/src/lib.rs#L2553", + "line": 2599, + "url": "/code/pallets/subtensor/src/lib.rs#L2599", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -275,9 +275,9 @@ "container": "SubnetInfoRuntimeApi", "name": "get_next_epoch_start_block", "path": "pallets/subtensor/src/coinbase/run_coinbase.rs", - "line": 1262, - "end_line": 1276, - "url": "/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1262-L1276", + "line": 1261, + "end_line": 1275, + "url": "/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1261-L1275", "raw_url": "/code/raw/pallets/subtensor/src/coinbase/run_coinbase.rs" } ] @@ -304,8 +304,8 @@ "container": "SubtensorModule", "name": "Bonds", "path": "pallets/subtensor/src/lib.rs", - "line": 2581, - "url": "/code/pallets/subtensor/src/lib.rs#L2581", + "line": 2627, + "url": "/code/pallets/subtensor/src/lib.rs#L2627", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -330,8 +330,8 @@ "container": "SubtensorModule", "name": "Burn", "path": "pallets/subtensor/src/lib.rs", - "line": 2318, - "url": "/code/pallets/subtensor/src/lib.rs#L2318", + "line": 2354, + "url": "/code/pallets/subtensor/src/lib.rs#L2354", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -358,8 +358,8 @@ "container": "SubtensorModule", "name": "ChildKeys", "path": "pallets/subtensor/src/lib.rs", - "line": 1365, - "url": "/code/pallets/subtensor/src/lib.rs#L1365", + "line": 1401, + "url": "/code/pallets/subtensor/src/lib.rs#L1401", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -386,8 +386,8 @@ "container": "SubtensorModule", "name": "Lock", "path": "pallets/subtensor/src/lib.rs", - "line": 1712, - "url": "/code/pallets/subtensor/src/lib.rs#L1712", + "line": 1748, + "url": "/code/pallets/subtensor/src/lib.rs#L1748", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -412,8 +412,8 @@ "container": "SubtensorModule", "name": "ColdkeySwapAnnouncements", "path": "pallets/subtensor/src/lib.rs", - "line": 1624, - "url": "/code/pallets/subtensor/src/lib.rs#L1624", + "line": 1660, + "url": "/code/pallets/subtensor/src/lib.rs#L1660", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -421,8 +421,8 @@ "container": "SubtensorModule", "name": "ColdkeySwapDisputes", "path": "pallets/subtensor/src/lib.rs", - "line": 1630, - "url": "/code/pallets/subtensor/src/lib.rs#L1630", + "line": 1666, + "url": "/code/pallets/subtensor/src/lib.rs#L1666", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -462,8 +462,8 @@ "container": "SubtensorModule", "name": "CommitRevealWeightsEnabled", "path": "pallets/subtensor/src/lib.rs", - "line": 2313, - "url": "/code/pallets/subtensor/src/lib.rs#L2313", + "line": 2349, + "url": "/code/pallets/subtensor/src/lib.rs#L2349", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -632,8 +632,8 @@ "container": "SubtensorModule", "name": "Delegates", "path": "pallets/subtensor/src/lib.rs", - "line": 1335, - "url": "/code/pallets/subtensor/src/lib.rs#L1335", + "line": 1371, + "url": "/code/pallets/subtensor/src/lib.rs#L1371", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -641,8 +641,8 @@ "container": "SubtensorModule", "name": "MinDelegateTake", "path": "pallets/subtensor/src/lib.rs", - "line": 1308, - "url": "/code/pallets/subtensor/src/lib.rs#L1308", + "line": 1344, + "url": "/code/pallets/subtensor/src/lib.rs#L1344", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -650,8 +650,8 @@ "container": "SubtensorModule", "name": "MaxDelegateTake", "path": "pallets/subtensor/src/lib.rs", - "line": 1304, - "url": "/code/pallets/subtensor/src/lib.rs#L1304", + "line": 1340, + "url": "/code/pallets/subtensor/src/lib.rs#L1340", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -726,8 +726,8 @@ "container": "SubtensorModule", "name": "Difficulty", "path": "pallets/subtensor/src/lib.rs", - "line": 2322, - "url": "/code/pallets/subtensor/src/lib.rs#L2322", + "line": 2358, + "url": "/code/pallets/subtensor/src/lib.rs#L2358", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -752,8 +752,8 @@ "container": "SubtensorModule", "name": "Tempo", "path": "pallets/subtensor/src/lib.rs", - "line": 2022, - "url": "/code/pallets/subtensor/src/lib.rs#L2022", + "line": 2058, + "url": "/code/pallets/subtensor/src/lib.rs#L2058", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -761,8 +761,8 @@ "container": "SubtensorModule", "name": "LastEpochBlock", "path": "pallets/subtensor/src/lib.rs", - "line": 2047, - "url": "/code/pallets/subtensor/src/lib.rs#L2047", + "line": 2083, + "url": "/code/pallets/subtensor/src/lib.rs#L2083", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -770,8 +770,8 @@ "container": "SubtensorModule", "name": "BlocksSinceLastStep", "path": "pallets/subtensor/src/lib.rs", - "line": 2164, - "url": "/code/pallets/subtensor/src/lib.rs#L2164", + "line": 2200, + "url": "/code/pallets/subtensor/src/lib.rs#L2200", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -779,8 +779,8 @@ "container": "SubtensorModule", "name": "PendingEpochAt", "path": "pallets/subtensor/src/lib.rs", - "line": 2053, - "url": "/code/pallets/subtensor/src/lib.rs#L2053", + "line": 2089, + "url": "/code/pallets/subtensor/src/lib.rs#L2089", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -788,8 +788,8 @@ "container": "SubtensorModule", "name": "SubnetEpochIndex", "path": "pallets/subtensor/src/lib.rs", - "line": 2059, - "url": "/code/pallets/subtensor/src/lib.rs#L2059", + "line": 2095, + "url": "/code/pallets/subtensor/src/lib.rs#L2095", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -797,9 +797,9 @@ "container": "SubnetInfoRuntimeApi", "name": "get_next_epoch_start_block", "path": "pallets/subtensor/src/coinbase/run_coinbase.rs", - "line": 1262, - "end_line": 1276, - "url": "/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1262-L1276", + "line": 1261, + "end_line": 1275, + "url": "/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1261-L1275", "raw_url": "/code/raw/pallets/subtensor/src/coinbase/run_coinbase.rs" } ] @@ -848,9 +848,9 @@ "container": "StakeInfoRuntimeApi", "name": "get_hotkey_conviction", "path": "runtime/src/lib.rs", - "line": 2361, - "end_line": 2363, - "url": "/code/runtime/src/lib.rs#L2361-L2363", + "line": 2368, + "end_line": 2370, + "url": "/code/runtime/src/lib.rs#L2368-L2370", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -875,8 +875,8 @@ "container": "SubtensorModule", "name": "Owner", "path": "pallets/subtensor/src/lib.rs", - "line": 1325, - "url": "/code/pallets/subtensor/src/lib.rs#L1325", + "line": 1361, + "url": "/code/pallets/subtensor/src/lib.rs#L1361", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -884,8 +884,8 @@ "container": "SubtensorModule", "name": "IdentitiesV2", "path": "pallets/subtensor/src/lib.rs", - "line": 2643, - "url": "/code/pallets/subtensor/src/lib.rs#L2643", + "line": 2689, + "url": "/code/pallets/subtensor/src/lib.rs#L2689", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -910,8 +910,8 @@ "container": "SubtensorModule", "name": "Owner", "path": "pallets/subtensor/src/lib.rs", - "line": 1325, - "url": "/code/pallets/subtensor/src/lib.rs#L1325", + "line": 1361, + "url": "/code/pallets/subtensor/src/lib.rs#L1361", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -936,8 +936,8 @@ "container": "SubtensorModule", "name": "IdentitiesV2", "path": "pallets/subtensor/src/lib.rs", - "line": 2643, - "url": "/code/pallets/subtensor/src/lib.rs#L2643", + "line": 2689, + "url": "/code/pallets/subtensor/src/lib.rs#L2689", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -962,8 +962,8 @@ "container": "SubtensorModule", "name": "ImmunityPeriod", "path": "pallets/subtensor/src/lib.rs", - "line": 2232, - "url": "/code/pallets/subtensor/src/lib.rs#L2232", + "line": 2268, + "url": "/code/pallets/subtensor/src/lib.rs#L2268", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1026,8 +1026,8 @@ "container": "SubtensorModule", "name": "SubnetLeases", "path": "pallets/subtensor/src/lib.rs", - "line": 2928, - "url": "/code/pallets/subtensor/src/lib.rs#L2928", + "line": 2974, + "url": "/code/pallets/subtensor/src/lib.rs#L2974", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1048,8 +1048,8 @@ "container": "SubtensorModule", "name": "SubnetLeases", "path": "pallets/subtensor/src/lib.rs", - "line": 2928, - "url": "/code/pallets/subtensor/src/lib.rs#L2928", + "line": 2974, + "url": "/code/pallets/subtensor/src/lib.rs#L2974", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1074,8 +1074,8 @@ "container": "SubtensorModule", "name": "Lock", "path": "pallets/subtensor/src/lib.rs", - "line": 1712, - "url": "/code/pallets/subtensor/src/lib.rs#L1712", + "line": 1748, + "url": "/code/pallets/subtensor/src/lib.rs#L1748", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1100,8 +1100,8 @@ "container": "SubtensorModule", "name": "MaxWeightsLimit", "path": "pallets/subtensor/src/lib.rs", - "line": 2248, - "url": "/code/pallets/subtensor/src/lib.rs#L2248", + "line": 2284, + "url": "/code/pallets/subtensor/src/lib.rs#L2284", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1126,8 +1126,8 @@ "container": "SubtensorModule", "name": "MechanismCountCurrent", "path": "pallets/subtensor/src/lib.rs", - "line": 3002, - "url": "/code/pallets/subtensor/src/lib.rs#L3002", + "line": 3048, + "url": "/code/pallets/subtensor/src/lib.rs#L3048", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1152,8 +1152,8 @@ "container": "SubtensorModule", "name": "MechanismEmissionSplit", "path": "pallets/subtensor/src/lib.rs", - "line": 3007, - "url": "/code/pallets/subtensor/src/lib.rs#L3007", + "line": 3053, + "url": "/code/pallets/subtensor/src/lib.rs#L3053", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1226,8 +1226,8 @@ "container": "SubtensorModule", "name": "MinAllowedWeights", "path": "pallets/subtensor/src/lib.rs", - "line": 2258, - "url": "/code/pallets/subtensor/src/lib.rs#L2258", + "line": 2294, + "url": "/code/pallets/subtensor/src/lib.rs#L2294", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1256,8 +1256,8 @@ "container": "SubtensorModule", "name": "Owner", "path": "pallets/subtensor/src/lib.rs", - "line": 1325, - "url": "/code/pallets/subtensor/src/lib.rs#L1325", + "line": 1361, + "url": "/code/pallets/subtensor/src/lib.rs#L1361", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1282,9 +1282,9 @@ "container": "StakeInfoRuntimeApi", "name": "get_most_convicted_hotkey_on_subnet", "path": "runtime/src/lib.rs", - "line": 2365, - "end_line": 2367, - "url": "/code/runtime/src/lib.rs#L2365-L2367", + "line": 2372, + "end_line": 2374, + "url": "/code/runtime/src/lib.rs#L2372-L2374", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -1333,8 +1333,8 @@ "container": "SubtensorModule", "name": "IsNetworkMember", "path": "pallets/subtensor/src/lib.rs", - "line": 2090, - "url": "/code/pallets/subtensor/src/lib.rs#L2090", + "line": 2126, + "url": "/code/pallets/subtensor/src/lib.rs#L2126", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1398,9 +1398,9 @@ "container": "SubnetInfoRuntimeApi", "name": "get_next_epoch_start_block", "path": "pallets/subtensor/src/coinbase/run_coinbase.rs", - "line": 1262, - "end_line": 1276, - "url": "/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1262-L1276", + "line": 1261, + "end_line": 1275, + "url": "/code/pallets/subtensor/src/coinbase/run_coinbase.rs#L1261-L1275", "raw_url": "/code/raw/pallets/subtensor/src/coinbase/run_coinbase.rs" } ] @@ -1425,8 +1425,8 @@ "container": "SubtensorModule", "name": "OwnedHotkeys", "path": "pallets/subtensor/src/lib.rs", - "line": 1584, - "url": "/code/pallets/subtensor/src/lib.rs#L1584", + "line": 1620, + "url": "/code/pallets/subtensor/src/lib.rs#L1620", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1453,8 +1453,8 @@ "container": "SubtensorModule", "name": "ParentKeys", "path": "pallets/subtensor/src/lib.rs", - "line": 1378, - "url": "/code/pallets/subtensor/src/lib.rs#L1378", + "line": 1414, + "url": "/code/pallets/subtensor/src/lib.rs#L1414", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1481,8 +1481,8 @@ "container": "SubtensorModule", "name": "PendingChildKeys", "path": "pallets/subtensor/src/lib.rs", - "line": 1352, - "url": "/code/pallets/subtensor/src/lib.rs#L1352", + "line": 1388, + "url": "/code/pallets/subtensor/src/lib.rs#L1388", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1535,9 +1535,9 @@ "container": "SwapRuntimeApi", "name": "sim_swap_tao_for_alpha", "path": "runtime/src/lib.rs", - "line": 2490, - "end_line": 2518, - "url": "/code/runtime/src/lib.rs#L2490-L2518", + "line": 2497, + "end_line": 2525, + "url": "/code/runtime/src/lib.rs#L2497-L2525", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -1564,9 +1564,9 @@ "container": "SwapRuntimeApi", "name": "sim_swap_alpha_for_tao", "path": "runtime/src/lib.rs", - "line": 2520, - "end_line": 2548, - "url": "/code/runtime/src/lib.rs#L2520-L2548", + "line": 2527, + "end_line": 2555, + "url": "/code/runtime/src/lib.rs#L2527-L2555", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -1591,8 +1591,8 @@ "container": "SubtensorModule", "name": "RevealPeriodEpochs", "path": "pallets/subtensor/src/lib.rs", - "line": 2756, - "url": "/code/pallets/subtensor/src/lib.rs#L2756", + "line": 2802, + "url": "/code/pallets/subtensor/src/lib.rs#L2802", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1645,9 +1645,9 @@ "container": "BetaBasketRuntimeApi", "name": "get_root_basket_owed", "path": "runtime/src/lib.rs", - "line": 2377, - "end_line": 2379, - "url": "/code/runtime/src/lib.rs#L2377-L2379", + "line": 2384, + "end_line": 2386, + "url": "/code/runtime/src/lib.rs#L2384-L2386", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -1695,9 +1695,9 @@ "container": "BetaBasketRuntimeApi", "name": "get_root_basket_total_nav", "path": "runtime/src/lib.rs", - "line": 2389, - "end_line": 2391, - "url": "/code/runtime/src/lib.rs#L2389-L2391", + "line": 2396, + "end_line": 2398, + "url": "/code/runtime/src/lib.rs#L2396-L2398", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -1953,8 +1953,8 @@ "container": "SubtensorModule", "name": "StakingHotkeys", "path": "pallets/subtensor/src/lib.rs", - "line": 1579, - "url": "/code/pallets/subtensor/src/lib.rs#L1579", + "line": 1615, + "url": "/code/pallets/subtensor/src/lib.rs#L1615", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -1979,8 +1979,8 @@ "container": "SubtensorModule", "name": "Tempo", "path": "pallets/subtensor/src/lib.rs", - "line": 2022, - "url": "/code/pallets/subtensor/src/lib.rs#L2022", + "line": 2058, + "url": "/code/pallets/subtensor/src/lib.rs#L2058", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -1988,8 +1988,8 @@ "container": "SubtensorModule", "name": "Burn", "path": "pallets/subtensor/src/lib.rs", - "line": 2318, - "url": "/code/pallets/subtensor/src/lib.rs#L2318", + "line": 2354, + "url": "/code/pallets/subtensor/src/lib.rs#L2354", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -1997,8 +1997,8 @@ "container": "SubtensorModule", "name": "SubnetworkN", "path": "pallets/subtensor/src/lib.rs", - "line": 2081, - "url": "/code/pallets/subtensor/src/lib.rs#L2081", + "line": 2117, + "url": "/code/pallets/subtensor/src/lib.rs#L2117", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2023,8 +2023,8 @@ "container": "SubtensorModule", "name": "Uids", "path": "pallets/subtensor/src/lib.rs", - "line": 2506, - "url": "/code/pallets/subtensor/src/lib.rs#L2506", + "line": 2547, + "url": "/code/pallets/subtensor/src/lib.rs#L2547", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2049,8 +2049,8 @@ "container": "SubtensorModule", "name": "HotkeyLock", "path": "pallets/subtensor/src/lib.rs", - "line": 1738, - "url": "/code/pallets/subtensor/src/lib.rs#L1738", + "line": 1774, + "url": "/code/pallets/subtensor/src/lib.rs#L1774", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2058,8 +2058,8 @@ "container": "SubtensorModule", "name": "DecayingHotkeyLock", "path": "pallets/subtensor/src/lib.rs", - "line": 1750, - "url": "/code/pallets/subtensor/src/lib.rs#L1750", + "line": 1786, + "url": "/code/pallets/subtensor/src/lib.rs#L1786", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2067,8 +2067,8 @@ "container": "SubtensorModule", "name": "OwnerLock", "path": "pallets/subtensor/src/lib.rs", - "line": 1762, - "url": "/code/pallets/subtensor/src/lib.rs#L1762", + "line": 1798, + "url": "/code/pallets/subtensor/src/lib.rs#L1798", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2076,8 +2076,8 @@ "container": "SubtensorModule", "name": "DecayingOwnerLock", "path": "pallets/subtensor/src/lib.rs", - "line": 1766, - "url": "/code/pallets/subtensor/src/lib.rs#L1766", + "line": 1802, + "url": "/code/pallets/subtensor/src/lib.rs#L1802", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2085,8 +2085,8 @@ "container": "SubtensorModule", "name": "SubnetOwnerHotkey", "path": "pallets/subtensor/src/lib.rs", - "line": 2179, - "url": "/code/pallets/subtensor/src/lib.rs#L2179", + "line": 2215, + "url": "/code/pallets/subtensor/src/lib.rs#L2215", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2094,8 +2094,8 @@ "container": "SubtensorModule", "name": "SubnetAlphaOut", "path": "pallets/subtensor/src/lib.rs", - "line": 1570, - "url": "/code/pallets/subtensor/src/lib.rs#L1570", + "line": 1606, + "url": "/code/pallets/subtensor/src/lib.rs#L1606", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2103,8 +2103,8 @@ "container": "SubtensorModule", "name": "UnlockRate", "path": "pallets/subtensor/src/lib.rs", - "line": 1804, - "url": "/code/pallets/subtensor/src/lib.rs#L1804", + "line": 1840, + "url": "/code/pallets/subtensor/src/lib.rs#L1840", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2112,8 +2112,8 @@ "container": "SubtensorModule", "name": "MaturityRate", "path": "pallets/subtensor/src/lib.rs", - "line": 1800, - "url": "/code/pallets/subtensor/src/lib.rs#L1800", + "line": 1836, + "url": "/code/pallets/subtensor/src/lib.rs#L1836", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2121,8 +2121,8 @@ "container": "SubtensorModule", "name": "NetworkRegisteredAt", "path": "pallets/subtensor/src/lib.rs", - "line": 2113, - "url": "/code/pallets/subtensor/src/lib.rs#L2113", + "line": 2149, + "url": "/code/pallets/subtensor/src/lib.rs#L2149", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2147,8 +2147,8 @@ "container": "SubtensorModule", "name": "SubnetEmissionEnabled", "path": "pallets/subtensor/src/lib.rs", - "line": 1540, - "url": "/code/pallets/subtensor/src/lib.rs#L1540", + "line": 1576, + "url": "/code/pallets/subtensor/src/lib.rs#L1576", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2200,8 +2200,8 @@ "container": "SubtensorModule", "name": "SubnetIdentitiesV3", "path": "pallets/subtensor/src/lib.rs", - "line": 2648, - "url": "/code/pallets/subtensor/src/lib.rs#L2648", + "line": 2694, + "url": "/code/pallets/subtensor/src/lib.rs#L2694", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2222,8 +2222,8 @@ "container": "SubtensorModule", "name": "SubnetIdentitiesV3", "path": "pallets/subtensor/src/lib.rs", - "line": 2648, - "url": "/code/pallets/subtensor/src/lib.rs#L2648", + "line": 2694, + "url": "/code/pallets/subtensor/src/lib.rs#L2694", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2244,9 +2244,9 @@ "container": "SubnetRegistrationRuntimeApi", "name": "get_network_registration_cost", "path": "runtime/src/lib.rs", - "line": 2371, - "end_line": 2373, - "url": "/code/runtime/src/lib.rs#L2371-L2373", + "line": 2378, + "end_line": 2380, + "url": "/code/runtime/src/lib.rs#L2378-L2380", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -2271,8 +2271,8 @@ "container": "SubtensorModule", "name": "NetworkRegisteredAt", "path": "pallets/subtensor/src/lib.rs", - "line": 2113, - "url": "/code/pallets/subtensor/src/lib.rs#L2113", + "line": 2149, + "url": "/code/pallets/subtensor/src/lib.rs#L2149", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2302,8 +2302,8 @@ "container": "SubtensorModule", "name": "NetworksAdded", "path": "pallets/subtensor/src/lib.rs", - "line": 2085, - "url": "/code/pallets/subtensor/src/lib.rs#L2085", + "line": 2121, + "url": "/code/pallets/subtensor/src/lib.rs#L2121", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2311,8 +2311,8 @@ "container": "SubtensorModule", "name": "Tempo", "path": "pallets/subtensor/src/lib.rs", - "line": 2022, - "url": "/code/pallets/subtensor/src/lib.rs#L2022", + "line": 2058, + "url": "/code/pallets/subtensor/src/lib.rs#L2058", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2320,8 +2320,8 @@ "container": "SubtensorModule", "name": "Burn", "path": "pallets/subtensor/src/lib.rs", - "line": 2318, - "url": "/code/pallets/subtensor/src/lib.rs#L2318", + "line": 2354, + "url": "/code/pallets/subtensor/src/lib.rs#L2354", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" }, { @@ -2329,8 +2329,8 @@ "container": "SubtensorModule", "name": "SubnetworkN", "path": "pallets/subtensor/src/lib.rs", - "line": 2081, - "url": "/code/pallets/subtensor/src/lib.rs#L2081", + "line": 2117, + "url": "/code/pallets/subtensor/src/lib.rs#L2117", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2357,8 +2357,8 @@ "container": "SubtensorModule", "name": "TimelockedWeightCommits", "path": "pallets/subtensor/src/lib.rs", - "line": 2704, - "url": "/code/pallets/subtensor/src/lib.rs#L2704", + "line": 2750, + "url": "/code/pallets/subtensor/src/lib.rs#L2750", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2390,8 +2390,8 @@ "container": "SubtensorModule", "name": "TokenSymbol", "path": "pallets/subtensor/src/lib.rs", - "line": 1818, - "url": "/code/pallets/subtensor/src/lib.rs#L1818", + "line": 1854, + "url": "/code/pallets/subtensor/src/lib.rs#L1854", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2412,8 +2412,8 @@ "container": "SubtensorModule", "name": "TxRateLimit", "path": "pallets/subtensor/src/lib.rs", - "line": 2376, - "url": "/code/pallets/subtensor/src/lib.rs#L2376", + "line": 2412, + "url": "/code/pallets/subtensor/src/lib.rs#L2412", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2440,8 +2440,8 @@ "container": "SubtensorModule", "name": "Uids", "path": "pallets/subtensor/src/lib.rs", - "line": 2506, - "url": "/code/pallets/subtensor/src/lib.rs#L2506", + "line": 2547, + "url": "/code/pallets/subtensor/src/lib.rs#L2547", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2493,9 +2493,9 @@ "container": "BetaBasketRuntimeApi", "name": "get_validator_basket_nav", "path": "runtime/src/lib.rs", - "line": 2383, - "end_line": 2385, - "url": "/code/runtime/src/lib.rs#L2383-L2385", + "line": 2390, + "end_line": 2392, + "url": "/code/runtime/src/lib.rs#L2390-L2392", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -2547,9 +2547,9 @@ "container": "BetaBasketRuntimeApi", "name": "get_validator_weights", "path": "runtime/src/lib.rs", - "line": 2392, - "end_line": 2394, - "url": "/code/runtime/src/lib.rs#L2392-L2394", + "line": 2399, + "end_line": 2401, + "url": "/code/runtime/src/lib.rs#L2399-L2401", "raw_url": "/code/raw/runtime/src/lib.rs" } ] @@ -2576,8 +2576,8 @@ "container": "SubtensorModule", "name": "Weights", "path": "pallets/subtensor/src/lib.rs", - "line": 2568, - "url": "/code/pallets/subtensor/src/lib.rs#L2568", + "line": 2614, + "url": "/code/pallets/subtensor/src/lib.rs#L2614", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ] @@ -2602,8 +2602,8 @@ "container": "SubtensorModule", "name": "WeightsSetRateLimit", "path": "pallets/subtensor/src/lib.rs", - "line": 2288, - "url": "/code/pallets/subtensor/src/lib.rs#L2288", + "line": 2324, + "url": "/code/pallets/subtensor/src/lib.rs#L2324", "raw_url": "/code/raw/pallets/subtensor/src/lib.rs" } ]