[Whitelisted Caller] Dispatch the whitelisted runtime-upgrade + AssetHub/Unichain batch

Summary

If approved, this referendum dispatches — under Root — the 3-call batch whose hash is 0xf02f27cb86d02b453caa250b802342784266708b4edb4ca98ab6188d641b5cc8, previously whitelisted by the Technical Collective (Stage 1).

Effects (full breakdown in the Stage 1 thread):

  • Authorizes the next nexus runtime code with hash 0x3a70…4c70.
  • Adds Polkadot AssetHub (para-id 1000) to the ISMP-parachain whitelist.
  • Removes pallet_consensus_incentives' per-block cost for Unichain mainnet (chain id 130, consensus state id "UNI0").

What the public is voting on

A single Root-origin dispatch of utility.batch(...) containing exactly the 3 inner calls listed above. At enactment, the Whitelist pallet enforces:

  • call_hash must equal the hash whitelisted by the Tech Collective.
  • call_encoded_len must equal 55 bytes.
  • The decoded call's declared weight must be ≤ (ref_time = 430_620_313, proof_size = 1_638).

Any deviation aborts the dispatch.

Risk assessment

  • Runtime upgrade: standard authorize_upgrade flow; the new code only goes live once apply_authorized_upgrade is submitted in a later block.
  • add_parachain(1000): adds AssetHub to the ISMP-parachain whitelist with challenge_period = 0. The 0-second challenge period mirrors how every other parachain is bootstrapped and can be tightened later via a normal Root call if desired.
  • remove_incentives(Evm(130), "UNI0"): drops the Unichain per-block cost. After enactment, pallet_messaging_incentives will no longer charge or pay the consensus-incentives portion for Unichain consensus updates until a new entry is set.

Artifacts

Track whitelisted_caller (id 1)
Decision deposit 400 000 BRIDGE (refundable)
Prepare / Decide / Confirm / Enactment 20 m / 2 d / 2 h / 6 m
Inner call hash 0xf02f27cb86d02b453caa250b802342784266708b4edb4ca98ab6188d641b5cc8
Inner call length 55 bytes
Weight witness (incl. 10 % buffer) (ref_time = 430_620_313, proof_size = 1_638)
Preimage status Available on-chain (Stage 0)

How to verify before voting

  1. Fetch the 55-byte preimage from Preimage::PreimageFor((0xf02f…5cc8, 55)).
  2. Confirm keccak256(preimage) == 0xf02f27cb86d02b453caa250b802342784266708b4edb4ca98ab6188d641b5cc8.
  3. Decode in Polkadot.js → Developer → Extrinsics → Decode against nexus and check the 3 inner calls match the breakdown in Stage 1.
  4. Confirm Whitelist::WhitelistedCall contains the same hash (Stage 1 must already have closed).
Edited
Reply
Up
Share
Status
Decision1d
Confirmation
1hr
Attempts
1
Tally
100%Aye
50.0%Threshold
0%Nay
Aye
200MBRIDGE
Nay
0BRIDGE
  • 5.00%
  • 0.0%

    Threshold

  • 0.0%
Support
33.1%
200MBRIDGE
Issuance
605.02MBRIDGE
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
200MBRIDGE
Nay
0BRIDGE
  • 5.00%
  • 0.0%

    Threshold

  • 0.0%
Support
33.1%
200MBRIDGE
Issuance
605.02MBRIDGE
Votes
Nested
Flattened
Actions
Check how referenda works here.