DissolveNetworkScheduled
Event v195 → v212, v216 → v247, v252 → v265, v273 → v277, v290 → v315, v320 → v326, v334 → v367, v372 → v377, v385 → v402, v411 → v422, v423 → v424, v432 → v440, v441 → current #81Declared in the runtime but not emitted at v453. The call that produced it, schedule_dissolve_network, was removed at v306.
View events on chainThe Big Picture
Between v195 and v306 a subnet dissolution was a two-step action: schedule_dissolve_network announced it, DissolveNetworkScheduleDuration set the wait, and this event published the execution block. That design is gone. schedule_dissolve_network was removed at v306, and at v453 the event variant remains in the enum while nothing deposits it and DissolveNetworkScheduleDuration has no readers. Dissolution is now immediate, via a root-origin dispatch or automatic pruning, and the chain publishes no advance notice of it.
Why This Matters
A shutdown warning that never fires is worse than no warning, because a consumer that subscribes to it concludes no dissolution is coming. There is no on-chain advance signal for a subnet dissolution at the current runtime. The first observable moment is NetworkRemoved, which is the removal itself.
Example Scenario
You subscribe to this event to alert miners before their subnet closes. The alert never fires, and the subnet is dissolved without notice. Watch NetworkRemoved and then NetworkDissolveCleanupCompleted instead, accepting that both arrive after the fact.
Common Questions
- Is the event removed from metadata?
- No. The variant is still declared, so it still occupies an index and decoders should still resolve it. It is unreachable rather than absent, which is why it is not flagged as removed in the pallet data.
- Do participants get any protection from a sudden dissolution?
- Not through a scheduling delay. What exists instead is the phased cleanup after removal: from v432 holders are paid their pro-rata share of the subnet pool during the cleanup walk rather than losing the position outright.
Use Cases
- Decode historical blocks from v195 to v306, where the event was live
- Understand why no advance warning of a dissolution appears on chain today
How to Use This Event
- → Handle it when decoding v195 to v306 history; expect none at the current runtime
- → Do not build an early-warning feature on this event
From Chain Metadata
A dissolve network extrinsic scheduled.
Migration Notes
netuid changed from u16 to NetUid
Update decoders: SCALE encoding is positional, so any signature change (added, removed, or type-changed fields, or storage shape changes) shifts byte offsets and existing decoders will misparse this item. Re-derive types from the new metadata.
Triggers
Emitted by
Preconditions
- None at the current runtime. Nothing deposits this event.
May fail with
Effects
Storage Modified
Postconditions
- Not applicable
Event Data
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);
// Subscribe to DissolveNetworkScheduled events
client.finalizedBlock$.subscribe(async (block) => {
const events = await api.event.SubtensorModule.DissolveNetworkScheduled.get(block.hash);
for (const evt of events) {
console.log("DissolveNetworkScheduled:", evt.payload);
}
});Version History
Runtime Info
View Source- Pallet Index
- 7
- Event Index
- 81
- First Version
- v195
- Current Version
- v472