This document outlines methods to verify all the calls embedded in the Lido DAO on-chain vote #189, which contains Dual Governance on-chain activation — a dynamic timelock that enables stETH holders to delay execution and exit safely in response to contentious proposals. The Dual Governance design and parameters follow the DAO-approved LIP-28 Snapshot.

Vote structure

The vote consists of 57 action items that will:

I. Reassign roles according to the specification to “switch on” Dual Governance (items 1-50)

II. Perform minor cleanup related to the RecoveryVault app in the DAO Kernel contract (items 51-53)

III. Trigger on-chain checks to verify the state of role assignments (item 54)

IV. Submit the Dual Governance motion to finalize the role transition by revoking the Aragon Agent’s RUN_SCRIPT_ROLE and EXECUTE_ROLE from the Aragon Voting contract (item 55) Note: Until this motion passes and is executed, the Aragon Voting contract retains direct access to roles and permissions on the Aragon Agent contract.

V. Trigger on-chain checks to verify the state of Dual Governance (item 56)

VI. Enforce the vote execution timeframe with on-chain call to TimeConstraints smart contract (item 57)

<aside> 🛡️

As an additional safety measure, the voting script has been embedded into the on-chain smart contract at address 0x1DB8a9313785b78f7d0a201C5E0BE007f1eb63b4, which was reviewed along with the deployment verification by Statemind team. The contract includes a read-only method isValidVoteScript which will return True for vote #189 if the calls included in that vote match the list reviewed by Statemind.

</aside>

⚙️ DG Utility contracts

The vote depends on several utility contracts. The contracts were reviewed by Statemind.

  1. DGLaunchOmnibusMainnet 0x1DB8a9313785b78f7d0a201C5E0BE007f1eb63b4 with the vote items list and testing utilities
  2. DGRolesValidatorMainnet 0x31534e3aFE219B609da3715a00a1479D2A2d7981 for Roles Status verification
  3. DGLaunchStateVerifier 0xd48c2fc419569537Bb069BAD2165dC0cEB160CEC for Dual Governance state verification
  4. TimeConstraints 0x2a30F5aC03187674553024296bed35Aa49749DDa for enforcing specific timeframe (both calendar and daytime) for execution, compensating for potential hurdles with dynamic timelock nature of Dual Governance. It is worth noting that the TimeConstraints contract is intended for use in future votes.

Vote items verification guide

🔎 Resources for the Proposal Validation

The resources listed in this section are considered trustworthy and reliable.

Direct links to relevant sources will be provided for each item in the vote, ensuring easy access to the associated information.