mirror of
https://github.com/datahaven-xyz/datahaven
synced 2026-05-24 01:38:32 +00:00
## Summary
### Configuration
- Remove deprecated `deny_warnings` config key from foundry.toml
- Add global `[lint]` config to suppress naming convention warnings for
AVS/EL/ERC patterns (`mixed-case-function`, `mixed-case-variable`)
### DataHavenServiceManager Refactoring
- Rename immutable variables to SCREAMING_SNAKE_CASE
(`_allocationManager` → `_ALLOCATION_MANAGER`, `_rewardsCoordinator` →
`_REWARDS_COORDINATOR`)
- Wrap modifier logic in internal functions (`_checkRewardsInitiator`,
`_checkValidator`, `_checkAllocationManager`) to reduce contract size
- Add `_toAddress` helper with assembly for safe bytes-to-address
conversion
### Safe Typecasting
- Replace direct typecasts with OpenZeppelin's SafeCast library in
deploy scripts and test utilities
- Use `.toUint32()`, `.toUint64()`, `.toUint160()` for
overflow-protected conversions
- Replace `bytes32("wrong origin")` string cast with hex literal in test
deployer
### Code Cleanup
- Remove 25+ unused imports across script and test files
- Convert plain imports to named imports for better clarity
- Use `SafeERC20.safeTransfer()` for token transfers in tests
- Change `view` to `pure` where appropriate
## Test plan
- [x] `forge build` completes with no warnings
- [x] `forge test` passes all 10 tests
32 lines
855 B
Solidity
32 lines
855 B
Solidity
// SPDX-License-Identifier: UNLICENSED
|
|
pragma solidity ^0.8.27;
|
|
|
|
import {SignUpOperatorBase} from "./SignUpOperatorBase.s.sol";
|
|
|
|
/**
|
|
* @title SignUpValidator
|
|
* @notice Script to sign up a validator for the DataHaven network
|
|
*/
|
|
contract SignUpValidator is SignUpOperatorBase {
|
|
/**
|
|
* @inheritdoc SignUpOperatorBase
|
|
*/
|
|
function _getOperatorSetId() internal view override returns (uint32) {
|
|
return serviceManager.VALIDATORS_SET_ID();
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc SignUpOperatorBase
|
|
*/
|
|
function _addToAllowlist() internal override {
|
|
vm.broadcast(_avsOwnerPrivateKey);
|
|
serviceManager.addValidatorToAllowlist(_operator);
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc SignUpOperatorBase
|
|
*/
|
|
function _getOperatorTypeName() internal pure override returns (string memory) {
|
|
return "VALIDATOR";
|
|
}
|
|
}
|