Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: anvil setup #400

Merged
merged 4 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion chainio/clients/elcontracts/bindings.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,10 @@ func NewBindingsFromConfig(
}
}

permissionController, err = permissioncontroller.NewContractPermissionController(cfg.PermissionsControllerAddress, client)
permissionController, err = permissioncontroller.NewContractPermissionController(
cfg.PermissionsControllerAddress,
client,
)
if err != nil {
return nil, utils.WrapError("Failed to fetch RewardsCoordinator contract", err)
}
Expand Down
16 changes: 13 additions & 3 deletions chainio/clients/elcontracts/reader.go
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ func (r *ChainReader) GetOperatorDetails(
},
gethcommon.HexToAddress(operator.Address),
)
if err == nil {
if err != nil {
return types.Operator{}, err
}

Expand Down Expand Up @@ -655,7 +655,13 @@ func (r *ChainReader) UserCanCall(
target gethcommon.Address,
selector [4]byte,
) (bool, error) {
canCall, err := r.permissionController.CanCall(&bind.CallOpts{Context: ctx}, userAddress, callerAddress, target, selector)
canCall, err := r.permissionController.CanCall(
&bind.CallOpts{Context: ctx},
userAddress,
callerAddress,
target,
selector,
)
if err != nil {
return false, errors.New("call to permission controller failed: " + err.Error())
}
Expand All @@ -680,7 +686,11 @@ func (r *ChainReader) ListUserPermissions(
appointed gethcommon.Address,
userAddress gethcommon.Address,
) ([]gethcommon.Address, [][4]byte, error) {
targets, selectors, err := r.permissionController.GetAppointeePermissions(&bind.CallOpts{Context: ctx}, appointed, userAddress)
targets, selectors, err := r.permissionController.GetAppointeePermissions(
&bind.CallOpts{Context: ctx},
appointed,
userAddress,
)
if err != nil {
return nil, nil, errors.New("call to permission controller failed: " + err.Error())
}
Expand Down
4 changes: 2 additions & 2 deletions chainio/clients/elcontracts/writer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ func TestChainWriter(t *testing.T) {
contractAddrs := testutils.GetContractAddressesFromContractRegistry(anvilHttpEndpoint)

t.Run("update operator details", func(t *testing.T) {
walletModified, err := crypto.HexToECDSA("2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6")
walletModified, err := crypto.HexToECDSA("ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80")
assert.NoError(t, err)
walletModifiedAddress := crypto.PubkeyToAddress(walletModified.PublicKey)

Expand All @@ -129,7 +129,7 @@ func TestChainWriter(t *testing.T) {
})

t.Run("update metadata URI", func(t *testing.T) {
walletModified, err := crypto.HexToECDSA("2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6")
walletModified, err := crypto.HexToECDSA("ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80")
assert.NoError(t, err)
walletModifiedAddress := crypto.PubkeyToAddress(walletModified.PublicKey)
receipt, err := clients.ElChainWriter.UpdateMetadataURI(
Expand Down
2 changes: 1 addition & 1 deletion contracts/anvil/contracts-deployed-anvil-state.json

Large diffs are not rendered by default.

9 changes: 4 additions & 5 deletions contracts/anvil/deploy-contracts-save-anvil-state.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,28 +36,27 @@ set +a
start_anvil_docker "" $anvil_dir/contracts-deployed-anvil-state.json
sleep 1

CHAIN_ID=$(cast chain-id)
CHAIN_ID=$(cast chain-id --rpc-url $ETH_HTTP_URL)

# DEPLOY CONTRACT REGISTRY
cd $root_dir/contracts
forge create src/ContractsRegistry.sol:ContractsRegistry --rpc-url $ETH_HTTP_URL --private-key $DEPLOYER_PRIVATE_KEY
forge create src/ContractsRegistry.sol:ContractsRegistry --rpc-url $ETH_HTTP_URL --private-key $DEPLOYER_PRIVATE_KEY --broadcast

# DEPLOY EIGENLAYER
EIGEN_CONTRACTS_DIR=$root_dir/contracts/lib/eigenlayer-middleware/lib/eigenlayer-contracts
DEVNET_OUTPUT_DIR=$EIGEN_CONTRACTS_DIR/script/output/devnet
# deployment overwrites this file, so we save it as backup, because we want that output in our local files, and not in the eigenlayer-contracts submodule files
mv $DEVNET_OUTPUT_DIR/M2_from_scratch_deployment_data.json $DEVNET_OUTPUT_DIR/M2_from_scratch_deployment_data.json.bak
cd $EIGEN_CONTRACTS_DIR
forge script script/deploy/devnet/M2_Deploy_From_Scratch.s.sol --rpc-url $ETH_HTTP_URL \
forge script script/deploy/local/Deploy_From_Scratch.s.sol --rpc-url $ETH_HTTP_URL \
--private-key $DEPLOYER_PRIVATE_KEY --broadcast \
--sig "run(string memory configFileName)" -- M2_deploy_from_scratch.anvil.config.json
--sig "run(string memory configFileName)" -- local/deploy_from_scratch.anvil.config.json
mv $DEVNET_OUTPUT_DIR/M2_from_scratch_deployment_data.json $root_dir/contracts/script/output/${CHAIN_ID:?}/eigenlayer_deployment_output.json
mv $DEVNET_OUTPUT_DIR/M2_from_scratch_deployment_data.json.bak $DEVNET_OUTPUT_DIR/M2_from_scratch_deployment_data.json

# DEPLOY MOCKAVS
cd $root_dir/contracts
forge script script/DeployMockAvs.s.sol --rpc-url $ETH_HTTP_URL --private-key $DEPLOYER_PRIVATE_KEY --broadcast

# DEPLOY TOKENS AND STRATEGIES
cd $root_dir/contracts
# DO NOT REMOVE THE SLOW DIRECTIVE FROM THIS SCRIPT INVOCATION
Expand Down
4 changes: 3 additions & 1 deletion contracts/anvil/utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ start_anvil_docker() {
DUMP_STATE_VOLUME_DOCKER_ARG=$([[ -z $DUMP_STATE_FILE ]] && echo "" || echo "-v $DUMP_STATE_FILE:/dump-state.json")
LOAD_STATE_ANVIL_ARG=$([[ -z $LOAD_STATE_FILE ]] && echo "" || echo "--load-state /load-state.json")
DUMP_STATE_ANVIL_ARG=$([[ -z $DUMP_STATE_FILE ]] && echo "" || echo "--dump-state /dump-state.json")
# temp fix since one of the middleware contract's is greater than default code size limit
CODE_SIZE_ARG="--code-size-limit 30000"

trap 'docker stop anvil 2>/dev/null || true' EXIT
set -o xtrace
docker run --rm -d --name anvil -p 8545:8545 $LOAD_STATE_VOLUME_DOCKER_ARG $DUMP_STATE_VOLUME_DOCKER_ARG \
--entrypoint anvil \
$FOUNDRY_IMAGE \
$LOAD_STATE_ANVIL_ARG $DUMP_STATE_ANVIL_ARG --host 0.0.0.0
$LOAD_STATE_ANVIL_ARG $DUMP_STATE_ANVIL_ARG --host 0.0.0.0 $CODE_SIZE_ARG
set +o xtrace
sleep 2
}
4 changes: 2 additions & 2 deletions contracts/bindings/AVSDirectory/binding.go

Large diffs are not rendered by default.

52 changes: 43 additions & 9 deletions contracts/bindings/AllocationManager/binding.go

Large diffs are not rendered by default.

41 changes: 4 additions & 37 deletions contracts/bindings/DelegationManager/binding.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion contracts/bindings/EigenPod/binding.go

Large diffs are not rendered by default.

41 changes: 4 additions & 37 deletions contracts/bindings/EigenPodManager/binding.go

Large diffs are not rendered by default.

27 changes: 2 additions & 25 deletions contracts/bindings/PermissionController/binding.go

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions contracts/bindings/StrategyManager/binding.go

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions contracts/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
src = "src"
out = "out"
libs = ["lib"]
solc_version = '0.8.27'
via-ir = true
optimizer = true
optimizer_runs = 200
remappings = [
"@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/",
"@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/openzeppelin-contracts-upgradeable/",
Expand Down
2 changes: 1 addition & 1 deletion contracts/lib/eigenlayer-middleware
Submodule eigenlayer-middleware updated 73 files
+6 −4 foundry.toml
+1 −1 lib/eigenlayer-contracts
+40 −0 script/utils/UpgradeLib.sol
+23 −0 script/utils/testdata/17000/core_testdata.json
+18 −0 script/utils/testdata/17000/middlware_testdata.json
+21 −0 src/AVSRegistrar.sol
+5 −3 src/BLSSignatureChecker.sol
+244 −129 src/RegistryCoordinator.sol
+12 −4 src/RegistryCoordinatorStorage.sol
+117 −17 src/ServiceManagerBase.sol
+17 −3 src/ServiceManagerBaseStorage.sol
+133 −33 src/StakeRegistry.sol
+20 −5 src/StakeRegistryStorage.sol
+9 −6 src/interfaces/IRegistryCoordinator.sol
+36 −1 src/interfaces/IServiceManager.sol
+3 −0 src/interfaces/IServiceManagerUI.sol
+44 −0 src/interfaces/ISlasher.sol
+32 −9 src/interfaces/IStakeRegistry.sol
+2 −2 src/libraries/BN254.sol
+145 −0 src/libraries/QuorumBitmapHistoryLib.sol
+7 −4 src/libraries/SignatureCheckerLib.sol
+22 −0 src/slashers/InstantSlasher.sol
+77 −0 src/slashers/VetoableSlasher.sol
+37 −0 src/slashers/base/SlasherBase.sol
+11 −0 src/slashers/base/SlasherStorage.sol
+24 −4 src/unaudited/ECDSAServiceManagerBase.sol
+1 −1 src/unaudited/ECDSAStakeRegistry.sol
+3 −59 test/harnesses/AVSDirectoryHarness.sol
+6 −4 test/harnesses/RegistryCoordinatorHarness.t.sol
+4 −2 test/harnesses/StakeRegistryHarness.sol
+28 −17 test/integration/CoreRegistration.t.sol
+5 −5 test/integration/IntegrationBase.t.sol
+1 −1 test/integration/IntegrationChecks.t.sol
+17 −17 test/integration/IntegrationConfig.t.sol
+103 −95 test/integration/IntegrationDeployer.t.sol
+18 −23 test/integration/User.t.sol
+1 −0 test/integration/mocks/BeaconChainOracleMock.t.sol
+2 −2 test/integration/tests/NonFull_Register_CoreBalanceChange_Update.t.sol
+16 −15 test/integration/utils/Sort.t.sol
+169 −189 test/mocks/AVSDirectoryMock.sol
+17 −0 test/mocks/AVSRegistrarMock.sol
+175 −0 test/mocks/AllocationManagerMock.sol
+249 −180 test/mocks/DelegationMock.sol
+17 −2 test/mocks/ECDSAServiceManagerMock.sol
+97 −0 test/mocks/EigenPodManagerMock.sol
+91 −0 test/mocks/PermissionControllerMock.sol
+3 −1 test/mocks/RegistryCoordinatorMock.sol
+159 −101 test/mocks/RewardsCoordinatorMock.sol
+12 −4 test/mocks/ServiceManagerMock.sol
+20 −7 test/mocks/StakeRegistryMock.sol
+100 −0 test/unit/AVSRegistrar.t.sol
+8 −2 test/unit/ECDSAServiceManager.t.sol
+6 −6 test/unit/OperatorStateRetrieverUnit.t.sol
+0 −200 test/unit/RegistryCoordinatorMigration.t.sol
+665 −127 test/unit/RegistryCoordinatorUnit.t.sol
+26 −23 test/unit/ServiceManagerBase.t.sol
+0 −347 test/unit/ServiceManagerMigration.t.sol
+2 −1 test/unit/ServiceManagerRouter.t.sol
+66 −13 test/unit/StakeRegistryUnit.t.sol
+46 −0 test/unit/UpgradeableProxyLib.sol
+2 −2 test/unit/Utils.sol
+2 −2 test/utils/BLSMockAVSDeployer.sol
+271 −0 test/utils/CoreDeployLib.sol
+0 −11 test/utils/Greeter.sol
+0 −65 test/utils/GreeterProxiable.sol
+0 −14 test/utils/GreeterV2.sol
+0 −17 test/utils/GreeterV2Proxiable.sol
+89 −58 test/utils/MockAVSDeployer.sol
+0 −13 test/utils/NoInitializer.sol
+0 −9 test/utils/ProxyTestContracts.sol
+0 −241 test/utils/UpgradeableProxyUtils.sol
+0 −87 test/utils/UpgradeableProxyUtils.t.sol
+0 −19 test/utils/WithConstructor.sol
7 changes: 4 additions & 3 deletions contracts/script/DeployMockAvs.s.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
pragma solidity ^0.8.12;

import "./DeployMockAvsRegistries.s.sol";
import "forge-std/console.sol";
Expand All @@ -15,7 +15,7 @@ contract DeployMockAvs is DeployMockAvsRegistries {
ContractsRegistry contractsRegistry = ContractsRegistry(
0x5FbDB2315678afecb367f032d93F642f64180aa3
);
EigenlayerContracts
EigenlayerContracts
memory eigenlayerContracts = _loadEigenlayerDeployedContracts();
MockAvsOpsAddresses memory addressConfig = _loadAvsOpsAddresses(
"ops_addresses"
Expand Down Expand Up @@ -47,7 +47,8 @@ contract DeployMockAvs is DeployMockAvsRegistries {
mockAvsServiceManagerImplementation = new MockAvsServiceManager(
registryCoordinator,
eigenlayerContracts.avsDirectory,
eigenlayerContracts.rewardsCoordinator
eigenlayerContracts.rewardsCoordinator,
eigenlayerContracts.allocationManager
);

mockAvsProxyAdmin.upgradeAndCall(
Expand Down
21 changes: 14 additions & 7 deletions contracts/script/DeployMockAvsRegistries.s.sol
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
pragma solidity ^0.8.12;

import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
import "eigenlayer-contracts/src/contracts/permissions/PauserRegistry.sol";

import {IDelegationManager} from "eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol";
import {IStrategyManager, IStrategy} from "eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol";
import {ISlasher} from "eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol";
import "eigenlayer-contracts/src/test/mocks/EmptyContract.sol";

import "eigenlayer-middleware/src/RegistryCoordinator.sol" as blsregcoord;
Expand All @@ -17,6 +16,7 @@ import {BLSApkRegistry} from "eigenlayer-middleware/src/BLSApkRegistry.sol";
import {IndexRegistry} from "eigenlayer-middleware/src/IndexRegistry.sol";
import {StakeRegistry} from "eigenlayer-middleware/src/StakeRegistry.sol";
import {OperatorStateRetriever} from "eigenlayer-middleware/src/OperatorStateRetriever.sol";
import {StakeType} from "eigenlayer-middleware/src/interfaces/IStakeRegistry.sol";

import {MockAvsContracts} from "./parsers/MockAvsContractsParser.sol";
import {EigenlayerContracts, EigenlayerContractsParser} from "./parsers/EigenlayerContractsParser.sol";
Expand Down Expand Up @@ -145,7 +145,9 @@ contract DeployMockAvsRegistries is
{
stakeRegistryImplementation = new StakeRegistry(
registryCoordinator,
eigenlayerContracts.delegationManager
eigenlayerContracts.delegationManager,
eigenlayerContracts.avsDirectory,
IServiceManager(address(mockAvsServiceManager))
);

mockAvsProxyAdmin.upgrade(
Expand All @@ -158,7 +160,9 @@ contract DeployMockAvsRegistries is
blsregcoord.IServiceManager(address(mockAvsServiceManager)),
blsregcoord.IStakeRegistry(address(stakeRegistry)),
blsregcoord.IBLSApkRegistry(address(blsApkRegistry)),
blsregcoord.IIndexRegistry(address(indexRegistry))
blsregcoord.IIndexRegistry(address(indexRegistry)),
blsregcoord.IAVSDirectory(eigenlayerContracts.avsDirectory),
PauserRegistry(address(mockAvsPauserReg))
);

{
Expand Down Expand Up @@ -200,6 +204,8 @@ contract DeployMockAvsRegistries is
// });
// }
// }
uint32[] memory lookAhead = new uint32[](numQuorums);
StakeType[] memory stakeTypes = new StakeType[](numQuorums);
mockAvsProxyAdmin.upgradeAndCall(
TransparentUpgradeableProxy(
payable(address(registryCoordinator))
Expand All @@ -210,11 +216,12 @@ contract DeployMockAvsRegistries is
addressConfig.communityMultisig,
addressConfig.churner,
addressConfig.ejector,
addressConfig.pauser,
0, // 0 initialPausedStatus means everything unpaused
quorumsOperatorSetParams,
quorumsMinimumStake,
quorumsStrategyParams
new uint96[](0),
new IStakeRegistry.StrategyParams[][](0),
new StakeType[](0),
new uint32[](0)
)
);
}
Expand Down
8 changes: 4 additions & 4 deletions contracts/script/DeployTokensStrategiesCreateQuorums.s.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
pragma solidity ^0.8.12;

import "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
import "eigenlayer-contracts/src/contracts/permissions/PauserRegistry.sol";
Expand All @@ -9,6 +9,7 @@ import {StrategyBaseTVLLimits} from "eigenlayer-contracts/src/contracts/strategi

import "eigenlayer-middleware/src/interfaces/IStakeRegistry.sol";
import "eigenlayer-middleware/src/RegistryCoordinator.sol" as regcoord;
import {StakeType} from "eigenlayer-middleware/src/interfaces/IStakeRegistry.sol";

import {MockERC20, IERC20} from "../src/MockERC20.sol";
import "./parsers/EigenlayerContractsParser.sol";
Expand Down Expand Up @@ -90,8 +91,7 @@ contract DeployTokensStrategiesCreateQuorums is
bool[] memory thirdPartyTransfersForbiddenValues = new bool[](1);
thirdPartyTransfersForbiddenValues[0] = false;
strategyManager.addStrategiesToDepositWhitelist(
strats,
thirdPartyTransfersForbiddenValues
strats
);

// WRITE JSON DATA
Expand Down Expand Up @@ -147,7 +147,7 @@ contract DeployTokensStrategiesCreateQuorums is
multiplier: 1 ether
});

regcoord.RegistryCoordinator(address(mockAvsRegCoord)).createQuorum(
regcoord.RegistryCoordinator(address(mockAvsRegCoord)).createTotalDelegatedStakeQuorum(
quorumOperatorSetParams,
quorumMinimumStake,
quorumStrategyParams
Expand Down
10 changes: 4 additions & 6 deletions contracts/script/RegisterOperatorsWithEigenlayer.s.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
pragma solidity ^0.8.12;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

Expand Down Expand Up @@ -67,6 +67,7 @@ contract RegisterOperators is
// Register operators with EigenLayer
for (uint256 i = 0; i < numberOfOperators; i++) {
address delegationApprover = address(0); // anyone can delegate to this operator
uint32 allocationDelay = 2; // 2 blocks
uint32 stakerOptOutWindowBlocks = 100;
string memory metadataURI = string.concat(
"https://coolstuff.com/operator/",
Expand All @@ -75,11 +76,8 @@ contract RegisterOperators is
(, uint256 privateKey) = deriveRememberKey(mnemonic, uint32(i));
vm.startBroadcast(privateKey);
eigenlayerContracts.delegationManager.registerAsOperator(
IDelegationManager.OperatorDetails(
operators[i],
delegationApprover,
stakerOptOutWindowBlocks
),
delegationApprover,
allocationDelay,
metadataURI
);
eigenlayerContracts.strategyManager.depositIntoStrategy(
Expand Down
41 changes: 28 additions & 13 deletions contracts/script/output/31337/eigenlayer_deployment_output.json
Original file line number Diff line number Diff line change
@@ -1,33 +1,48 @@
{
"addresses": {
"allocationManager": "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
"allocationManagerImplementation": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed",
"avsDirectory": "0x0165878A594ca255338adfa4d48449f69242Eb8F",
"avsDirectoryImplementation": "0x0B306BF915C4d645ff596e518fAf3F9669b97016",
"baseStrategyImplementation": "0x09635F643e140090A9A8Dcd712eD6285858ceBef",
"delayedWithdrawalRouter": "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
"delayedWithdrawalRouterImplementation": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed",
"delegation": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
"delegationImplementation": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82",
"delegationManager": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
"delegationManagerImplementation": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82",
"eigenLayerPauserReg": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",
"eigenLayerProxyAdmin": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512",
"eigenPodBeacon": "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0",
"eigenPodImplementation": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e",
"eigenPodManager": "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6",
"eigenPodManagerImplementation": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE",
"eigenPodManager": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
"eigenPodManagerImplementation": "0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1",
"emptyContract": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",
"rewardsCoordinator": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788",
"rewardsCoordinatorImplementation": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c",
"slasher": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853",
"slasherImplementation": "0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1",
"strategies": "",
"numStrategiesDeployed": 0,
"permissionController": "0x610178dA211FEF7D417bC0e6FeD39F05609AD788",
"permissionControllerImplementation": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c",
"rewardsCoordinator": "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6",
"rewardsCoordinatorImplementation": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE",
"strategies": {
"WETH": "0x67d269191c92Caf3cD7723F116c85e6E9bf55933"
},
"strategyManager": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707",
"strategyManagerImplementation": "0x9A676e781A523b5d0C0e43731313A708CB607508"
"strategyManagerImplementation": "0x9A676e781A523b5d0C0e43731313A708CB607508",
"token": {
"tokenProxyAdmin": "0x0000000000000000000000000000000000000000",
"EIGEN": "0x0000000000000000000000000000000000000000",
"bEIGEN": "0x0000000000000000000000000000000000000000",
"EIGENImpl": "0x0000000000000000000000000000000000000000",
"bEIGENImpl": "0x0000000000000000000000000000000000000000",
"eigenStrategy": "0x0000000000000000000000000000000000000000",
"eigenStrategyImpl": "0x0000000000000000000000000000000000000000"
}
},
"chainInfo": {
"chainId": 31337,
"deploymentBlock": 1
},
"parameters": {
"communityMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"executorMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"operationsMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
"operationsMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"pauserMultisig": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"timelock": "0x0000000000000000000000000000000000000000"
}
}
10 changes: 5 additions & 5 deletions contracts/script/output/31337/mockAvs_deployment_output.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"addresses": {
"mockAvsServiceManager": "0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB",
"mockAvsServiceManager": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9",
"mockAvsServiceManagerImplementation": "0x0000000000000000000000000000000000000000",
"operatorStateRetriever": "0x95401dc811bb5740090279Ba06cfA8fcF6113778",
"proxyAdmin": "0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690",
"registryCoordinator": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9",
"registryCoordinatorImplementation": "0x9d4454B023096f34B160D6B654540c56A1F81688"
"operatorStateRetriever": "0x70e0bA845a1A0F2DA3359C97E0285013525FFC49",
"proxyAdmin": "0x9E545E3C0baAB3E08CdfD552C960A1050f373042",
"registryCoordinator": "0x851356ae760d987E095750cCeb3bC6014560891C",
"registryCoordinatorImplementation": "0x36C02dA8a0983159322a80FFE9F24b1acfF8B570"
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"addresses": {
"erc20mock": "0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3",
"erc20mockstrategy": "0x7bc06c482DEAd17c0e297aFbC32f6e63d3846650"
"erc20mock": "0x7bc06c482DEAd17c0e297aFbC32f6e63d3846650",
"erc20mockstrategy": "0xFD471836031dc5108809D173A067e8486B9047A3"
}
}
2 changes: 1 addition & 1 deletion contracts/script/parsers/ConfigsReadWriter.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: BUSL-1.1
pragma solidity =0.8.12;
pragma solidity ^0.8.12;

import "eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol";
import "eigenlayer-contracts/src/contracts/strategies/StrategyBase.sol";
Expand Down
Loading
Loading