datahaven/contracts/test/mocks/SlasherBaseMock.sol

38 lines
1.2 KiB
Solidity
Raw Permalink Normal View History

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.27;
import {SlasherBase} from "../../src/middleware/SlasherBase.sol";
import {
IAllocationManager,
IAllocationManagerTypes
} from "eigenlayer-contracts/src/contracts/interfaces/IAllocationManager.sol";
import {IServiceManager} from "../../src/interfaces/IServiceManager.sol";
// SlasherMock implementation for testing
contract SlasherMock is SlasherBase {
constructor(
IAllocationManager _allocationManager,
IServiceManager _serviceManager
) SlasherBase(_allocationManager, _serviceManager) {}
// Expose the internal _fulfilSlashingRequest function for testing
function fulfilSlashingRequest(
uint256 _requestId,
IAllocationManagerTypes.SlashingParams memory _params
) external {
_fulfilSlashingRequest(_requestId, _params);
}
// Function with the onlySlasher modifier for testing
function restrictedFunction() external onlySlasher {
// Do nothing, just for testing the modifier
}
// Expose the internal _checkSlasher function for testing
function checkSlasher(
address account
) external view {
_checkSlasher(account);
}
}