# How to check the Lido DAO onchain vote #181
## What the vote is about
[The onchain vote #181](https://vote.lido.fi/vote/181) packs together execution of the three different motions:
- Tweaking ATC and PML quarterly Easy Track stables transfer limits PML: 6M ->4M stables / quarter & ATC 1.5M -> 7M stables/quarter ([snapshot](https://snapshot.org/#/lido-snapshot.eth/proposal/0x44bc7db53129ab4048c7f6f5cdc03407ec73444cbb5976c9579cb19bd3b57f7e))
- Tweaking and resetting Stonks stETH transfer limits 9k stETH -> 12k stETH / 6 months ([TMC proposal](https://research.lido.fi/t/tmc-4-increase-stonks-execution-limits/8616/2))
- Simply Staking Node Operator Reward Address change ([forum request](https://research.lido.fi/t/node-operator-registry-name-reward-address-change/4170/36?u=kadmil))
## Resources for the Proposal Validation
The resources mentioned in this section are assumed to be trustworthy and reliable.
- Lido contracts getting called in the vote: https://docs.lido.fi/deployed-contracts/
- Blockchain explorers to read the state of contracts: https://etherscan.io or any alternative (i.e. https://eth.blockscout.com)
- Proposal details & previous Lido DAO votes: [posts on the research forum](https://research.lido.fi/) and [snapshot votes](https://snapshot.org/#/lido-snapshot.eth)
If you're new to the blockchain tooling, check out the ["how to check things" section](https://hackmd.io/u6dYQ65eRa2eerBoUa-haA?view#How-to-Validate-Proposals) at the end of the how-to.
## Voting Script
### I. Change Easy Track Limits for PML and ATC
1. ATC: increase the limit from 1,5m to 7m USDC/USDT/DAI per quarter — set 7'000'000 limit on ATC registry [0xe07305F43B11F230EaA951002F6a55a16419B707](https://etherscan.io/address/0xe07305f43b11f230eaa951002f6a55a16419b707) for 3 months
- ATC registry [0xe07305F43B11F230EaA951002F6a55a16419B707](https://etherscan.io/address/0xe07305f43b11f230eaa951002f6a55a16419b707) address can be checked against [the Easy Track factories for token transfers list](https://docs.lido.fi/deployed-contracts/#easy-track-factories-for-token-transfers)
- Current limit can be checked by quering [`getLimitsParameters` method](https://etherscan.io/address/0xe07305F43B11F230EaA951002F6a55a16419B707#readContract#F9) — it should return the tuple {`1500000000000000000000000`, `3`}, where the first number is `1,500,000 * 10^18` (accounting for 18 decimals), the second value `3` is number of months the limit is set for
- The vote calls the method *[setLimitParameters](https://etherscan.io/address/0xe07305f43b11f230eaa951002f6a55a16419b707#writeContract#F7)* with parameters `_limit` set to `7,000,000*10^18` and `_periodDurationMonths` set to `3` as requested in [the snapshot vote](https://snapshot.org/#/lido-snapshot.eth/proposal/0x44bc7db53129ab4048c7f6f5cdc03407ec73444cbb5976c9579cb19bd3b57f7e).
```
On ATC [registry]
0xe07305F43B11F230EaA951002F6a55a16419B707
function setLimitParameters(
uint256 _limit,
uint256 _periodDurationMonths
)
Call data:
[1] 7000000000000000000000000
[2] 3
```
2. PML: decrease the limit from 6m to 4m USDC/USDT/DAI per quarter — set 4'000'000 limit on PML registry [0xDFfCD3BF14796a62a804c1B16F877Cf7120379dB](https://etherscan.io/address/0xdffcd3bf14796a62a804c1b16f877cf7120379db) for 3 months
- PML registry: [0xDFfCD3BF14796a62a804c1B16F877Cf7120379dB](https://etherscan.io/address/0xdffcd3bf14796a62a804c1b16f877cf7120379db) address can be checked against [the Easy Track factories for token transfers list](https://docs.lido.fi/deployed-contracts/#easy-track-factories-for-token-transfers)
- Current limit can be checked by quering [`getLimitParameters` method](https://etherscan.io/address/0xDFfCD3BF14796a62a804c1B16F877Cf7120379dB#readContract#F9) — it should return the tuple {`6000000000000000000000000`, `3`}, where the first number is `6,000,000 * 10^18` (accounting for 18 decimals), the second value `3` is number of months the limit is set for
- The vote calls the method *[setLimitParameters](https://etherscan.io/address/0xDFfCD3BF14796a62a804c1B16F877Cf7120379dB#writeContract#F7)* with parameters `_limit` set to `4,000,000*10^18` and `_periodDurationMonths` set to `3` as requested in [the snapshot vote](https://snapshot.org/#/lido-snapshot.eth/proposal/0x44bc7db53129ab4048c7f6f5cdc03407ec73444cbb5976c9579cb19bd3b57f7e).
```
On PML [registry]
0xDFfCD3BF14796a62a804c1B16F877Cf7120379dB
function setLimitParameters(
uint256 _limit,
uint256 _periodDurationMonths
)
Call data:
[1] 4000000000000000000000000
[2] 3
```
### II. Stonks stETH Limits Update
1. Update limit from 9,000 to 12,000 stETH per 6 months on Stonks stETH registry [0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0](https://etherscan.io/address/0x1a7cfa9efb4d5bffde87b0faeb1fc65d653868c0)
- Stonks stETH AllowedRecepients registry [0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0](https://etherscan.io/address/0x1a7cfa9efb4d5bffde87b0faeb1fc65d653868c0) address can be checked against [the Easy Track factories for token transfers list](https://docs.lido.fi/deployed-contracts/#easy-track-factories-for-token-transfers)
- Current limit can be checked by quering [`getLimitParameters` method](https://etherscan.io/address/0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0#readContract#F9) — it should return the tuple {`9000000000000000000000`, `6`}, where the first number is `9,000 * 10^18` (accounting for 18 decimals), the second value `6` is number of months the limit is set for
- The vote calls the method *[setLimitParameters](https://etherscan.io/address/0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0#writeContract#F7)* with parameters `_limit` set to `12,000*10^18` and `_periodDurationMonths` set to `6` as [requested in TMC proposal](https://research.lido.fi/t/tmc-4-increase-stonks-execution-limits/8616).
```
On stETH registry [registry]
0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0
function setLimitParameters(
uint256 _limit,
uint256 _periodDurationMonths
)
Call data:
[1] 12000000000000000000000
[2] 6
```
2. Reset the amount spent on Stonks stETH registry [0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0](https://etherscan.io/address/0x1a7cfa9efb4d5bffde87b0faeb1fc65d653868c0)
- stETH registry address is the same as in previous call — [0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0](https://etherscan.io/address/0x1a7cfa9efb4d5bffde87b0faeb1fc65d653868c0)
- The current spendable balance can be checked by calling [`spendableBalance` method on the registry](https://etherscan.io/address/0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0#readContract#F15), which should return `0` — meaning no more spendable stETH available for TMC
- The vote calls the method *[unsafeSetSpentAmount](https://etherscan.io/address/0x1a7cfa9efb4d5bffde87b0faeb1fc65d653868c0#writeContract#F8)* with a parameter `_newSpentAmount` set to `0`. It sets the amount of tokens spent in the current period to `0` as [requested in TMC proposal](https://research.lido.fi/t/tmc-4-increase-stonks-execution-limits/8616).
```
On stETH [registry]
0x1a7cFA9EFB4D5BfFDE87B0FaEb1fC65d653868C0
function unsafeSetSpentAmount(
uint256 _newSpentAmount
)
Call data:
[1] 0
```
### III. Simply Staking Reward Address Change
1. Change staking reward address to [0x1EC3Cbe8fb1D8019092500CcA2111C158a35bC82](https://etherscan.io/address/0x1ec3cbe8fb1d8019092500cca2111c158a35bc82) for node operator with id = `16` (Simply Staking)
- Node Operator Registry [0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5](https://etherscan.io/address/0x55032650b14df07b85bf18a3a3ec8e0af2e028d5) (proxy) address can be checked against [the Curated Module section](https://docs.lido.fi/deployed-contracts/#curated-module) in docs
- To check the Node Operator data, query the [`getNodeOperator` method on `read as proxy` tab](https://etherscan.io/address/0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5#readProxyContract#F20) with parameters `16` (NO id) and `true` (param to show the NO name). Query should return the tuple with `name` set to `Simply Staking` and `rewardAddress` set to `0xFEf3C7aa6956D03dbad8959c59155c4A465DCacd`
- The vote calls the method *[setNodeOperatorRewardAddress](https://etherscan.io/address/0x55032650b14df07b85bf18a3a3ec8e0af2e028d5#writeProxyContract#F19)* with parameters `_nodeOperatorId` set to `16` and `_rewardAddress` set to [`0x1EC3Cbe8fb1D8019092500CcA2111C158a35bC82`](https://etherscan.io/address/0x1ec3cbe8fb1d8019092500cca2111c158a35bc82) as [requested by the Node Operator](https://research.lido.fi/t/node-operator-registry-name-reward-address-change/4170/36?u=kadmil) on the forum
```
On Node Operator Registry [registry]
0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5
function setNodeOperatorRewardAddress(
uint256 _nodeOperatorId,
address _rewardAddress
)
Call data:
[1] 16
[2] 0x1EC3Cbe8fb1D8019092500CcA2111C158a35bC82
```
## How to Validate Proposals
Using the how-to, one can verify all addresses and details of the instruction. Let's check one address as an example to ensure it is not malicious.
Imagine the following situation: *the limits need to be changed for ET on ATC. The instruction states that increasing the limit from 1,5m to 7m USDC/USDT/DAI per quarter is necessary. In other words, to set 7'000'000 limit on ATC registry `0xe07305F43B11F230EaA951002F6a55a16419B707` for 3 months*
In this case, we need to verify the address `0xe07305F43B11F230EaA951002F6a55a16419B707`.
To do that, we go through several steps:
1. At first, we're going to work with [https://docs.lido.fi](https://docs.lido.fi/) to make sure that the contract belongs to Lido:
- In the search bar in the upper-right corner, paste the address and click on the result:
![1](https://hackmd.io/_uploads/SJWHymoMke.png)
- Using Cmd + F (on Mac) or Control + F (on Windows), find the address on the page and check that it belongs to the registry:
![2](https://hackmd.io/_uploads/BJVIkmozJe.png)
2. Next, we want to make sure that the method mentioned in the instruction does what it says it does:
- Go to the contract page (press the button "**Contract**"):
![5](https://hackmd.io/_uploads/rkgRk7sGyx.png)
- Press the “**Write contract**” button:
![6](https://hackmd.io/_uploads/r151lXifye.png)
- Find the method mentioned in the instruction and click on its name:
![7](https://hackmd.io/_uploads/BJNxeQoMke.png)
3. We need to check the params:
- Ensure that the names of the params for the method setLimitParameters on https://etherscan.io and in the instruction match:
![Screenshot 2024-11-21 at 20.23.59](https://hackmd.io/_uploads/ryPp003zke.png)
4. Now, let's verify the values of the params:
- Ensure that the values mentioned in the description and in the code match (all limits in this vote are multiplied by 10^18 to follow the requirements of the contract -- read about [decimals](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f#readContract#F5) in DAI):
![Screenshot 2024-11-20 at 12.39.16](https://hackmd.io/_uploads/SyCol7iGkg.png)
5. At last, it's necessary to verify that the description of the proposal on https://research.lido.fi (+ https://snapshot.org/#/lido-snapshot.eth if there's a snapshot) and in the instruction match. Don't forget to check the author of the proposal and comments (to ensure there are no objections):
![Screenshot 2024-11-21 at 20.26.13](https://hackmd.io/_uploads/rJiEJ1aGyg.png)
We've verified one address, the params for its method, and the description of the proposal by using https://etherscan.io/, https://docs.lido.fi, https://snapshot.org/#/lido-snapshot.eth, and https://research.lido.fi/. By following these steps, you can verify the rest of the information provided in this instruction to ensure that it is not malicious.