Skip to content

Commit 1cc31b2

Browse files
committed
test: zeus queued deployments + arbitrary envs (#1287)
**Motivation:** We want to support Zeus config parsing to enable testing of queued deployments. Our original deployment parser lacked the flexibility needed to support Zeus without requiring changes to Zeus itself. Additionally, the `User` and `AVS` contracts deployed by the `IntegrationDeployer` aren't able to properly read config from `IntegrationDeployer` leading to bandaid solutions. **Modifications:** - Removed `InitialDeploymentParser`: About 1k lines -> 100 for parsing. - Added `ConfigParser`: A parser that supports both fast TOML parsing and Zeus-style parsing. - Added `ConfigGetters`: A abstraction that allows contracts deployed by the `IntegrationDeployer` to easily access the current configuration. **Result:** Contracts deployed through the `IntegrationDeployer` can now reliably access their configuration, and Zeus integration is possible without needing to modify Zeus.
1 parent b9131aa commit 1cc31b2

38 files changed

+957
-1419
lines changed

cache/fuzz/failures

Lines changed: 0 additions & 7 deletions
This file was deleted.

cache/solidity-files-cache.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

cache/test-failures

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
testFuzz_bcSlash_checkpoint_avsSlash
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# WARNING: The layout and alphabetical order of this file must be consistent with what's in the `ConfigParser` library.
2+
# https://book.getfoundry.sh/cheatcodes/parse-toml?highlight=toml#decoding-toml-tables-into-solidity-structs
3+
4+
[governance]
5+
communityMultisig = "0xFEA47018D632A77bA579846c840d5706705Dc598"
6+
executorMultisig = "0x369e6F597e22EaB55fFb173C6d9cD234BD699111"
7+
operationsMultisig = "0xBE1685C81aA44FF9FB319dD389addd9374383e90"
8+
pauserMultisig = "0x5050389572f2d220ad927CcbeA0D406831012390"
9+
pauserRegistry = "0x0c431C66F4dE941d089625E5B423D00707977060"
10+
proxyAdmin = "0x8b9566AdA63B64d1E1dcF1418b43fd1433b72444"
11+
timelock = "0xA6Db1A8C5a981d1536266D2a393c5F8dDb210EAF"
12+
13+
[tokens]
14+
beigen = "0x83E9115d334D248Ce39a6f36144aEaB5b3456e75"
15+
eigen = "0xec53bf9167f50cdeb3ae105f56099aaab9061f83"
16+
17+
[core]
18+
allocationManager = "0x0000000000000000000000000000000000000000"
19+
avsDirectory = "0x135dda560e946695d6f155dacafc6f1f25c1f5af"
20+
delegationManager = "0x39053D51B77DC0d36036Fc1fCc8Cb819df8Ef37A"
21+
permissionController = "0x0000000000000000000000000000000000000000"
22+
rewardsCoordinator = "0x7750d328b314EfFa365A0402CcfD489B80B0adda"
23+
strategyManager = "0x858646372CC42E1A627fcE94aa7A7033e7CF075A"
24+
25+
[pods]
26+
eigenPodBeacon = "0x5a2a4F2F3C18f09179B6703e63D9eDD165909073"
27+
eigenPodManager = "0x91E677b07F7AF907ec9a428aafA9fc14a0d3A338"
28+
eigenStrategy = "0xaCB55C530Acdb2849e6d4f36992Cd8c9D50ED8F7"
29+
30+
[strategies]
31+
strategyFactory = "0x5e4C39Ad7A3E881585e383dB9827EB4811f6F647"
32+
strategyFactoryBeacon = "0x0ed6703C298d28aE0878d1b28e88cA87F9662fE9"
33+
strategyAddresses = [
34+
"0x93c4b944D05dfe6df7645A86cd2206016c51564D", # stETH
35+
"0x1BeE69b7dFFfA4E2d53C2a2Df135C388AD25dCD2", # rETH
36+
"0x54945180dB7943c0ed0FEE7EdaB2Bd24620256bc", # cbETH
37+
"0x9d7eD45EE2E8FC5482fa2428f15C971e6369011d", # ETHx
38+
"0x13760F50a9d7377e4F20CB8CF9e4c26586c658ff", # ankrETH
39+
"0xa4C637e0F704745D182e4D38cAb7E7485321d059", # oETH
40+
"0x57ba429517c3473B6d34CA9aCd56c0e735b94c02", # osETH
41+
"0x0Fe4F44beE93503346A3Ac9EE5A26b130a5796d6", # swETH
42+
"0x7CA911E83dabf90C90dD3De5411a10F1A6112184", # wBETH
43+
"0x8CA7A5d6f3acd3A7A8bC468a8CD0FB14B6BD28b6", # sfrxETH
44+
"0xAe60d8180437b5C34bB956822ac2710972584473", # lsETH
45+
"0x298aFB19A105D59E74658C4C334Ff360BadE6dd2" # mETH
46+
]

script/deploy/local/deploy_from_scratch.slashing.s.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ contract DeployFromScratch is Script, Test {
454454
vm.serializeString(parent_object, deployed_addresses, deployed_addresses_output);
455455
vm.serializeString(parent_object, chain_info, chain_info_output);
456456
string memory finalJson = vm.serializeString(parent_object, parameters, parameters_output);
457-
vm.writeJson(finalJson, "script/output/devnet/SLASHING_deploy_from_scratch_deployment_data.json");
457+
console.log(finalJson);
458458
}
459459

460460
function _verifyContractsPointAtOneAnother(

script/interfaces/IUpgradeableBeacon.sol

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,31 @@
11
{
22
"addresses": {
3-
"allocationManager": "0xAbD5Dd30CaEF8598d4EadFE7D45Fd582EDEade15",
4-
"allocationManagerImplementation": "0xBFF7154bAa41e702E78Fb082a8Ce257Ce13E6f55",
5-
"avsDirectory": "0xCa839541648D3e23137457b1Fd4A06bccEADD33a",
6-
"avsDirectoryImplementation": "0x1362e9Cb37831C433095f1f1568215B7FDeD37Ef",
7-
"baseStrategyImplementation": "0x61C6A250AEcAbf6b5e4611725b4f99C4DC85DB34",
8-
"delegationManager": "0x3391eBafDD4b2e84Eeecf1711Ff9FC06EF9Ed182",
9-
"delegationManagerImplementation": "0x4073a9B0fb0f31420C2A2263fB6E9adD33ea6F2A",
10-
"eigenLayerPauserReg": "0xBb02ACE793e921D6a454062D2933064F31Fae0B2",
11-
"eigenLayerProxyAdmin": "0xBf0c97a7df334BD83e0912c1218E44FD7953d122",
12-
"eigenPodBeacon": "0x8ad244c2a986e48862c5bE1FdCA27cef0aaa6E15",
13-
"eigenPodImplementation": "0x93cecf40F05389E99e163539F8d1CCbd4267f9A7",
14-
"eigenPodManager": "0x8C9781FD55c67CE4DC08e3035ECbdB2B67a07307",
15-
"eigenPodManagerImplementation": "0x3013B13BF3a464ff9078EFa40b7dbfF8fA67138d",
16-
"emptyContract": "0x689CEE9134e4234caEF6c15Bf1D82779415daFAe",
17-
"rewardsCoordinator": "0xa7DB7B0E63B5B75e080924F9C842758711177c07",
18-
"rewardsCoordinatorImplementation": "0x0e93df1A21CA53F93160AbDee19A92A20f8b397B",
19-
"strategies": [
20-
{
21-
"strategy_address": "0x4f812633943022fA97cb0881683aAf9f318D5Caa",
22-
"token_address": "0x94373a4919B3240D86eA41593D5eBa789FEF3848",
23-
"token_symbol": "WETH"
24-
}
25-
],
26-
"strategyBeacon": "0x957c04A5666079255fD75220a15918ecBA6039c6",
27-
"strategyFactory": "0x09F8f1c1ca1815083a8a05E1b4A0c65EFB509141",
28-
"strategyFactoryImplementation": "0x8b1F09f8292fd658Da35b9b3b1d4F7d1C0F3F592",
29-
"strategyManager": "0x70f8bC2Da145b434de66114ac539c9756eF64fb3",
30-
"strategyManagerImplementation": "0x1562BfE7Cb4644ff030C1dE4aA5A9aBb88a61aeC",
3+
"TestToken": "0xcae746B46013Bf4D43B8E2B9e98F9DBE2461532A",
4+
"allocationManager": "0xD718d5A27a29FF1cD22403426084bA0d479869a0",
5+
"allocationManagerImplementation": "0x20A42a5a785622c6Ba2576B2D6e924aA82BFA11D",
6+
"avsDirectory": "0x50EEf481cae4250d252Ae577A09bF514f224C6C4",
7+
"avsDirectoryImplementation": "0x8B71b41D4dBEb2b6821d44692d3fACAAf77480Bb",
8+
"baseStrategyImplementation": "0x29C66C9208f106f34754814f488FA80b6d566790",
9+
"delegationManager": "0xBb2180ebd78ce97360503434eD37fcf4a1Df61c3",
10+
"delegationManagerImplementation": "0x4C52a6277b1B84121b3072C0c92b6Be0b7CC10F1",
11+
"eigenLayerPauserReg": "0x90193C961A926261B756D1E5bb255e67ff9498A1",
12+
"eigenLayerProxyAdmin": "0x34A1D3fff3958843C43aD80F30b94c510645C316",
13+
"eigenPodBeacon": "0xd21060559c9beb54fC07aFd6151aDf6cFCDDCAeB",
14+
"eigenPodImplementation": "0x416C42991d05b31E9A6dC209e91AD22b79D87Ae6",
15+
"eigenPodManager": "0x62c20Aa1e0272312BC100b4e23B4DC1Ed96dD7D1",
16+
"eigenPodManagerImplementation": "0x1c23A6d89F95ef3148BCDA8E242cAb145bf9c0E4",
17+
"emptyContract": "0xA8452Ec99ce0C64f20701dB7dD3abDb607c00496",
18+
"numStrategiesDeployed": 0,
19+
"permissionController": "0x4f559F30f5eB88D635FDe1548C4267DB8FaB0351",
20+
"permissionControllerImplementation": "0xDeF3bca8c80064589E6787477FFa7Dd616B5574F",
21+
"rewardsCoordinator": "0xDEb1E9a6Be7Baf84208BB6E10aC9F9bbE1D70809",
22+
"rewardsCoordinatorImplementation": "0x0c8b5822b6e02CDa722174F19A1439A7495a3fA6",
23+
"strategies": {
24+
"WETH": "0xC92B57772d68b7445F19ef9f08226f4C8C74E499"
25+
},
26+
"strategy": "0xC92B57772d68b7445F19ef9f08226f4C8C74E499",
27+
"strategyManager": "0xDB8cFf278adCCF9E9b5da745B44E754fC4EE3C76",
28+
"strategyManagerImplementation": "0x978e3286EB805934215a88694d80b09aDed68D90",
3129
"token": {
3230
"tokenProxyAdmin": "0x0000000000000000000000000000000000000000",
3331
"EIGEN": "0x0000000000000000000000000000000000000000",
@@ -39,14 +37,14 @@
3937
}
4038
},
4139
"chainInfo": {
42-
"chainId": 17000,
43-
"deploymentBlock": 2548240
40+
"chainId": 31337,
41+
"deploymentBlock": 1
4442
},
4543
"parameters": {
46-
"communityMultisig": "0xBB37b72F67A410B76Ce9b9aF9e37aa561B1C5B07",
47-
"executorMultisig": "0xBB37b72F67A410B76Ce9b9aF9e37aa561B1C5B07",
48-
"operationsMultisig": "0xBB37b72F67A410B76Ce9b9aF9e37aa561B1C5B07",
49-
"pauserMultisig": "0xBB37b72F67A410B76Ce9b9aF9e37aa561B1C5B07",
44+
"communityMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
45+
"executorMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
46+
"operationsMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
47+
"pauserMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
5048
"timelock": "0x0000000000000000000000000000000000000000"
5149
}
5250
}

script/releases/Env.sol

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import "forge-std/Vm.sol";
55
import "zeus-templates/utils/ZEnvHelpers.sol";
66

77
import {TimelockController} from "@openzeppelin/contracts/governance/TimelockController.sol";
8+
import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
89
import "@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol";
910

1011
/// core/

0 commit comments

Comments
 (0)