Deployment Scripts
YieldManager.s.sol
The deployment script provided correctly implements the constructor parameters of each of the YieldInterface contracts based on their respective Base chain deployments.
[LOW] Ownership is not transferred after deployment
The YieldManager is an Ownable contract powered by OpenZeppelin. The owner is defined by the deployer of the contract, but following the standard Flayer Labs approach it should likely have its ownership transferred to the multisig following the deployment.
Recommended solution:
address internal constant MULTISIG = 0x...;
function run() external {
// ..
yieldManager.transferOwnership(MULTISIG);
}
[LOW] The Protocol Fee Recipient is currently set to a personal EOA
The protocolFeeRecipient is currently set to a personal EOA (twade.eth). It should be updated to either a zero address, a contract that expects to receive dripped ETH, or a contract that will allow for scheduled and explicit claims.
Affected code:
function run() external {
// ..
// Set our protocol fee recipient
yieldManager.setProtocolFeeRecipient(payable(0x498E93Bc04955fCBAC04BCF1a3BA792f01Dbaa96));
// ..
}