BasketClaimForfeitCapTao

Storage Plain v468 → current New in v468

Hard bound, in rao , on what any one skipped slice may be worth.

Explore chain
Queried by: stakersvalidatorsdevelopersanalytics

The Big Picture

The safety bound over both dust rules. It is what makes the forfeit rounding-sized by construction: whatever the thresholds say, no single skipped slice leaves more than this behind.

Why This Matters

This is the ceiling on what one skipped row can cost you.

Example Scenario

A row worth 0.5 TAO is under the 1 TAO row floor, but a claimant owning 10% of the fund has a 0.05 TAO slice, above the 0.01 TAO cap, so the row is sold rather than skipped.

Use Cases

  • Bound the most a claim can forfeit per skipped row
  • Disable dust skipping entirely for an audit or an incident

From Chain Metadata

ITEM --> rao value a claimant's slice of a row may be worth, at the anchored mark, and still be skipped by either dust rule. A row the rules mark as dust whose slice for this claimant is worth more than this is sold as before, so no single skipped slice ever leaves more than this in the fund. `0` turns every skip off (a slice can only be skipped if it is worth nothing). Set via `AdminUtils::sudo_set_basket_claim_dust`.

Purpose & Usage

Purpose

Caps what either dust rule can leave in the fund for a single row, so a large slice of a small row is always sold.

Common Query Patterns

  • Query to bound the worst case forfeit of a claim
  • Zero turns every dust skip off

Notes

  • First appears at runtime v468. Default 10000000 rao, which is 0.01 TAO (lib.rs DEFAULT_BASKET_CLAIM_FORFEIT_CAP_TAO at v468).
  • Checked whichever rule matched. A row under the row floor is still sold when the claimant slice exceeds this cap (claim_root.rs basket_row_is_claim_dust).
  • Zero is an explicit off-switch for all skipping, including slices whose anchored value rounds to zero, which the source handles as a special case rather than letting them fall through.
  • Set together with the other three knobs by sudo_set_basket_claim_dust.

Stored Value

Value in RAO (÷10⁹ for TAO)

RAO -> TAO (/ 10^9)

Default Value

10000000 0x8096980000000000

Absent keys read as this value — querying a key that has never been written returns this default, not an error or empty result.

Code Examples

import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Query BasketClaimForfeitCapTao storage (no keys - plain value)
const result = await api.query.SubtensorModule.BasketClaimForfeitCapTao.getValue();
console.log("BasketClaimForfeitCapTao:", result);

Runtime Info

View Source
Pallet
SubtensorModule
Storage Kind
Plain
First Version
v468
Current Version
v472