The vote #129 has the number of actions without descriptions. There is a list of things that are going to be performed:
To get the data in the voting script in readable format please refer to our how-to on checking Aragon votes: https://docs.lido.fi/guides/checking-aragon-vote/
After parsing, you will get the list of elements. And here are explanations and all links to etherscan.io for verification:
Contract: 0xf5dc67e54fc96f993cd06073f71ca732c1e654b1
Function: newVersion
Inputs:
_newSemanticVersion: uint16[3] = [3, 0, 0]
_contractAddress: address = 0x47EbaB13B806773ec2A2d16873e2dF770D130b50
_contentURI: bytes = 697066733a516d516b4a4d7476753474794a76577250584a666a4c667954576e393539696179794e6a703759714e7a58377053
Publishing new implementation (0x47EbaB13B806773ec2A2d16873e2dF770D130b50)
in Lido app APM repo 0xF5Dc67E54FC96F993CD06073f71ca732C1E654B1
calls Lido app Repo’s (0xf5dc67e54fc96f993cd06073f71ca732c1e654b1)
newVersion function to create a new version with
and bumps semantic version to 3.0.0
Contract: 0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc
Function: setApp
Inputs:
_namespace: bytes32 = f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f
_appId: bytes32 = 3ca7c3e38968823ccb4c78ea688df41356f182ae1d159e4ee608d30d68cef320
_app: address = 0x47EbaB13B806773ec2A2d16873e2dF770D130b50
Updating implementation of Lido app with the new one 0x47EbaB13B806773ec2A2d16873e2dF770D130b50
calls Lido DAO contract‘s (0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc)
setApp function to set the address 0x47EbaB13B806773ec2A2d16873e2dF770D130b50 as implementation for Lido's proxy contract.
How to check _namespace
and _appId
parameters:
Go to Lido DAO contract -> Read as Proxy -> function #11 getApp
and use parameters as in the Vote's point 2:
_namespace: 0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f
_appId: 0x3ca7c3e38968823ccb4c78ea688df41356f182ae1d159e4ee608d30d68cef320
you should get address of the current implementation: 0xC7B5aF82B05Eb3b64F12241B04B2cF14469E39F7
All the addresses, current and proposed, are published here.
Contract: 0x0d97e876ad14db2b183cfeeb8aa1a5c788eb1831
Function: newVersion
Inputs:
_newSemanticVersion: uint16[3] = [3, 0, 0]
_contractAddress: address = 0x5d39ABaa161e622B99D45616afC8B837E9F19a25
_contentURI: bytes = 697066733a516d61375058486d456a346a7332676a4d3976744850747176754b3832695335455950694a6d7a4b4c7a55353847
Publishing new implementation (0x5d39ABaa161e622B99D45616afC8B837E9F19a25)
in Node Operators Registry app APM repo 0x0D97E876ad14DB2b183CFeEB8aa1A5C788eB1831
calls Node Operators Registry app Repo’s (0x0D97E876ad14DB2b183CFeEB8aa1A5C788eB1831)
newVersion function to create a new version with
and bumps semantic version to 3.0.0
Contract: 0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc
Function: setApp
Inputs:
_namespace: bytes32 = f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f
_appId: bytes32 = 7071f283424072341f856ac9e947e7ec0eb68719f757a7e785979b6b8717579d
_app: address = 0x5d39ABaa161e622B99D45616afC8B837E9F19a25
Updating implementation of Node Operators Registry app with the new one 0x5d39ABaa161e622B99D45616afC8B837E9F19a25
calls Lido DAO contract‘s (0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc)
setApp function to set the address 0x5d39ABaa161e622B99D45616afC8B837E9F19a25 as implementation for Node Operators registry contract.
How to check _namespace
and _appId
parameters:
Go to Lido DAO contract -> Read as Proxy -> function #11 getApp
and use parameters as in the Vote's point 4:
_namespace: 0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f
_appId: 0x7071f283424072341f856ac9e947e7ec0eb68719f757a7e785979b6b8717579d
you should get address of the current implementation: 0xec3567ae258639a0FF5A02F7eAF4E4aE4416C5fe
All the addresses, current and proposed, are published here.
Contract: 0xf9339de629973c60c4d2b76749c81e6f40960e3a
Function: newVersion
Inputs:
_newSemanticVersion: uint16[3] = [3, 0, 0]
_contractAddress: address = 0x1430194905301504e8830ce4B0b0df7187E84AbD
_contentURI: bytes = 697066733a516d554d506669454b71354d786d387932475951504c756a47614a69577a31747665703557374564414767435238
Publishing new implementation (0x1430194905301504e8830ce4B0b0df7187E84AbD) in Oracle app APM repo 0xF9339DE629973c60c4d2b76749c81E6F40960E3A
calls Lido Oracle Repo‘s (0xf9339de629973c60c4d2b76749c81e6f40960e3a)
newVersion function to create a new version with
and bumps semantic version to 3.0.0
Contract: 0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc
Function: setApp
Inputs:
_namespace: bytes32 = f1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f
_appId: bytes32 = 8b47ba2a8454ec799cd91646e7ec47168e91fd139b23f017455f3e5898aaba93
_app: address = 0x1430194905301504e8830ce4B0b0df7187E84AbD
Updating implementation of Oracle app with new one 0x1430194905301504e8830ce4B0b0df7187E84AbD
calls Lido DAO contract‘s (0xb8ffc3cd6e7cf5a098a1c92f48009765b24088dc)
setApp function to set the address 0x1430194905301504e8830ce4B0b0df7187E84AbD as implementation for Oracle contract.
How to check _namespace
and _appId
parameters:
Go to Lido DAO contract -> Read as Proxy -> function #11 getApp
and use parameters as in the Vote's point 6:
_namespace: 0xf1f3eb40f5bc1ad1344716ced8b8a0431d840b5783aea1fd01786bc26f35ac0f
_appId: 0x8b47ba2a8454ec799cd91646e7ec47168e91fd139b23f017455f3e5898aaba93
you should get address of the current implementation: 0xADa6E33aa65590934870bFD204Fe8efe9c6Aa4bC
All the addresses, current and proposed, are published here.
Raw script:
Contract address: 0x442af784a788a5bd6f42a01ebe9f287a871243fb
Function signature: 0x6d395b7e
Call data length: 4
Call data: 0x
Call Oracle's finalizeUpgrade_v3() to update internal version counter
calls Oracle's (0x442af784A788A5bd6F42A01Ebe9F287a871243fb) finalizeUpgrade_v3 function.
finalizeUpgrade_v3 is a new function in a new implementation.
To check Function signature:
"Or enter your parameters manually"
you should choose "your function"
function typefinalizeUpgrade_v3
as a function name.You should get: 6d395b7e
As you can see, it matches with the function signature from evmscript parser.
Contract: 0x9895f0f17cc1d1891b6f18ee0b483b6f221b37bb
Function: createPermission
Inputs:
_entity: address = 0x2e59A20f205bB85a89C53f1936454680651E618e
_app: address = 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84
_role: bytes32 = 9d68ad53a92b6f44b2e8fb18d211bf8ccb1114f6fafd56aa364515dfdf23c44f
_manager: address = 0x2e59A20f205bB85a89C53f1936454680651E618e
Create permission for SET_EL_REWARDS_VAULT_ROLE of Lido app assigning it to Voting 0x2e59A20f205bB85a89C53f1936454680651E618e
calls Aragon ACL‘s (0x9895f0f17cc1d1891b6f18ee0b483b6f221b37bb)
createPermission function with parameters:
_entity is Aragon Voting contract
_app is Lido contract
_role is keccak256('SET_EL_REWARDS_VAULT_ROLE') = 9d68ad53a92b6f44b2e8fb18d211bf8ccb1114f6fafd56aa364515dfdf23c44f
_manager is Aragon Voting contract
Contract: 0x9895f0f17cc1d1891b6f18ee0b483b6f221b37bb
Function: createPermission
Inputs:
_entity: address = 0x2e59A20f205bB85a89C53f1936454680651E618e
_app: address = 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84
_role: bytes32 = a42eee1333c0758ba72be38e728b6dadb32ea767de5b4ddbaea1dae85b1b051f
_manager: address = 0x2e59A20f205bB85a89C53f1936454680651E618e
Create permission for STAKING_CONTROL_ROLE of Lido app
assigning it to Voting 0x2e59A20f205bB85a89C53f1936454680651E618e
calls Aragon ACL‘s (0x9895f0f17cc1d1891b6f18ee0b483b6f221b37bb)
createPermission function with parameters:
_entity is Aragon Voting contract
_app is Lido contract
_role is keccak256('STAKING_CONTROL_ROLE') = a42eee1333c0758ba72be38e728b6dadb32ea767de5b4ddbaea1dae85b1b051f
_manager is Aragon Voting contract
Raw script:
Contract address: 0xae7ab96520de3a18e5e111b5eaab095312d7fe84
Function signature: 0x7e4193c6
Call data length: 36
Call data: 0x000000000000000000000000388c818ca8b9251b393131c08a736a67ccb19297
Set execution layer rewards vault to LidoExecutionLayerRewardsVault 0x388C818CA8B9251b393131C08a736A67ccB19297
calls Lido's 0xae7ab96520de3a18e5e111b5eaab095312d7fe84
setELRewardsVault function.
setELRewardsVault is a new function in a new implementation that sets the address of LidoExecutionLayerRewardsVault contract.
LidoExecutionLayerRewardsVault proposed implementation: 0x388C818CA8B9251b393131C08a736A67ccB19297
To check Function signature and call data:
"Or enter your parameters manually"
you should choose "your function"
function typesetELRewardsVault
as a function name.address
in the dropdown list and type in 0x388C818CA8B9251b393131C08a736A67ccB19297
for a valueYou should get: 7e4193c6000000000000000000000000388c818ca8b9251b393131c08a736a67ccb19297
As you can see, the first 4 bytes 0x7e4193c6
match with the function signature from evmscript parser and the rest 000000000000000000000000388c818ca8b9251b393131c08a736a67ccb19297
matches with the calldata.
Raw script:
Contract address: 0xae7ab96520de3a18e5e111b5eaab095312d7fe84
Function signature: 0x7475f913
Call data length: 4
Call data: 0x
Resume staking
calls Lido's 0xae7ab96520de3a18e5e111b5eaab095312d7fe84 resumeStaking function.
resumeStaking is a new function in a new implementation that preserves staking limit if it was set previously.
To check Function signature and call data:
"Or enter your parameters manually"
you should choose "your function"
function typeresumeStaking
as a function name.You should get: 7475f913
As you can see, it matches with the function signature from evmscript parser.
Raw script:
Contract address: 0xae7ab96520de3a18e5e111b5eaab095312d7fe84
Function signature: 0x2cb5f784
Call data length: 68
Call data: 0x000000000000000000000000000000000000000000001fc3842bd1f071c000000000000000000000000000000000000000000000000000014542ba12a337c000
Set staking limit rate to 150,000 ETH per day
calls Lido's 0xae7ab96520de3a18e5e111b5eaab095312d7fe84 setStakingLimit function.
setStakingLimit is a new function in a new implementation that Sets the staking rate limit.
Params:
_maxStakeLimit = 150_000 * 10**18
_stakeLimitIncreasePerBlock = 150_000 * 10**18 * 13.5 // (24 * 60 * 60) # 13.5s per block as a rough average
To check Function signature and call data:
"Or enter your parameters manually"
you should choose "your function"
function typesetStakingLimit
as a function name.uint256
in the dropdown list and type in 150000000000000000000000
for a value (it's 150_000 * 10**18
)uint256
in the dropdown list and type in 23437500000000000000
for a value (it's 150_000 * 10**18 * 13.5 // (24 * 60 * 60)
)You should get: 2cb5f784000000000000000000000000000000000000000000001fc3842bd1f071c000000000000000000000000000000000000000000000000000014542ba12a337c000
As you can see, the first 4 bytes 0x2cb5f784
match with the function signature from evmscript parser and the rest 000000000000000000000000000000000000000000001fc3842bd1f071c000000000000000000000000000000000000000000000000000014542ba12a337c000
matches with the calldata.