SETUP-2 - First cross-chain proposal for testing GovernanceOApp on mainnet

Summary

This calls GovernanceOAppSender (0x1c5D750D18917064915901048cdFb2dB815e0910) on Ethereum, which calls via LZ GatewayConfigMock (0x852788CAFC68C3C83e784662745A702b358D4eD0) contract on Gateway mainnet, setValue(uint256) function, with 42 (abi encoded in hex as 0x000000000000000000000000000000000000000000000000000000000000002a) as input argument.
I use 100K as enforced executor gas option (0x000301001101000000000000000000000000000186a0 given by the getOptions.ts script).

Motivation & Context

This calls GovernanceOAppSender (0x1c5D750D18917064915901048cdFb2dB815e0910) on Ethereum, which calls via LZ GatewayConfigMock (0x852788CAFC68C3C83e784662745A702b358D4eD0) contract on Gateway mainnet, setValue(uint256) function, with 42 (abi encoded in hex as 0x000000000000000000000000000000000000000000000000000000000000002a) as input argument.
I use 100K as enforced executor gas option (0x000301001101000000000000000000000000000186a0 given by the getOptions.ts script).

Proposed Changes

The following on-chain action(s) execute when the proposal is approved and executed (Ethereum mainnet → destination chain (via LayerZero)):

Action 1 (cross-chain): sendRemoteProposal on GOVERNANCE_OAPP_SENDER (0x1c5D750D18917064915901048cdFb2dB815e0910) — dispatches to the destination chain via LayerZero:

  • setValue(uint256) on 0x852788CAFC68C3C83e784662745A702b358D4eD0

Technical Details

  • Network: Ethereum mainnet → destination chain (via LayerZero)
  • Proposal: SETUP-2
  • Proposal plugin: SETUP_MULTISIG 0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F (Aragon OSx Multisig, 3/5)
  • Creation transaction (ProposalCreated): 0x898d82a6f4d621a124fc6fac0251675aa7fff29d9ffd99a1a65a9759ed221906 — block 23990395, 2025-12-11
  • Target contract(s):
  • 0x1c5D750D18917064915901048cdFb2dB815e0910GOVERNANCE_OAPP_SENDER (ethereum, layerzero_oapp_sender)
  • Addresses verifiable in the protocol-registry.
  • Cross-chain: dispatched via LayerZero from GOVERNANCE_OAPP_SENDER; after Ethereum execution, track delivery on LayerZeroScan using the execution transaction hash.

Other considerations

This proposal contains cross-chain action(s): the effect on the destination chain only lands after the Ethereum execution message is delivered by LayerZero — confirm delivery before assuming the change is live. Independently verify each target address and decoded call against the protocol-registry and the on-chain proposal.

Resources