owned this note
owned this note
Published
Linked with GitHub
# How to check Lido DAO on-chain vote #178 items
https://vote.lido.fi/vote/178
The vote has three main action sections:
1. Replace Rated Labs with MatrixedLink in Lido on Ethereum Oracle set (items 1-4).
2. Rename Node Operators with IDs 23 (CryptoManufaktur) and 36 (Numic) and update their reward addresses (items 5-10).
3. Enabling On-chain Delegation (items 11-13).
For all contracts getting called in the vote, addresses are listed on [docs](https://docs.lido.fi/deployed-contracts).
## 1. Oracle member rotation
The item has 4 actions: 1&2 to remove Rated Labs, 3&4 to add MatrixedLink.
The quorum remains unchanged: 5
### Proofs
1. [Rated Labs note](https://research.lido.fi/t/rated-labs-replacement-in-the-oracle-set/7850)
2. [Rated Labs address verification](https://research.lido.fi/t/expansion-of-lidos-ethereum-oracle-set/2836/49)
3. [MatrixedLink address verification](https://research.lido.fi/t/rated-labs-replacement-in-the-oracle-set/7850/15)
4. [DAO Snapshot vote](https://snapshot.org/#/lido-snapshot.eth/proposal/0x5667528b50af1668ea246bde5bbf136f202629dee50747bbcc0839f48bf396b1)
5. Current number of the quorum on HashConsensusAccountingOracle & HashConsensusValidatorsExitBusOracle is 5. To check, call `getQuorum` methods: https://etherscan.io/address/0xD624B08C83bAECF0807Dd2c6880C3154a5F0B288#readContract#F17
https://etherscan.io/address/0x7FaDB6358950c5fAA66Cb5EB8eE5147De3df355a#readContract#F17
### Actions "translation"
1. Agent.forward([HashConsensusAccountingOracle.removeMember(Rated `0xEC4BfbAF681eb505B94E4a7849877DC6c600Ca3A`, Quorum `5`)])
2. Agent.forward([HashConsensusValidatorsExitBusOracle.removeMember(Rated `0xEC4BfbAF681eb505B94E4a7849877DC6c600Ca3A`, Quorum `5`)])
3. Agent.forward([HashConsensusAccountingOracle.addMember(MatrixedLink `0xe57B3792aDCc5da47EF4fF588883F0ee0c9835C9`, Quorum `5`)])
4. Agent.forward([HashConsensusValidatorsExitBusOracle.addMember(MatrixedLink `0xe57B3792aDCc5da47EF4fF588883F0ee0c9835C9`, Quorum `5`)])
## 2. Node Operators' names & reward addresses update
### Proofs
1. [Requests from Cryptomanufactur and Numic and approves from NOM workstream](https://research.lido.fi/t/node-operator-registry-name-reward-address-change/4170/26)
2. Note there's an ongoing discussion on the acquisition and “continuance” possible vote in the [other forum thread](https://research.lido.fi/t/no-cryptomanufaktur-is-now-part-of-galaxy/7866)
3. And an ongoing discussion on the topic [Numic is joining Pier Two](https://research.lido.fi/t/numic-is-joining-pier-two/7998) as well
4. Role `MANAGE_NODE_OPERATOR_ROLE` on [CuratedNodeOperatorsStakingModule](https://etherscan.io/address/0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5#readProxyContract#F19) is required for the Aragon Voting contract to be able to make changes to Node Operators registry.
4. Call `getNodeOperator` on [CuratedNodeOperatorsStakingModule](https://etherscan.io/address/0x55032650b14df07b85bf18a3a3ec8e0af2e028d5#readProxyContract#F20)
* with `23` and `true` to see that NO #23 is CryptoManufaktur,
* with `36` and `true` to see that NO #36 is Numic
### Actions "translation"
5. AragonACL.grantPermission(Voting `0x2e59A20f205bB85a89C53f1936454680651E618e`, CuratedNodeOperatorsStakingModule `0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5`, role `0x78523850fdd761612f46e844cf5a16bda6b3151d6ae961fd7e8e7b92bfbca7f8`)
6. CuratedNodeOperatorsStakingModule.setNodeOperatorName(23, 'Galaxy')
7. CuratedNodeOperatorsStakingModule.setNodeOperatorRewardAddress(23, `0x3C3F243263d3106Fdb31eCf2248f9bC82F723c4B`)
8. CuratedNodeOperatorsStakingModule.setNodeOperatorName(36, 'Pier Two')
7. CuratedNodeOperatorsStakingModule.setNodeOperatorRewardAddress(36, `0x35921FB43cB92F5Bfef7cBA1e97Eb5A21Fc2d353`)
8. AragonACL.revokePermission(Voting `0x2e59A20f205bB85a89C53f1936454680651E618e`, CuratedNodeOperatorsStakingModule `0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5`, role `0x78523850fdd761612f46e844cf5a16bda6b3151d6ae961fd7e8e7b92bfbca7f8`)
The role is assigned and revoked away to not store additional assigned roles on contracts.
## 3. On-Chain Delegation
### Proofs
1. Proposed new Voting implementation [0xf165148978Fa3cE74d76043f833463c340CFB704](https://etherscan.io/address/0xf165148978Fa3cE74d76043f833463c340CFB704)
2. [Discussion forum post](https://research.lido.fi/t/lip-21-simple-on-chain-delegation/6840)
3. [StateMind audit report with deployed address verification](https://github.com/lidofinance/audits?tab=readme-ov-file#07-2024-statemind-audit-of-the-simple-delegation)
4. [Ackee audit (same commit, no deployment verification)](https://github.com/lidofinance/audits?tab=readme-ov-file#07-2024-ackee-blockchain-audit-of-the-simple-delegation)
5. To check the current Aragon App version for voting:
1. Call `getLatest` on the [VotingRepo 0x4ee3118e3858e8d7164a634825bfe0f73d99c792](https://etherscan.io/address/0x4ee3118e3858e8d7164a634825bfe0f73d99c792#readProxyContract#F14)
2. Version should be `3.0.0`, `contentUri` should match the one in the vote (no Aragon UI update) — `0x697066733a516d506f7478377a484743674265394445684d6f4238336572564a75764d74335971436e6454657a575652706441`
6. LidoDAO Voting App data
1. [LidoDAOKernel.APP_BASES_NAMESPACE](https://etherscan.io/address/0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc#readProxyContract#F12) `0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f`
2. [Voting.AppId](https://etherscan.io/address/0x2e59A20f205bB85a89C53f1936454680651E618e#readProxyContract#F11) `0x0abcd104777321a82b010357f20887d61247493d89d2e987ff57bcecbde00e1e`
7. Proposed TRP Voting Adapter [0x4b2AB543FA389Ca8528656282bF0011257071BED](https://etherscan.io/address/0x4b2AB543FA389Ca8528656282bF0011257071BED)
8. [TRP contract MixBytes review note](https://research.lido.fi/t/lip-21-simple-on-chain-delegation/6840/21)
9. [TRP adapter deployment](https://etherscan.io/address/0x4b2AB543FA389Ca8528656282bF0011257071BED#code); to check the code is 1-1 with the one reviewed by MixBytes, paste the linked one from [the commit in the note on the forum](https://github.com/lidofinance/lido-vesting-escrow/blob/4246b8ddac3e00a53972baffef78ab722a00212f/contracts/VotingAdapter.vy) & [the code from Etherscan](https://etherscan.io/address/0x4b2AB543FA389Ca8528656282bF0011257071BED#code) to [the online diffchecker](https://www.diffchecker.com/)
### Actions "translation"
11. VotingRepo.newVersion('4.0.0', ProposedImplementation `0xf165148978Fa3cE74d76043f833463c340CFB704`, contentUri`0x697066733a516d506f7478377a484743674265394445684d6f4238336572564a75764d74335971436e6454657a575652706441`)
12. LidoDAO.setApp(LidoDAOKernel.APP_BASES_NAMESPACE `0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f`, Voting.AppId `0x0abcd104777321a82b010357f20887d61247493d89d2e987ff57bcecbde00e1e`, ProposedImplementation `0xf165148978Fa3cE74d76043f833463c340CFB704`)
13. AragonAgent.forward(TRPVestingEscrowFactory `0xda1df6442afd2ec36abea91029794b9b2156add0`, update_voting_adapter(ProposedTRPVotingAdapter `0x4b2AB543FA389Ca8528656282bF0011257071BED`))