[Whitelisted Caller] Dispatch whitelisted `System.authorizeUpgrade` for Nexus runtime v8000

Execute the previously whitelisted System.authorizeUpgrade call via the Whitelisted Caller track to authorize runtime upgrade nexus-v8000 on Nexus.

Dispatch Call Details

  • Outer call: Whitelist.dispatchWhitelistedCall(callHash, callEncodedLen, callWeightWitness) (pallet index 83, call index 2)
  • callHash: 0x001e1d358fbe548638c800a08777f53bba7fae7f52ff012e1e15369418006739
  • callEncodedLen: 34
  • callWeightWitness: { refTime: 110778120, proofSize: 0 }

Runtime Information

  • Release: nexus-v8000 (published July 17, 2026)
  • Commit: f48786c71ae6c468915a5bcb1cd96a707d947f65
  • Spec version: 8000 (nexus-8000 nexus-0.tx1.au1)
  • WASM file: nexus_runtime-v8000.compact.compressed.wasm (2,048,358 bytes / 1.96 MiB)
  • WASM Keccak-256: 0xb05ee8a5aa7be15a521b80462bec5543ab20c657018c1216ed21e4a2dddfbd00
  • Toolchain: rustc 1.91.1

What's Changed

State commitment retention raised per chain (#1049)

MAX_STATE_MACHINE_COMMITMENTS moves from 1,024 to 10,240. One commitment is stored per consensus update, so this bounds a time window rather than a block range: the effective retention is MAX_STATE_MACHINE_COMMITMENTS * consensus_update_frequency. The new default is sized to hold roughly a week of BSC updates at the 60s relayer cadence.

State commitment pointer set replaced with a per-chain FIFO queue (#1050)

The pointer set that tracked retained heights is replaced with a per-chain FIFO queue (StateCommitmentQueue) keyed by a monotonically increasing insertion index, with head and tail indices held in CommitmentQueueStates. Insertion order matches height order because consensus updates only ever advance a state machine, so evicting at the head removes the oldest height. Each insertion now touches O(1) small storage items, which means a per-chain cap can grow without adding I/O or PoV weight to the insert path.

The change also adds StateMachineCommitmentCap, a per-chain override for retention depth that falls back to the default when unset. Chains with faster finality emit state machine updates more frequently and need a deeper queue to retain the same wall-clock window of provable heights. Raising a cap pauses eviction until the queue grows into it; lowering one drains the excess gradually, bounded by a per-call eviction limit.

Storage migration

This runtime includes pallet_ismp::migrations::SeedCommitmentCaps, which seeds StateMachineCommitmentCap for two fast-finality chains sized to a 6 hour retention window:

Chain Consensus state id Block time Seeded cap
BSC (Evm(56)) BSC0 450ms 48,000
Polygon (Evm(137)) POLY 2s 10,800

Each cap is only written if the chain has no cap configured yet, so re-running the migration never clobbers a value set by governance in the meantime.

Edited
Reply
Up
Share
Status
Decision1d
Confirmation
1hr
Attempts
1
Tally
100%Aye
50.0%Threshold
0%Nay
Aye
349.48MBRIDGE
Nay
0BRIDGE
  • 5.00%
  • 0.0%

    Threshold

  • 0.0%
Support
57.6%
349.48MBRIDGE
Issuance
606.98MBRIDGE
Votes
Nested
Flattened
Actions
Check how referenda works here.
Call
Metadata
Timeline6
Votes Bubble
Curves
Statistics
Comments

Status
Decision1d
Confirmation
1hr
Attempts
1
Tally
100%Aye
50.0%Threshold
0%Nay
Aye
349.48MBRIDGE
Nay
0BRIDGE
  • 5.00%
  • 0.0%

    Threshold

  • 0.0%
Support
57.6%
349.48MBRIDGE
Issuance
606.98MBRIDGE
Votes
Nested
Flattened
Actions
Check how referenda works here.