TimelockedWeightsCommitted

Event Re-added v306 → v315, v320 → v326, v334 → v367, v372 → v377, v385 → current #105

Emitted when weights are committed with a specific reveal round.

View events on chain
Useful for: validatorssubnet ownersanalyticsdevelopers

The Big Picture

Timelocked commits tie your weight reveal to a specific network round, not just 'whenever you want within the window'. This creates synchronized reveal moments where all validators reveal together, preventing any timing advantage. The network round system coordinates reveals for fairest possible consensus - no one can see others' weights before deciding.

Why This Matters

Timelocked commits give you maximum timing fairness. By committing to a specific round, you guarantee your reveal happens simultaneously with others who committed to that round. No early peek, no late adjustment - true simultaneous revelation.

Example Scenario

Network round 1000 is coming up. You commit weights with reveal round 1000. TimelockedWeightsCommitted fires showing your commit is locked to round 1000. You cannot reveal early. When round 1000 arrives, all validators with round-1000 commits reveal together.

Common Questions

What if I miss my reveal round?
Your commit may expire unused. Timelocked commits have specific round targets - missing the round means missing your opportunity to have those weights count.
How do I know which round to target?
Check the current round and commit for an upcoming one. Too close might be risky (might miss it), too far delays your weights. Check subnet guidance for recommended lead time.
Can I change my timelocked commit before the round?
Typically no - the 'locked' part means it's fixed. You committed to specific weights for a specific round. To change, you'd need to cancel (if allowed) and recommit.

Use Cases

  • Commit weights for a specific future reveal round
  • Synchronize reveals with network-wide timing
  • Track timelocked commit activity
  • Build synchronized validation systems

How to Use This Event

  • Monitor your timelocked commits and target rounds
  • Track network-wide commit activity per round
  • Build round-aware validation tools

From Chain Metadata

Timelocked weights have been successfully committed. **who**: The account ID of the user committing the weights. **netuid**: The network identifier. **commit_hash**: The hash representing the committed weights. **reveal_round**: The round at which weights can be revealed.

Triggers

Effects

Postconditions

  • Commit stored with reveal round

Side Effects

  • Cannot reveal until specified round

Event Data

#NameTypeDescription
0
arg0
AccountId Event field #0 (AccountId) (hex -> SS58)
1
arg1
u16 Event field #1 (u16)
2
arg2
H256 Event field #2 (H256)
3
arg3
u64 Event field #3 (u64)

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 TimelockedWeightsCommitted events
api.query.system.events((events) => {
  events
    .filter(({ event }) =>
      event.section === stringCamelCase("SubtensorModule") &&
      event.method === "TimelockedWeightsCommitted"
    )
    .forEach(({ event }) => {
      console.log("TimelockedWeightsCommitted:", event.data.toHuman());
    });
});

On-Chain Activity

Emission Frequency
●●●●○○ Significant 1M–5M emissions

Major features with millions of emissions

#13 most emitted event

As of block 7,429,232

Version History

v306 block 6,321,411 4 args
v320 block 6,523,566 4 args
v334 block 6,811,690 4 args
v372 block 7,430,358 4 args
v385 block 7,782,670 4 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
105
First Version
v306
Current Version
v393