#30·Whitelist call for nexus runtime upgrade nexus-7700

2d 11hrs ago
0 Comments
Executed

This motion whitelists the System.authorizeUpgrade call for the nexus-v7700 runtime so it can be dispatched via the Whitelisted Caller track on OpenGov.

Call Details

  • Call: Whitelist.whitelistCall(callHash) (pallet index 83, call index 0)
  • Encoded call: 0x000964848ce6d624913c087a63e42124570e48943aff3cb906de0d1a137da245223d
  • Call hash (keccak-256): 0x3f9c86fd3456d8544042ad816443392e3c1261a5d634e9eeac31258a509598c4
  • Encoded Whitelist.whitelistCall: 0x53003f9c86fd3456d8544042ad816443392e3c1261a5d634e9eeac31258a509598c4

Runtime Details

  • Release: nexus-v7700 (published June 13, 2026)
  • WASM file: 2,011,350 bytes (1.92 MiB)
  • Keccak-256 hash: 0x64848ce6d624913c087a63e42124570e48943aff3cb906de0d1a137da245223d
  • Toolchain: rustc 1.91.1

What's Changed

Governance Liveness: tx-pause exemption for Referenda and ConvictionVoting

TxPauseWhitelistedCalls now permanently exempts the Referenda and ConvictionVoting pallets. Previously, an emergency pause could inadvertently lock holders out of on-chain governance. With this change, voting and referenda submission remain available regardless of any active pause.

Pharos Validator Count Bounds

Added a MAX_VALIDATORS = 4096 cap in the Pharos storage key computation path. Without this guard, a malformed or adversarial validator count could cause an out-of-bounds array access when deriving storage keys. The fix adds the bound check and propagates a typed TooManyValidators error, preventing a potential panic in the consensus verifier.

Pharos Outbound Consensus Claim Decoding

pallet_ismp_relayer's decode_epochs_slot_address previously only handled RLP-encoded storage values, which is the format used by standard EVM Merkle Patricia Trie. Pharos uses a flat trie that returns the raw zero-padded 32-byte ABI-encoded value instead. As a result, all outbound consensus delivery claims for Pharos failed with OutboundDeliveryNotProven. The fix tries RLP decode first; if that fails and the value is 32 bytes, it extracts the address from the last 20 bytes of the ABI-encoded slot.

Edited
Reply
Up
Share
This vote has been closed.
Call
Metadata
Timeline4
Comments