Whitelist a Utility.batchAll preimage that atomically applies the runtime upgrade, sets the BEEFY prover reward, and clears the collator-selection invulnerables list — to be dispatched via the Whitelisted Caller track.
Utility.batchAll): 0x04020c8800093aadd6f2bf73c8ed017da4ee3e09a47bcb6fee4ba2d8f4b471c785c3330a40c348610200406352bfc6010000000000000000000c150000Whitelist.whitelist_call): 0xe1534720255d35912c2ca5458b87fdecef3e0ebdc592ab28357cc996c463d820Utility.batchAll([
System.authorizeUpgrade(0x3aadd6f2bf73c8ed017da4ee3e09a47bcb6fee4ba2d8f4b471c785c3330a40c3),
BeefyConsensusProofs.setProofReward(100_000_000_000_000), // 100 BRIDGE
CollatorSelection.setInvulnerables([]), // clear all invulnerables
])
Note:
CollatorSelection.setInvulnerables([])(call index0) is used to clear the entire invulnerables list in a single call. If you intend to remove only specific accounts, replace this with individualCollatorSelection.removeInvulnerable(who)(call index6) calls per account — the preimage and call hash above would need to be recomputed accordingly.
nexus-7300 (nexus-0.tx1.au1), Metadata V14nexus_runtime-v7300.compact.compressed.wasm — 2,010,849 bytes (1.92 MiB)0x3aadd6f2bf73c8ed017da4ee3e09a47bcb6fee4ba2d8f4b471c785c3330a40c3rustc 1.91.1 (ed61e7d7e 2025-11-07)[runtime] Move allowed BEEFY proof type gating into ismp-beefy[tesseract] Refetch runtime version before each signed extrinsic[runtime] Filter transfers of reputation tokenBeefyConsensusProofs.setProofReward(100_000_000_000_000) — set base BEEFY prover reward to 100 BRIDGECollatorSelection.setInvulnerables([]) — remove all entries from the invulnerables listMaintenance and protocol hygiene release. BEEFY proof type gating moves into ismp-beefy for cleaner separation of concerns, reputation token transfers are filtered to prevent unintended flows, and tesseract is hardened to always use the current runtime version. The governance batch simultaneously sets the SP1 BEEFY prover base reward to 500 BRIDGE and clears the collator-selection invulnerables list.
git checkout nexus-v7300
./scripts/build_release_runtime.sh nexus-runtime
# verify keccak-256 of the produced .compact.compressed.wasm matches
# 0x3aadd6f2bf73c8ed017da4ee3e09a47bcb6fee4ba2d8f4b471c785c3330a40c3
Whitelist.whitelist_call(0xe1534720…3d820) via the Fellowship / Whitelisted Caller track.System.applyAuthorizedUpgrade(code) with the released WASM blob to complete the runtime swap.