BasketClaimRowDustCapTao
Storage Plain v468 → current New in v468Absolute cap, in rao , on the row-dust floor of a root claim.
Explore chainThe Big Picture
Paired with a relative floor in basis points so small funds, where every row may be under 1 TAO, still redeem their rows. Skipping is additionally bounded by BasketClaimForfeitCapTao on the claimant's own slice.
Why This Matters
This is the most a single skipped row can be worth in a large fund.
Example Scenario
A fund with 2,000 TAO anchored NAV: 10 basis points is 2 TAO, but the cap is 1 TAO, so rows worth under 1 TAO are the dust candidates.
Use Cases
- Compute which fund rows a claim will skip
- Track governance changes to claim dust policy
From Chain Metadata
ITEM --> cap, in rao, of the row-dust floor of a root claim. A claim skips a fund row entirely when the fund's whole holding on that subnet is worth less than `min(this cap, BasketClaimRowDustBps × anchored NAV)` at the anchored mark: the row is neither sold nor paid, and the claimant's slice of it (below the floor by construction) stays in the fund for the remaining holders. `0` disables the row skip. Set via `AdminUtils::sudo_set_basket_claim_dust`.
Purpose & Usage
Purpose
Bounds the row floor so a large fund never skips a row worth more than this, however big its NAV.
Common Query Patterns
- Query with BasketClaimRowDustBps and the fund anchored NAV to compute the row floor
- Zero disables the row rule
Notes
- First appears at runtime v468. Default 1000000000 rao, which is 1 TAO (lib.rs DEFAULT_BASKET_CLAIM_ROW_DUST_CAP_TAO at v468).
- The row floor is min(this cap, BasketClaimRowDustBps × anchored NAV / 10000), so whichever is smaller binds (claim_root.rs basket_claim_row_dust_floor).
- A row is judged by its whole holding value at the anchored mark, not by the claimant slice.
- Set together with the other three knobs by sudo_set_basket_claim_dust, which emits BasketClaimDustSet.
Stored Value
Value in RAO (÷10⁹ for TAO)
RAO -> TAO (/ 10^9)
Default Value
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 BasketClaimRowDustCapTao storage (no keys - plain value)
const result = await api.query.SubtensorModule.BasketClaimRowDustCapTao.getValue();
console.log("BasketClaimRowDustCapTao:", result);Runtime Info
View Source- Pallet
- SubtensorModule
- Storage Kind
- Plain
- First Version
- v468
- Current Version
- v472