Ether.fi utilizes a contract based AVS operator instead of an EOA in order to enable multiple security and efficiency improvements when working with a large number of eigenpods and AVS's
Each operator contract is a designed to be a simple forwarding contract
// specify which calls an node runner can make against which target contracts through the operator contract
function updateAllowedOperatorCalls(uint256 _operatorId, address _target, bytes4 _selector, bool _allowed) external onlyAdmin {
allowedOperatorCalls[_operatorId][_target][_selector] = _allowed;
emit AllowedOperatorCallsUpdated(_operatorId, _target, _selector, _allowed);
}
All forwarded operator actions will emit the following event
event ForwardedOperatorCall(uint256 indexed id, address indexed target, bytes4 indexed selector, bytes data, address sender);
This can be used to track which actions have been taken by which operators