mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 09:50:01 +00:00
In this PR:
1. Implement application-specific functionalities in the
`DataHavenServiceManager` contract:
1. Registering of 3 operator sets: Validators, BSPs and MSPs.
2. Allowlisted sign up of operators.
3. Integration with Snowbridge to send message of new validator set.
2. Basic testing of the above functionalities.
3. Tests now use less mocked contracts (especially from EigenLayer).
4. Refactor of `SignUpOperator` script, which now supports the three
kinds of Operator sets.
52 lines
1.6 KiB
Solidity
52 lines
1.6 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;
|
|
bytes32[] initialValidators;
|
|
bytes32[] nextValidators;
|
|
bytes32 rewardsMessageOrigin;
|
|
}
|
|
|
|
// AVS parameters
|
|
struct AVSConfig {
|
|
address avsOwner;
|
|
address rewardsInitiator;
|
|
address vetoCommitteeMember;
|
|
uint32 vetoWindowBlocks;
|
|
address[] validatorsStrategies;
|
|
address[] bspsStrategies;
|
|
address[] mspsStrategies;
|
|
}
|
|
|
|
// 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;
|
|
}
|
|
}
|