If approved, this referendum dispatches — under Root origin — the 22-call batch whose hash is 0x92406cbd37fab40bb8cfa8c04448defdc6f0be6e859ff1006685fdf74347b2b2 and which has been previously whitelisted by the Technical Collective (see Stage 1).
The batch authorizes the next nexus runtime upgrade, points every EVM host at the new ConsensusClient contract, installs Base's dispute-game-factory configuration on the IsmpOptimism client, sets the BEEFY uncle-reward curve, configures per-destination outbound consensus-delivery rewards, and schedules a rotation of the SP1 verifying key for ~500 blocks after enactment.
A full breakdown of every inner call is in the Stage 1 motion thread.
A single Root-origin dispatch of utility.batchAll(...) containing exactly the 22 inner calls listed in Stage 1. The Whitelist pallet enforces three witness checks at dispatch time, so voters can be confident there is no room for substitution:
call_hash must equal the hash whitelisted by the Tech Collective (0x9240…b2b2).call_encoded_len must equal 818 bytes.≤ (ref_time = 2_831_825_383, proof_size = 46_671).Any mismatch — a single byte difference in the noted preimage, a different length, or a higher declared weight — causes dispatch_whitelisted_call to fail and the upgrade does not occur.
ConsensusClient address on the EVM host rotates to 0x446f3de1Aff18c2494ab4B27b921f657A468Ab30. Issued via host-manager ISMP messages.authorize_upgrade flow — the new code only becomes active once apply_authorized_upgrade is submitted in a later block. There is still a window for the Tech Collective to cancel via remove_whitelisted_call if a defect is discovered between enactment and apply.update_host_params dispatches one ISMP Post per chain. If a destination chain's host manager is unresponsive at the time, the corresponding update can be retried independently via a follow-up call — the on-chain state on nexus is updated regardless.set_dispute_game_factories overwrites the previous Base factory + configs in storage. Once enacted, only the three new game types listed above will be accepted as fault-proof attestations for Base.| Track | whitelisted_caller (id 1) |
| Decision deposit | 400 000 BRIDGE (refundable) |
| Decision period | 2 days |
| Confirm period | 2 hours |
| Min. enactment | 6 minutes |
| Inner call hash | 0x92406cbd37fab40bb8cfa8c04448defdc6f0be6e859ff1006685fdf74347b2b2 |
| Inner call length | 818 bytes |
| Weight witness (incl. 10 % buffer) | (ref_time = 2_831_825_383, proof_size = 46_671) |
| Preimage status | Available on-chain (Stage 0) |
Referenda.submit(
proposal_origin = OriginCaller::Origins(Origin::WhitelistedCaller),
proposal = Bounded::Inline(
Whitelist.dispatch_whitelisted_call(
call_hash = 0x92406cbd37fab40bb8cfa8c04448defdc6f0be6e859ff1006685fdf74347b2b2,
call_encoded_len = 818,
call_weight_witness = Weight { ref_time: 2_831_825_383, proof_size: 46_671 },
),
),
enactment_moment = DispatchTime::After(0),
)
encoded calldata (58 bytes):
0x5200510001bc530292406cbd37fab40bb8cfa8c04448defdc6f0be6e859ff1006685fdf74347b2b23203000003e739caa83ed902000100000000
Preimage::preimage_for((hash, len)) for (0x9240…b2b2, 818).keccak256 it and confirm it equals 0x92406cbd37fab40bb8cfa8c04448defdc6f0be6e859ff1006685fdf74347b2b2.Whitelist::WhitelistedCall (Stage 1 must already have closed).Threshold
Threshold