What the vote is about

This document outlines methods to verify all the calls embedded in the Lido DAO on-chain vote #205.

The vote covers the following changes:

  1. Adopt LIP-37: Execution Delegation Framework (EDF) | Full proposal on IPFS | Forum discussion | Audits & deployment verification: MixBytes, Composable Security - EDF On-chain Audit Report, Lido Oracle Audit Report | On-chain items:
  2. Rotate Kiln → Stakely in DSM | Forum discussion | The rotation is reflected in the configuration of the new DSM activated through on-chain items 1.1.73 - 1.1.75.
  3. Authorize the CMC to adjust Deposit Reserve Target via Easy Track | Full proposal on IPFS | Forum discussion | Audits & deployment verification: MixBytes | On-chain items 1.1.78, 2.

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.

Verification Process for the proxy upgrade items

Verification Process for the role-based items

How to Verify ET Permission Hashes

Vote Items and Verification Details

  1. Submit a Dual Governance proposal to adopt the Execution Delegation Framework (LIP-37): reassign the Oracle committee member addresses, the DSM guardian seats, and the depositor bot to DelegationContracts, switch to the redeployed DepositSecurityModule, and update the related protocol permissions, including the buffer-reserve manager role used to adjust the Deposit Reserve Target via Easy Track.

    Call data

    1. On [DualGovernance]
    0xc1db28b3301331277e307fdcff8de28242a4486e
    
    function submitProposal(
    tuple[] calls,
    string metadata
    )
    
    Call data:
    [1] See 1 parsed call at 1.1
    [2] Adopt the Execution Delegation Framework (LIP-37): reassign the Oracle committee member addresses, the DSM guardian seats, and the depositor bot to DelegationContracts, switch to the redeployed DepositSecurityModule, and update the related protocol permissions, including the buffer-reserve manager role used to adjust the Deposit Reserve Target via Easy Track.
    

    Verification points

    the current **Dual Governance contract address** [0xc1db28b3301331277e307fdcff8de28242a4486e](<https://etherscan.io/address/0xc1db28b3301331277e307fdcff8de28242a4486e>) is published in [Lido Docs](<https://docs.lido.fi/deployed-contracts/#dual-governance>)
    
    the [**submitProposal](<https://etherscan.io/address/0xc1db28b3301331277e307fdcff8de28242a4486e#writeContract#F15>)** function of the [DualGovernance](<https://etherscan.io/address/0xc1db28b3301331277e307fdcff8de28242a4486e>) contract is invoked to submit a Dual Governance motion
    
    encoded voting script submitted through **Dual Governance** (parsed method calls provided below)
    
    description of the on-chain actions submitted through the **Dual Governance**
    

    1.1. Forward the encoded EVM script via the Aragon Agent

  2. Add the SetDepositsReserveTarget Easy Track factory

    Call data

    2. On [EasyTrack]
    0xf0211b7660680b49de1a7e9f25c65660f0a13fea
    
    function addEVMScriptFactory(
    address _evmScriptFactory,
    bytes _permissions
    )
    
    Call data:
    [1] 0x62E9Dc68BDCBC46362f40e0bb9c154C9a42E62b0
    [2] 0xae7ab96520de3a18e5e111b5eaab095312d7fe8414457a32
    

    Verification points

    the Easy Track address is listed in [Lido Docs](<https://docs.lido.fi/deployed-contracts/#easy-track>)
    
    [1] The factory address can be found also in [Lido Docs](<https://docs.lido.fi/deployed-contracts/#easy-track-factories-for-core-protocol>)
    
    [2] compare the full raw permissions bytes first; then split the permission into the 20-byte address and 4-byte selector and verify the selector independently.
    
       0xae7ab96520de3a18e5e111b5eaab095312d7fe8414457a32
      |------------------------------------------|--------|
           20-byte Lido target address          selector
    
    # Factory Factory address Permission target Selector
    1. SetDepositsReserveTarget 0x62e9dc68bdcbc46362f40e0bb9c154c9a42e62b0 0xae7ab96520de3a18e5e111b5eaab095312d7fe84 0x14457a32