SetChildrenScheduled
Event Re-added v216 → v219, v233 → v247, v252 → v265, v273 → v277, v290 → v315, v320 → v326, v334 → v367, v372 → v377, v385 → current #73Emitted when a child hotkey change is scheduled for future execution.
View events on chainThe Big Picture
Child key changes aren't instant - they're scheduled in advance to protect delegators. If a validator could instantly redirect rewards to new addresses, delegators might be caught off guard. The schedule delay (typically days) gives everyone time to review the change and adjust their delegation if they don't like it. This event is the 'heads up'.
Why This Matters
As a delegator, you deserve to know when your validator plans to change their reward structure. This event tells you: 'In X blocks, the children will change to Y.' If you don't like the new arrangement, you have time to move your delegation.
Example Scenario
You're delegated to Validator Z. SetChildrenScheduled fires showing: Validator Z will add a new 40% child in 3 days. Currently Z keeps 100%, but soon 40% goes to the new partner. You can decide: Is this partner legit? Do I trust this change? You have 3 days to unstake if you want out before the change.
Common Questions
- Can the schedule be cancelled?
- Typically yes, before execution. Check the specific implementation. The parent can cancel their own scheduled change during the delay period.
- What happens if I don't react to a scheduled change?
- The change executes automatically after the delay. Your stake stays with the validator, but rewards will be split according to the new child key arrangement.
- How long is the delay?
- Check the SetChildKeyScheduleDuration constant. It's designed to give meaningful notice - typically hours to days, not minutes.
Use Cases
- Schedule changes to reward distribution with advance notice
- Detect when validators plan to change their child key structure
- Give delegators time to react before changes take effect
- Track pending organizational changes to validators
How to Use This Event
- → Monitor validators you're delegated to for scheduled changes
- → Build notification systems for upcoming child key changes
- → Track pending changes network-wide
From Chain Metadata
Setting of children of a hotkey have been scheduled
Triggers
Emitted by
Preconditions
- Caller owns the parent hotkey
- Valid schedule parameters provided
- No conflicting pending schedule exists
Effects
Storage Modified
Postconditions
- PendingChildKeys updated with scheduled change
- Change will execute after delay period
Side Effects
- Allows time for delegators to react to changes
- Existing children continue receiving rewards until execution
Event Data
| # | Name | Type | Description |
|---|---|---|---|
| 0 | arg0 | AccountId | Event field #0 (AccountId) (hex -> SS58) |
| 1 | arg1 | u16 | Event field #1 (u16) |
| 2 | arg2 | u64 | Event field #2 (u64) |
| 3 | arg3 | Vec<(u64, AccountId)> Vec | Event field #3 (Vec<(u64, AccountId)>) |
Code Examples
import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";
const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });
// Subscribe to SetChildrenScheduled events
api.query.system.events((events) => {
events
.filter(({ event }) =>
event.section === stringCamelCase("SubtensorModule") &&
event.method === "SetChildrenScheduled"
)
.forEach(({ event }) => {
console.log("SetChildrenScheduled:", event.data.toHuman());
});
});On-Chain Activity
Regular feature-level activity
#39 most emitted event
As of block 7,429,232
Version History
Runtime Info
View Source- Pallet Index
- 7
- Event Index
- 73
- First Version
- v216
- Current Version
- v393