//! REMOVE ALL COMMENTS AND CHANGE EXTENSION TO `.json` BEFORE USING //! Parsing JSONC is not supported by the Solidity JSON parser, so we need to remove the comments before using the config { "eigenLayer": { "pausers": [ "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", "0x70997970C51812dc3A010C7d01b50e0d17dc79C8" ], "unpauser": "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC", /// Account authorised to update pending rewards merkle root in the RewardsCoordinator contract. /// In practice, this is the account used by the off-chain rewards updater service. /// See https://github.com/Layr-Labs/eigenlayer-contracts/tree/dev/docs#rewardscoordinator "rewardsUpdater": "0x90F79bf6EB2c4f870365E785982E1f101E93b906", /// The interval at which the new rewards merkle root is calculated. /// See testnet deployment: https://hoodi.etherscan.io/address/0x29e8572678e0c272350aa0b4B8f304E47EBcd5e7#readProxyContract#F1 "calculationIntervalSeconds": 86400, /// The maximum duration of rewards that can be retroactively applied. /// See testnet deployment: https://hoodi.etherscan.io/address/0xAcc1fb458a1317E886dB376Fc8141540537E68fE#readProxyContract#F5 "maxRewardsDuration": 6048000, /// The maximum retroactive length of rewards that can be applied. /// See testnet deployment: https://hoodi.etherscan.io/address/0xAcc1fb458a1317E886dB376Fc8141540537E68fE#readProxyContract#F4 "maxRetroactiveLength": 7776000, /// The maximum duration of rewards that can be applied in the future. /// See testnet deployment: https://hoodi.etherscan.io/address/0xAcc1fb458a1317E886dB376Fc8141540537E68fE#readProxyContract#F3 "maxFutureLength": 2592000, /// The timestamp at which rewards are first calculated. /// See testnet deployment: https://hoodi.etherscan.io/address/0xAcc1fb458a1317E886dB376Fc8141540537E68fE#readProxyContract#F2 "genesisRewardsTimestamp": 1710979200, /// Delay in timestamp (seconds) before a posted root can be claimed against /// See testnet deployment: https://hoodi.etherscan.io/address/0xAcc1fb458a1317E886dB376Fc8141540537E68fE#readProxyContract#F6 "activationDelay": 7200, /// Also called "defaultOperatorSplitBips" /// Used off-chain by the rewards updater to calculate an Operator's split for a specific reward. /// See testnet deployment: https://hoodi.etherscan.io/address/0xAcc1fb458a1317E886dB376Fc8141540537E68fE#readProxyContract#F7 "globalCommissionBips": 1000, /// Multisig address for controlling operations (we don't care as much about this). "executorMultisig": "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65", /// Multisig address for executing operations (we don't care as much about this). "operationsMultisig": "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc", /// The delay in blocks before withdrawals can be completed. /// See testnet deployment: https://hoodi.etherscan.io/address/0x867837a9722C512e0862d8c2E15b8bE220E8b87d#readProxyContract#F24 "minWithdrawalDelayBlocks": 50, /// The initial paused status of the DelegationManager /// See here for more details: https://github.com/Layr-Labs/eigenlayer-contracts/blob/db0f582ba9b4df861b72269267d4980d7f3f7490/src/contracts/permissions/Pausable.sol#L12 "delegationInitPausedStatus": 0, /// The initial paused status of the EigenPodManager /// See here for more details: https://github.com/Layr-Labs/eigenlayer-contracts/blob/db0f582ba9b4df861b72269267d4980d7f3f7490/src/contracts/permissions/Pausable.sol#L12 "eigenPodManagerInitPausedStatus": 0, /// The initial paused status of the RewardsCoordinator /// See here for more details: https://github.com/Layr-Labs/eigenlayer-contracts/blob/db0f582ba9b4df861b72269267d4980d7f3f7490/src/contracts/permissions/Pausable.sol#L12 "rewardsCoordinatorInitPausedStatus": 0, /// The initial paused status of the AllocationManager /// See here for more details: https://github.com/Layr-Labs/eigenlayer-contracts/blob/db0f582ba9b4df861b72269267d4980d7f3f7490/src/contracts/permissions/Pausable.sol#L12 "allocationManagerInitPausedStatus": 0, /// The delay in blocks before deallocations can be completed. /// See testnet deployment: https://hoodi.etherscan.io/address/0x95a7431400F362F3647a69535C5666cA0133CAA0#readProxyContract#F2 "deallocationDelay": 50, /// The delay in blocks before allocation configuration can be completed. /// See testnet deployment: https://hoodi.etherscan.io/address/0x95a7431400F362F3647a69535C5666cA0133CAA0#readProxyContract#F1 "allocationConfigurationDelay": 75, /// The genesis time of the beacon state, to help EL calculate conversions between slot and timestamp /// See EigenPodManager: https://hoodi.etherscan.io/address/0xcd1442415Fc5C29Aa848A49d2e232720BE07976c "beaconChainGenesisTimestamp": 1695902400 }, "avs": { /// The owner of the DataHaven Service Manager contract. "avsOwner": "0x976EA74026E726554dB657fA54763abd0C3a0aa9", /// The address of the account that initiates the rewards calculation. /// This is for the EigenLayer rewards distribution way, using the RewardsCoordinator. /// But for now, we're not using it, and instead sending the rewards directly. "rewardsInitiator": "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955", /// The EigenLayer strategy addresses for the Validators to stake into. /// The beaconChainETHStrategy is a virtual address representing native beacon chain ETH. /// All networks: /// - beaconChainETH: 0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0 (virtual, same on all networks) /// Hoodi testnet strategies: /// - stETH: 0xf8a1a66130d614c7360e868576d5e59203475fe0 /// - WETH: 0x24579aD4fe83aC53546E5c2D3dF5F85D6383420d /// Mainnet strategies: /// - stETH: 0x93c4b944D05dfe6df7645A86cd2206016c51564D /// - rETH: 0x1BeE69b7dFFfA4E2d53C2a2Df135C388AD25dCD2 /// - cbETH: 0x54945180dB7943c0ed0FEE7EdaB2Bd24620256bc "validatorsStrategies": [ "0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0" ] }, "snowbridge": { /// Minimum delay in number of blocks that a relayer must wait between calling /// submitInitial and commitPrevRandao. In production this should be set to MAX_SEED_LOOKAHEAD: /// https://eth2book.info/altair/part3/config/preset#max_seed_lookahead "randaoCommitDelay": 4, /// after randaoCommitDelay is reached, relayer must call commitPrevRandao within this number of blocks. /// Without this expiration, relayers can roll the dice infinitely to get the subsampling /// they desire. "randaoCommitExpiration": 24, /// The minimum number of required signatures for a Randao commit to be valid. /// Auto-calculated by update-beefy-checkpoint as ceil(validators * 2/3) for BFT security. "minNumRequiredSignatures": 2, /// Initial BEEFY block number. Set to latest finalized block by update-beefy-checkpoint. /// The BeefyClient will only accept BEEFY commitments with block numbers > startBlock. "startBlock": 1, /// The origin linked to the Rewards Agent, the Agent contract who's allowed to submit /// new reward merkle roots to the RewardsRegistry contract. "rewardsMessageOrigin": "0x0000000000000000000000000000000000000000000000000000000000000000", /// The BEEFY validator set ID for the initial validators. /// This is fetched from Beefy.ValidatorSetId on the DataHaven chain. "initialValidatorSetId": 0, /// The initial validator hashes for the BEEFY light client. /// Each hash is keccak256(ethereum_address) derived from the BEEFY authority public keys. "initialValidatorHashes": [ "0x8626f6940e2eb28930efb4cef49b2d1f2c9c1199914b9e5506744e80bd0fd33d", "0xdf57089febbacf7ba0bc227dafbffa9fc08a93fdc68e1e42411a14efcf23656e" ], /// The BEEFY validator set ID for the next validators (initialValidatorSetId + 1). "nextValidatorSetId": 1, /// The next validator hashes for the BEEFY light client. /// Each hash is keccak256(ethereum_address) derived from the BEEFY authority public keys. "nextValidatorHashes": [ "0x8626f6940e2eb28930efb4cef49b2d1f2c9c1199914b9e5506744e80bd0fd33d", "0xdf57089febbacf7ba0bc227dafbffa9fc08a93fdc68e1e42411a14efcf23656e" ] } }