datahaven/contracts/script/deploy/Config.sol
2026-02-09 14:28:34 +01:00

57 lines
1.8 KiB
Solidity

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.27;
contract Config {
// Snowbridge parameters
struct SnowbridgeConfig {
uint256 randaoCommitDelay;
uint256 randaoCommitExpiration;
uint256 minNumRequiredSignatures;
uint64 startBlock;
uint128 initialValidatorSetId;
bytes32[] initialValidatorHashes;
uint128 nextValidatorSetId;
bytes32[] nextValidatorHashes;
bytes32 rewardsMessageOrigin;
}
// AVS parameters
struct AVSConfig {
address avsOwner;
address rewardsInitiator;
address[] validatorsStrategies;
}
// EigenLayer parameters
struct EigenLayerConfig {
address[] pauserAddresses;
address unpauserAddress;
address rewardsUpdater;
uint32 calculationIntervalSeconds;
uint32 maxRewardsDuration;
uint32 maxRetroactiveLength;
uint32 maxFutureLength;
uint32 genesisRewardsTimestamp;
uint32 activationDelay;
uint16 globalCommissionBips;
address executorMultisig;
address operationsMultisig;
uint32 minWithdrawalDelayBlocks;
uint32 delegationWithdrawalDelayBlocks;
uint256 strategyManagerInitPausedStatus;
uint256 delegationInitPausedStatus;
uint256 eigenPodManagerInitPausedStatus;
uint256 rewardsCoordinatorInitPausedStatus;
uint256 allocationManagerInitPausedStatus;
uint32 deallocationDelay;
uint32 allocationConfigurationDelay;
uint64 beaconChainGenesisTimestamp;
// Hoodi-specific contract addresses (existing deployed contracts)
address delegationManager;
address strategyManager;
address avsDirectory;
address rewardsCoordinator;
address allocationManager;
address permissionController;
}
}