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 #81

Declared in the runtime but not emitted at v453. The call that produced it, schedule_dissolve_network, was removed at v306.

View events on chain
Useful for: analyticsdevelopers

The 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

v424 v432 Breaking

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

Effects

Postconditions

  • Not applicable

Event Data

#NameTypeDescription
0
account
AccountId account: Account address (32 bytes, SS58-encoded) (hex -> SS58)
1
netuid
NetUid netuid: Subnet ID (u16, 0-65535)
2
execution_block
u32 BlockNumberFor<T>execution_block: Block number

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

v195 block 3,791,350 3 args
v216 block 4,510,996 3 args
v252 block 5,163,656 3 args
v273 block 5,659,032 3 args
v290 block 5,947,548 3 args
v320 block 6,523,566 3 args
v334 block 6,811,690 3 args
v372 block 7,430,358 3 args
v385 block 7,782,670 3 args
v411 block 8,283,784 3 args
v423 block 8,486,593 3 args
v432 block 8,636,190 3 args
v441 block 8,765,683 3 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
81
First Version
v195
Current Version
v472