★ Rescue/emergencyWithdraw without timelock
ether.fi's assessment for RD-F-041 — scored yellow on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
weETH.recoverETH() and weETH.recoverERC20() callable by WEETH_OPERATING_ADMIN_ROLE without timelock. EtherFiNodesManager.sweepFunds() callable by ETHERFI_NODES_MANAGER_ADMIN_ROLE without timelock. Treasury.withdraw() callable by owner (Ownable) without timelock. These are untimelocked fund-recovery paths. Not red because (a) OPERATING_ADMIN and NODES_MANAGER_ADMIN roles are likely multisig-held (pending confirmation), and (b) weETH recover functions are bounded to accidentally-sent tokens (eETH is explicitly excluded from recoverERC20 scope in the source).
Sources #
- GitHubEtherFiNodesManager.sweepFunds — ETHERFI_NODES_MANAGER_ADMIN_ROLE, no timelockEtherFiNodesManager.sol — sweepFunds (no timelock)retrieved 2026-04-28
- Treasury contract — Ownable withdraw without timelockTreasury (0x6329004E...) — withdraw() function Ownable, no timelockretrieved 2026-04-28
- WeETH recover functions — WEETH_OPERATING_ADMIN_ROLE gated, no timelockWeETH.sol — recoverETH, recoverERC20 admin functions (no timelock)retrieved 2026-04-28
Methodology #
Determine whether a `rescue(…)` or `emergencyWithdraw(…)` function exists callable by admin without a timelock delay on execution.
See the full factor methodology and distribution across all protocols →