Hooks.wtf

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.

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));

  // ..
}
Previous
UniswapV4.sol