This motion whitelists the System.authorizeUpgrade call for the nexus-v7700 runtime so it can be dispatched via the Whitelisted Caller track on OpenGov.
Whitelist.whitelistCall(callHash) (pallet index 83, call index 0)0x000964848ce6d624913c087a63e42124570e48943aff3cb906de0d1a137da245223d0x3f9c86fd3456d8544042ad816443392e3c1261a5d634e9eeac31258a509598c4Whitelist.whitelistCall: 0x53003f9c86fd3456d8544042ad816443392e3c1261a5d634e9eeac31258a509598c40x64848ce6d624913c087a63e42124570e48943aff3cb906de0d1a137da245223dReferenda and ConvictionVotingTxPauseWhitelistedCalls 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.
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.
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.