Skip to content

26Q2 - Security Upgrades#385

Merged
seongyun-ko merged 661 commits into
masterfrom
pankaj/feat/security-upgrades
Jul 14, 2026
Merged

26Q2 - Security Upgrades#385
seongyun-ko merged 661 commits into
masterfrom
pankaj/feat/security-upgrades

Conversation

@pankajjagtapp

@pankajjagtapp pankajjagtapp commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Note

Medium Risk
Touches governance/liquidity formal specs and many deployment/upgrade scripts aligned with role consolidation and adapter/oracle shape changes; on-chain impact depends on the separate contract upgrade batch, but wrong script constants or bytecode gates could block or mis-verify releases.

Overview
This PR bundles release and verification tooling for the 26Q2 security-upgrades line, alongside broad script/import refactors that track the consolidated role model and new contract layout.

Formal verification: New Certora configs and CVL specs prove LiquidityPool peg/solvency wiring (I7 nonDecreasingRate on guarded entry points, I8 LP-buffer solvency after guarded writes, I9 pooled-ether decomposition in a separate tautology spec) and RoleRegistry authority (I6 owner/revokeAdmin/upgrade gates, no stray role mutation).

CI & toolchain: Forge tests on PRs targeting pankaj/feat/security-upgrades*; Foundry pinned to v1.5.1 (avoids nightly EIP-3860 initcode failures on large harnesses); OP_RPC_URL added to the test env; foundry.lock gitignored.

Build layout: remappings.txt adds @etherfi/, @tests/, @scripts/, @eigenlayer-libraries/; scripts and libs switch from ../src/... to those aliases. Eigenlayer library imports use the remapped package path.

Deployment safety: ContractCodeChecker gains assertByteCodeMatch — a reverting bytecode equality check that masks only address-derived immutables (and optional EIP-712 domain words), unlike the logging-only verifier.

Scripts & ops: Timelock delay constants renamed (minDelay_*); role checks use consolidated RoleRegistry tier roles instead of per-contract role constants; EtherFiNode deploys drop roleRegistry; EtherFiRateLimiter takes mainnet eETH/weETH immutables; WeETHWithdrawAdapter drops withdrawRequestNFT from ctor/deploy verification; OracleReport construction drops withdrawalRequestsToInvalidate. New deployment/* JSON records Create2 deployment parameters. Added V0→V1 membership batch migration (MembershipV0Migrator, MigrateV0ToV1.s.sol, id lists). Removed SimulateBatchApprove.s.sol.

Reviewed by Cursor Bugbot for commit f9a8cf5. Bugbot is set up for automated code reviews on this repo. Configure here.


Timelock batch simulations (Batch 1 — UPGRADE_TIMELOCK, 10-day delay)

Tenderly public simulations of the two proposed Safe transactions (overriding the existing queued txns, nonces 177 / 178):

Comment thread src/EtherFiAdmin.sol
@github-actions

github-actions Bot commented Apr 29, 2026

Copy link
Copy Markdown

📊 Forge Coverage Report

| Contract           | Selector                 | Calls | Reverts | Discards |
| RateLimiterHandler | act_advanceTime          | 3358  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consume              | 3282  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeFrozen        | 3256  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnknown       | 3265  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnwhitelisted | 3312  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_drainAndRefill       | 3228  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_revokeConsumer       | 3232  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setCapacity          | 3243  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRefillRate        | 3363  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRemaining         | 3229  | 0       | 0        |
| Contract           | Selector                 | Calls | Reverts | Discards |
| RateLimiterHandler | act_advanceTime          | 3358  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consume              | 3282  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeFrozen        | 3256  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnknown       | 3265  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnwhitelisted | 3312  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_drainAndRefill       | 3228  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_revokeConsumer       | 3232  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setCapacity          | 3243  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRefillRate        | 3363  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRemaining         | 3229  | 0       | 0        |
| Contract           | Selector                 | Calls | Reverts | Discards |
| RateLimiterHandler | act_advanceTime          | 3358  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consume              | 3282  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeFrozen        | 3256  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnknown       | 3265  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnwhitelisted | 3312  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_drainAndRefill       | 3228  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_revokeConsumer       | 3232  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setCapacity          | 3243  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRefillRate        | 3363  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRemaining         | 3229  | 0       | 0        |
| Contract           | Selector                 | Calls | Reverts | Discards |
| RateLimiterHandler | act_advanceTime          | 3358  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consume              | 3282  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeFrozen        | 3256  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnknown       | 3265  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnwhitelisted | 3312  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_drainAndRefill       | 3228  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_revokeConsumer       | 3232  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setCapacity          | 3243  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRefillRate        | 3363  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRemaining         | 3229  | 0       | 0        |
| Contract           | Selector                 | Calls | Reverts | Discards |
| RateLimiterHandler | act_advanceTime          | 3358  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consume              | 3282  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeFrozen        | 3256  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnknown       | 3265  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnwhitelisted | 3312  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_drainAndRefill       | 3228  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_revokeConsumer       | 3232  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setCapacity          | 3243  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRefillRate        | 3363  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRemaining         | 3229  | 0       | 0        |
| Contract           | Selector                 | Calls | Reverts | Discards |
| RateLimiterHandler | act_advanceTime          | 3358  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consume              | 3282  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeFrozen        | 3256  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnknown       | 3265  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnwhitelisted | 3312  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_drainAndRefill       | 3228  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_revokeConsumer       | 3232  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setCapacity          | 3243  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRefillRate        | 3363  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRemaining         | 3229  | 0       | 0        |
| Contract           | Selector                 | Calls | Reverts | Discards |
| RateLimiterHandler | act_advanceTime          | 3358  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consume              | 3282  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeFrozen        | 3256  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnknown       | 3265  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_consumeUnwhitelisted | 3312  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_drainAndRefill       | 3228  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_revokeConsumer       | 3232  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setCapacity          | 3243  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRefillRate        | 3363  | 0       | 0        |
|--------------------+--------------------------+-------+---------+----------|
| RateLimiterHandler | act_setRemaining         | 3229  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                 | Selector                       | Calls | Reverts | Discards |
| RedemptionManagerHandler | admin_pause_and_attempt_redeem | 1540  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setCapacity              | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeBps            | 1583  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setExitFeeSplit          | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setLowWatermarkBps       | 1494  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | admin_setRefillRate            | 1412  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | advance_time                   | 1454  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_deposit                     | 1485  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | lp_rebase                      | 1520  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemEEth                     | 1470  | 0       | 0        |
|--------------------------+--------------------------------+-------+---------+----------|
| RedemptionManagerHandler | redeemWeEth                    | 1436  | 0       | 0        |
| Contract                  | Selector               | Calls | Reverts | Discards |
| RewardsDistributorHandler | doClaim                | 1697  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doDelayBoundaryProbe   | 1621  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doFinalize             | 1628  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doLowerCumulativeClaim | 1599  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doMerkleTreeClaim      | 1671  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doReplayClaim          | 1651  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doRoll                 | 1641  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetClaimDelay        | 1633  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetPendingRoot       | 1598  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doWarp                 | 1645  | 0       | 0        |
| Contract                  | Selector               | Calls | Reverts | Discards |
| RewardsDistributorHandler | doClaim                | 1697  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doDelayBoundaryProbe   | 1621  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doFinalize             | 1628  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doLowerCumulativeClaim | 1599  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doMerkleTreeClaim      | 1671  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doReplayClaim          | 1651  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doRoll                 | 1641  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetClaimDelay        | 1633  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetPendingRoot       | 1598  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doWarp                 | 1645  | 0       | 0        |
| Contract                  | Selector               | Calls | Reverts | Discards |
| RewardsDistributorHandler | doClaim                | 1697  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doDelayBoundaryProbe   | 1621  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doFinalize             | 1628  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doLowerCumulativeClaim | 1599  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doMerkleTreeClaim      | 1671  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doReplayClaim          | 1651  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doRoll                 | 1641  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetClaimDelay        | 1633  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetPendingRoot       | 1598  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doWarp                 | 1645  | 0       | 0        |
| Contract                  | Selector               | Calls | Reverts | Discards |
| RewardsDistributorHandler | doClaim                | 1697  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doDelayBoundaryProbe   | 1621  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doFinalize             | 1628  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doLowerCumulativeClaim | 1599  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doMerkleTreeClaim      | 1671  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doReplayClaim          | 1651  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doRoll                 | 1641  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetClaimDelay        | 1633  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doSetPendingRoot       | 1598  | 0       | 0        |
|---------------------------+------------------------+-------+---------+----------|
| RewardsDistributorHandler | doWarp                 | 1645  | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                    | Selector                         | Calls | Reverts | Discards |
| FrozenRateWithdrawalHandler | advanceTime                      | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_cancel                        | 998   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_claim                         | 968   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_fulfill                       | 1023  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_invalidate                    | 957   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithWeETH              | 945   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_requestWithdraw               | 956   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | pq_request_at_tolerance_boundary | 935   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebase                           | 961   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | rebaseExtreme                    | 934   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | verifyFrozenRatePersistence      | 941   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_claim                        | 969   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_invalidate                   | 882   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_lockAndFinalize              | 986   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_requestWithdraw              | 1016  | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_safeTransfer                 | 979   | 0       | 0        |
|-----------------------------+----------------------------------+-------+---------+----------|
| FrozenRateWithdrawalHandler | wrn_validate                     | 978   | 0       | 0        |
| Contract                     | Selector     | Calls | Reverts | Discards |
| ValidatorStateMachineHandler | doCreate     | 119   | 0       | 0        |
|------------------------------+--------------+-------+---------+----------|
| ValidatorStateMachineHandler | doInvalidate | 133   | 0       | 0        |
|------------------------------+--------------+-------+---------+----------|
| ValidatorStateMachineHandler | doRegister   | 132   | 0       | 0        |
| Contract                     | Selector     | Calls | Reverts | Discards |
| ValidatorStateMachineHandler | doCreate     | 119   | 0       | 0        |
|------------------------------+--------------+-------+---------+----------|
| ValidatorStateMachineHandler | doInvalidate | 133   | 0       | 0        |
|------------------------------+--------------+-------+---------+----------|
| ValidatorStateMachineHandler | doRegister   | 132   | 0       | 0        |
| Contract                     | Selector     | Calls | Reverts | Discards |
| ValidatorStateMachineHandler | doCreate     | 119   | 0       | 0        |
|------------------------------+--------------+-------+---------+----------|
| ValidatorStateMachineHandler | doInvalidate | 133   | 0       | 0        |
|------------------------------+--------------+-------+---------+----------|
| ValidatorStateMachineHandler | doRegister   | 132   | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract               | Selector | Calls | Reverts | Discards |
| OracleIntegrityHandler | step     | 1920  | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector                             | Calls | Reverts | Discards |
| ProtocolInvariantsHandler | adversarial_drainHookProof           | 961   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_drainToSingleDigitShares | 995   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | adversarial_inflateFirstShare        | 915   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthShares                       | 897   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | burnEEthSharesForNonETHWithdrawal    | 1010  | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | claimSegregated                      | 974   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | depositEth                           | 928   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | donateEEthToProxy                    | 993   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | observeBackingGap                    | 965   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | pause_lp_and_attempt_deposit         | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebase                               | 991   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | rebaseExtreme                        | 949   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | sendRawEth                           | 969   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferEEth                         | 994   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | transferWeETH                        | 950   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | unwrap                               | 981   | 0       | 0        |
|---------------------------+--------------------------------------+-------+---------+----------|
| ProtocolInvariantsHandler | wrap                                 | 921   | 0       | 0        |
| Contract                  | Selector           | Calls | Reverts | Discards |
| ValidatorLifecycleHandler | doLegacyLinkAttack | 5555  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doLink             | 5398  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doRelinkAttack     | 5431  | 0       | 0        |
| Contract                  | Selector           | Calls | Reverts | Discards |
| ValidatorLifecycleHandler | doLegacyLinkAttack | 5555  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doLink             | 5398  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doRelinkAttack     | 5431  | 0       | 0        |
| Contract                  | Selector           | Calls | Reverts | Discards |
| ValidatorLifecycleHandler | doLegacyLinkAttack | 5555  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doLink             | 5398  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doRelinkAttack     | 5431  | 0       | 0        |
| Contract                  | Selector           | Calls | Reverts | Discards |
| ValidatorLifecycleHandler | doLegacyLinkAttack | 5555  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doLink             | 5398  | 0       | 0        |
|---------------------------+--------------------+-------+---------+----------|
| ValidatorLifecycleHandler | doRelinkAttack     | 5431  | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |
| Contract                  | Selector                  | Calls | Reverts | Discards |
| WithdrawalSolvencyHandler | claimWithdraw             | 275   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | doInvalidateValidateProbe | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | finalizeRequests          | 306   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | probeOverLiquidityLock    | 270   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebaseNegative            | 305   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | rebasePositive            | 281   | 0       | 0        |
|---------------------------+---------------------------+-------+---------+----------|
| WithdrawalSolvencyHandler | requestWithdraw           | 305   | 0       | 0        |

---
Ran 17 tests for test/RoleRegistry.t.sol:RoleRegistryTest
Suite result: ok. 17 passed; 0 failed; 0 skipped; finished in 7.33ms (5.60ms CPU time)
Ran 5 tests for test/AddressProvider.t.sol:AddressProviderTest
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 47.56ms (10.20ms CPU time)
Ran 21 tests for test/AuctionManager.t.sol:AuctionManagerTest
Suite result: ok. 21 passed; 0 failed; 0 skipped; finished in 70.52ms (51.55ms CPU time)
Ran 1 test for test/BNFT.t.sol:BNFTTest
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 21.18ms (1.97ms CPU time)
Ran 38 tests for test/Blacklist.t.sol:BlacklistTest
Suite result: ok. 38 passed; 0 failed; 0 skipped; finished in 106.37ms (85.67ms CPU time)
Ran 58 tests for test/BucketRaterLimiter.t.sol:BucketRateLimiterTest
Suite result: ok. 58 passed; 0 failed; 0 skipped; finished in 25.46ms (24.13ms CPU time)
Ran 27 tests for test/ProtocolInvariants.t.sol:ProtocolInvariantsTest
Suite result: ok. 27 passed; 0 failed; 0 skipped; finished in 4.29s (8.15s CPU time)
Ran 2 tests for test/fork-tests/pectra-fork-tests/Consolidation-through-EOA.sol:ConsolidationThroughEOATest
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 7.26s (4.32s CPU time)
Ran 19 tests for test/StakingManager.t.sol:StakingManagerTest
Suite result: ok. 19 passed; 0 failed; 0 skipped; finished in 11.94s (3.33s CPU time)
Ran 2 tests for test/TNFT.t.sol:TnftTest
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 25.21ms (4.05ms CPU time)
Ran 6 tests for test/TVLOracle.t.sol:TVLOracleTest
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 31.33ms (12.12ms CPU time)
Ran 13 tests for test/TokenRateLimit.t.sol:TokenRateLimitTest
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 49.92ms (29.38ms CPU time)
Ran 9 tests for test/fork-tests/LiquifierStEthPriceFeedFork.t.sol:LiquifierStEthPriceFeedForkTest
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 13.41s (5.67s CPU time)
Ran 3 tests for test/LpRebaseWrnClaimUnderflow.t.sol:LpRebaseWrnClaimUnderflowTest
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 29.12ms (9.93ms CPU time)
Ran 2 tests for test/ContractCodeChecker.t.sol:ContractCodeCheckerTest
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 10.03s (263.74ms CPU time)
Ran 9 tests for test/ContractCodeCheckerAssert.t.sol:ContractCodeCheckerAssertTest
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 11.87ms (11.14ms CPU time)
Ran 27 tests for test/CumulativeMerkleRewardsDistributor.t.sol:CumulativeMerkleRewardsDistributorTest
Suite result: ok. 27 passed; 0 failed; 0 skipped; finished in 87.77ms (65.46ms CPU time)
Ran 4 tests for test/MembershipDeprecationUpgradeFork.t.sol:MembershipDeprecationUpgradeForkTest
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 5.51s (4.72s CPU time)
Ran 6 tests for test/NodeOperatorManager.t.sol:NodeOperatorManagerTest
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 42.15ms (13.75ms CPU time)
Ran 8 tests for test/integration-tests/Deposit.t.sol:DepositIntegrationTest
Suite result: FAILED. 7 passed; 1 failed; 0 skipped; finished in 6.93s (6.81s CPU time)
Ran 6 tests for test/DepositAdapter.t.sol:DepositAdapterTest
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 14.82s (5.81s CPU time)
Ran 47 tests for test/EETH.t.sol:EETHTest
Suite result: ok. 47 passed; 0 failed; 0 skipped; finished in 191.01ms (153.34ms CPU time)
Ran 1 test for test/behaviour-tests/pectra-fork-tests/EL-withdrawals.t.sol:ELExitsTest
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 12.86s (2.78s CPU time)
Ran 2 tests for test/behaviour-tests/ELExitsForkTestingDeployment.t.sol:ELExitsForkTestingDeploymentTest
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.21ms (218.81µs CPU time)
Ran 7 tests for test/invariant/RateLimiter.invariant.t.sol:RateLimiterInvariantTest
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 72.01s (107.56s CPU time)
Ran 101 tests for test/EtherFiNodesManager.t.sol:EtherFiNodesManagerTest
Suite result: FAILED. 100 passed; 1 failed; 0 skipped; finished in 26.98s (14.47s CPU time)
Ran 7 tests for test/EtherFiOperationParameters.t.sol:EtherFiOperationParametersTest
Suite result: ok. 7 passed; 0 failed; 0 skipped; finished in 459.29ms (748.31ms CPU time)
Ran 122 tests for test/EtherFiOracle.t.sol:EtherFiOracleTest
Suite result: ok. 122 passed; 0 failed; 0 skipped; finished in 570.36ms (533.45ms CPU time)
Ran 12 tests for test/EtherFiRestaker.t.sol:EtherFiRestakerTest
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 22.77s (13.24s CPU time)
Ran 32 tests for test/EtherFiRewardsRouter.t.sol:EtherFiRewardsRouterTest
Suite result: ok. 32 passed; 0 failed; 0 skipped; finished in 24.40ms (20.80ms CPU time)
Ran 6 tests for test/EtherFiTimelock.t.sol:TimelockTest
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 22.97s (22.96s CPU time)
Ran 1 test for test/EtherFiViewer.t.sol:EtherFiViewerTest
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.65s (855.90ms CPU time)
Ran 2 tests for test/behaviour-tests/ForwardedCallWhitelistRegrant.t.sol:ForwardedCallWhitelistRegrantTest
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 122.50ms (2.07ms CPU time)
Ran 6 tests for test/ReentrancyGuard.t.sol:ReentrancyGuardTest
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 42.02ms (21.48ms CPU time)
Ran 13 tests for test/invariant/RedemptionManager.invariant.t.sol:RedemptionManagerInvariantTest
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 74.29s (121.23s CPU time)
Ran 3 tests for test/behaviour-tests/pectra-fork-tests/Request-consolidation.t.sol:RequestConsolidationTest
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 14.35s (4.11s CPU time)
Ran 26 tests for test/RestakingRewardsRouter.t.sol:RestakingRewardsRouterTest
Suite result: ok. 26 passed; 0 failed; 0 skipped; finished in 22.27ms (17.96ms CPU time)
Ran 4 tests for test/fork-tests/RevertEscrowDrain.t.sol:RevertEscrowDrainTest
Suite result: FAILED. 0 passed; 4 failed; 0 skipped; finished in 1.28s (794.42ms CPU time)
Ran 4 tests for test/invariant/RewardsDistributor.invariant.t.sol:RewardsDistributorInvariantTest
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 23.77s (32.26s CPU time)
Ran 1 test for test/fork-tests/RoleMigrationStorageIntegrity.t.sol:RoleMigrationStorageIntegrityTest
Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.29ms (56.11µs CPU time)
Ran 11 tests for test/invariant/FrozenRateWithdrawal.invariant.t.sol:FrozenRateWithdrawalInvariantTest
Suite result: ok. 11 passed; 0 failed; 0 skipped; finished in 74.06s (74.02s CPU time)
Ran 1 test for test/liquid-tests/LiquidReferBtc.t.sol:LiquidReferBtcOPTest
Suite result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 545.16µs (0.00ns CPU time)
Ran 4 tests for test/liquid-tests/LiquidReferBtc.t.sol:LiquidReferBtcTest
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.89s (1.19s CPU time)
Ran 1 test for test/liquid-tests/LiquidReferEth.t.sol:LiquidReferETHOPTest
Suite result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 879.79µs (0.00ns CPU time)
Ran 4 tests for test/liquid-tests/LiquidReferEth.t.sol:LiquidReferEthTest
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.16s (882.94ms CPU time)
Ran 1 test for test/liquid-tests/LiquidReferUsdPermit.t.sol:LiquidReferUsdPermitOPTest
Suite result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 556.01µs (0.00ns CPU time)
Ran 6 tests for test/liquid-tests/LiquidReferUsdPermit.t.sol:LiquidReferUsdPermitTest
Suite result: ok. 6 passed; 0 failed; 0 skipped; finished in 1.98s (1.78s CPU time)
Ran 12 tests for test/liquid-tests/LiquidReferWhitelist.t.sol:LiquidReferWhitelistTest
Suite result: ok. 12 passed; 0 failed; 0 skipped; finished in 1.99s (1.87s CPU time)
Ran 119 tests for test/LiquidityPool.t.sol:LiquidityPoolTest
Suite result: ok. 119 passed; 0 failed; 0 skipped; finished in 307.95ms (285.96ms CPU time)
Ran 3 tests for test/invariant/ValidatorStateMachine.invariant.t.sol:ValidatorStateMachineInvariantTest
Suite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.85s (58.80s CPU time)
Ran 46 tests for test/WeETH.t.sol:WeETHTest
Suite result: ok. 46 passed; 0 failed; 0 skipped; finished in 155.10ms (135.63ms CPU time)
Ran 18 tests for test/WeETHWithdrawAdapter.t.sol:WeETHWithdrawAdapterTest
Suite result: ok. 18 passed; 0 failed; 0 skipped; finished in 63.72ms (45.66ms CPU time)
Ran 11 tests for test/integration-tests/Withdraw.t.sol:WithdrawIntegrationTest
Suite result: FAILED. 10 passed; 1 failed; 0 skipped; finished in 19.47s (9.78s CPU time)
Ran 5 tests for test/integration-tests/WithdrawEscrowE2E.t.sol:WithdrawEscrowE2ETest
Suite result: ok. 5 passed; 0 failed; 0 skipped; finished in 7.37s (1.50s CPU time)
Ran 9 tests for test/invariant/OracleIntegrity.invariant.t.sol:OracleIntegrityInvariantTest
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 232.90s (365.10s CPU time)
Ran 81 tests for test/WithdrawRequestNFT.t.sol:WithdrawRequestNFTTest
Suite result: ok. 81 passed; 0 failed; 0 skipped; finished in 4.04s (4.33s CPU time)
Ran 89 tests for test/PriorityWithdrawalQueue.t.sol:PriorityWithdrawalQueueTest
Suite result: ok. 89 passed; 0 failed; 0 skipped; finished in 16.05s (7.72s CPU time)
Ran 11 tests for test/fork-tests/UpgradeStorageIntegrity.t.sol:UpgradeStorageIntegrityTest
Suite result: FAILED. 8 passed; 3 failed; 0 skipped; finished in 318.18s (317.84s CPU time)
Ran 13 tests for test/invariant/ProtocolInvariants.invariant.t.sol:ProtocolInvariantsInvariantTest
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 76.36s (76.33s CPU time)
Ran 1 test for test/behaviour-tests/prelude.t.sol:PreludeTest
Suite result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 2.86s (0.00ns CPU time)
Ran 1 test for test/V0MigrationFork.t.sol:V0MigrationForkTest
Suite result: FAILED. 0 passed; 1 failed; 0 skipped; finished in 22.19s (21.92s CPU time)
Ran 24 tests for test/fork-tests/validator-key-gen.t.sol:ValidatorKeyGenTest
Suite result: ok. 24 passed; 0 failed; 0 skipped; finished in 7.92s (6.41s CPU time)
Ran 30 tests for test/PausableUntil.t.sol:PausableUntilTest
Suite result: ok. 30 passed; 0 failed; 0 skipped; finished in 103.33s (103.42s CPU time)
Ran 2 tests for test/integration-tests/Validator-Flows.t.sol:ValidatorFlowsIntegrationTest
Suite result: ok. 2 passed; 0 failed; 0 skipped; finished in 8.56s (1.79s CPU time)
Ran 4 tests for test/invariant/ValidatorLifecycle.invariant.t.sol:ValidatorLifecycleInvariantTest
Suite result: ok. 4 passed; 0 failed; 0 skipped; finished in 57.43s (84.20s CPU time)
Ran 50 tests for test/Liquifier.t.sol:LiquifierTest
Suite result: ok. 50 passed; 0 failed; 0 skipped; finished in 274.44s (371.89s CPU time)
Ran 13 tests for test/LiquifierStEthPriceFeed.t.sol:LiquifierStEthPriceFeedTest
Suite result: ok. 13 passed; 0 failed; 0 skipped; finished in 66.43s (66.44s CPU time)
Ran 56 tests for test/EtherFiRateLimiter.t.sol:EtherFiRateLimiterTest
Suite result: ok. 56 passed; 0 failed; 0 skipped; finished in 404.53s (404.99s CPU time)
Ran 9 tests for test/invariant/WithdrawalSolvency.invariant.t.sol:WithdrawalSolvencyInvariantTest
Suite result: ok. 9 passed; 0 failed; 0 skipped; finished in 268.78s (578.75s CPU time)
Ran 66 tests for test/EtherFiRedemptionManager.t.sol:EtherFiRedemptionManagerTest
Suite result: FAILED. 60 passed; 6 failed; 0 skipped; finished in 51.01s (170.05s CPU time)
Ran 70 test suites in 536.13s (2405.43s CPU time): 1360 tests passed, 21 failed, 0 skipped (1381 total tests)

Generated by workflow run #775

Comment thread src/core/LiquidityPool.sol
Comment thread src/withdrawals/PriorityWithdrawalQueue.sol
Comment thread src/deposits/Liquifier.sol Outdated
Comment thread src/EtherFiAdmin.sol Outdated
Comment thread src/staking/EtherFiNodesManager.sol
Comment thread src/LiquidityPool.sol
Comment thread src/Liquifier.sol Outdated
@seongyun-ko seongyun-ko changed the title Security Upgrades to harden Protocol Security 26Q2 - Security Upgrades May 7, 2026
Comment thread src/Liquifier.sol Outdated
Comment thread src/oracle/EtherFiAdmin.sol
Comment thread src/oracle/EtherFiAdmin.sol Outdated
Comment thread src/utils/PausableUntil.sol Outdated

import "../interfaces/IRoleRegistry.sol";

contract PausableUntil {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it make sense to make this abstract? All functions internal and never to be deployed ?

@seongyun-ko seongyun-ko May 15, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fine to make it abstract

Comment thread src/EtherFiRateLimiter.sol Outdated
import "./utils/PausableUntil.sol";

contract EtherFiRateLimiter is IEtherFiRateLimiter, Initializable, UUPSUpgradeable, PausableUpgradeable {
contract EtherFiRateLimiter is IEtherFiRateLimiter, Initializable, UUPSUpgradeable, PausableUpgradeable, PausableUntil {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What advantage do we have of adding pausable on Ratelimiter ?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed,

Comment thread src/EETH.sol Outdated
Comment on lines +203 to +205
function _transferShares(address _sender, address _recipient, uint256 _sharesAmount) internal whenNotPaused {
blacklister.nonBlacklisted(_sender);
blacklister.nonBlacklisted(_recipient);

@pankajjagtapp pankajjagtapp May 13, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to add this for safe guard from transferFrom similar to MembershipNFT checks:

blacklister.nonBlacklisted(msg.sender);

Comment thread src/utils/PausableUntil.sol Outdated
}
}

uint256 public constant MAX_PAUSE_DURATION = 7 days;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We would be reverting back to 1 day?

Comment thread src/EETH.sol Outdated
Comment thread src/Liquifier.sol Outdated
Comment thread src/core/EETH.sol Outdated
Comment thread src/WeETH.sol Outdated
import "./interfaces/IRoleRegistry.sol";
import "./interfaces/IBlacklister.sol";

contract WeETH is ERC20Upgradeable, UUPSUpgradeable, OwnableUpgradeable, ERC20PermitUpgradeable, IRateProvider, AssetRecovery {

@pankajjagtapp pankajjagtapp May 14, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why haven't we added PausableUntil to weETH ? @0xpanicError

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we discussed that pausable until shouldn't be applies on token transfer. so was only added on mint/burn on eeth. not any ops on weETH.

@seongyun-ko seongyun-ko May 15, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is not exact description of our discussion
https://discord.com/channels/827197391068856371/1501877625784893490/1504007820696354899

Unless we have high confidence on having only 'blacklistUntil', we should add 'pausableUntill'.

Comment thread src/EtherFiAdmin.sol Outdated

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review this Pausing/Unpausing functions. Either make them complete across most contracts, or remove this from here.
Cannot have inconsistency

Comment thread src/EtherFiAdmin.sol Outdated
if (_report.protocolFees < 0) return (false, "EtherFiAdmin: protocol fees can't be negative");
int128 totalRewards = _report.protocolFees + _report.accruedRewards;
// protocol fees are less than 20% of total rewards
if (_report.protocolFees > 0 && _report.protocolFees * 5 > totalRewards) return (false, "EtherFiAdmin: protocol fees exceed 20% total rewards");

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be best to use a defined constant instead of 5

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed

Comment thread src/EtherFiNodesManager.sol Outdated
Comment on lines 108 to 114

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add per node address sweeping function

Comment thread src/EtherFiOracle.sol Outdated
Comment on lines 301 to 304

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to get rid of this EtherFIAdmin setter

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed

Comment thread src/EtherFiRedemptionManager.sol Outdated
Comment on lines 138 to 140
function redeemEEth(uint256 eEthAmount, address receiver, address outputToken) public whenNotPaused nonReentrant nonBlacklisted(receiver) {
_redeemEEth(eEthAmount, receiver, outputToken);
}

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to check if the sender is blacklisted or not for all functions here?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shuoldn't it be both caller of the function and receiver of the fund which need to be checked?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the modifier checks both.

Comment thread src/AuctionManager.sol Outdated
uint128 public accumulatedRevenueThreshold;

mapping(address => bool) public admins;
mapping(address => bool) public DEPRECATED_admins;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's make the deprecated variable, private

Comment thread src/AuctionManager.sol Outdated

function initializeOnUpgrade(address _membershipManagerContractAddress, uint128 _accumulatedRevenueThreshold, address _etherFiAdminContractAddress, address _nodeOperatorManagerAddress) external onlyOwner {
require(_membershipManagerContractAddress != address(0) && _etherFiAdminContractAddress != address(0) && _nodeOperatorManagerAddress != address(0), "No Zero Addresses");
function initializeOnUpgrade(address _membershipManagerContractAddress, uint128 _accumulatedRevenueThreshold, address _nodeOperatorManagerAddress) external onlyOwner {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove this function, if not needed anymore

0xpanicError and others added 7 commits June 25, 2026 14:16
…rded-call-whitelist

Re-grant ENM forwarded-call whitelist to eigenpod-ops role in Batch 2
…-finalize-atomicity

test: atomic I3 finalize+lock (Bugbot #470 "Lock finalize not rolled back")
…ctly ahead)

No file changes — PR-scripts already supersedes all of security-upgrades' content;
this records ea30038 (audit PR #466) as an ancestor so the branch is strictly ahead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…grades-PR-scripts

Pankaj/feat/security upgrades pr scripts
Comment thread script/DeployWeETHWithdrawAdapter.s.sol
Comment thread script/DeployHoodiContracts.s.sol
Comment thread script/upgrades/CrossPodApproval/transactions.s.sol

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 84c79e1. Configure here.

}
verified++;
}
console.log("Post-migration verification passed for ids:", verified);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Migration verify runs after broadcast

Medium Severity

The V0 migration script broadcasts all batch transactions inside vm.startBroadcast / vm.stopBroadcast, then runs post-migration checks that can revert with MigrationIncomplete. A failed final verification still leaves earlier batches on-chain while the script run reports failure.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 84c79e1. Configure here.

0xpanicError and others added 10 commits July 2, 2026 16:50
…th + upgrade gate

The conf files pointed at pre-restructure paths (src/LiquidityPool.sol,
src/EETH.sol, src/RoleRegistry.sol) and the I8 filter referenced the
deleted returnLockedEth(uint128), so certoraRun could not execute against
this tree and the previously cited reports attested to older contract
revisions.

- Fix file paths to src/core/ and src/governance/; refresh package maps
  and add the EETH:liquidityPool back-link.
- I8: add batchCreateBeaconValidators (new guarded ETH-outflow path) and
  receive() (via f.isFallback) to the filter; drop returnLockedEth.
- rule_sanity basic everywhere; the tautological I9 lemma moves to its own
  LiquidityPoolDecomposition conf with sanity none so vacuity checking
  stays on for I7/I8.
- RoleRegistry: restore the grant-path proof (successful grantRole/
  revokeRole/setRole implies msg.sender == owner()) via a scoped
  unresolved-call DISPATCH for solady's owner()/MAX_ROLE() self-staticcalls
  (sound: both target address(this)); add the upgradeToAndCall gate rule
  (success implies caller held UPGRADE_TIMELOCK_ROLE).
- Reframe I7 comments honestly as guard-wiring regression protection;
  refresh all stale line references.

All three configs re-verified at this head, No errors found by Prover,
sanity basic passing:
- LiquidityPoolPeg (I7/I8): report d9f2667b30f04c54b77f70e5080afa0a
- LiquidityPoolDecomposition (I9): report acdc5726dc6143afaed9244e921f68a2
- RoleRegistryAuthority (I6.1-I6.6): report c2be9a4b97454e7ba9a3cb5b06a347ba

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… review

Each fix targets a case where a buggy implementation would previously have
passed the suite green.

Validator suites:
- doCreate sent 1 ether to the non-payable batchCreateBeaconValidators, so
  every call reverted and the REGISTERED->CONFIRMED edge was never tested;
  the combined create+invalidate vacuity gate hid it. Call is now valueless
  (the pool self-funds), the gate is split per-edge, and a one-shot
  coverage-floor bootstrap guarantees both terminals fire every run.
- Successful transitions now assert their exact end state, not just any
  legal edge; illegal edges record the observed before/after pair.
- linkLegacyValidatorIds (the second writer to etherFiNodeFromPubkeyHash)
  is now exercised with an already-linked pubkey and must revert
  AlreadyLinked; relink attacks use fresh legacy ids (1000+) so they
  isolate the pubkey-hash guard; I11 gains a global first-seen sweep.
- Fork pinned at block 25447657.

RateLimiter:
- Refill asserted against the exact model min(capacity, before + rate*dt)
  instead of monotonic+bounded only; occasional near-uint64-max capacity/
  rate and long warps reach the clamp regions.
- Draining exactly consumable(id) must succeed (was a swallowed revert);
  consumer revocation/re-grant round-trip added; admin setters assert
  their exact documented post-state and must not revert on valid input;
  consume_ok counts only amount>0; depth 128; per-probe coverage gates
  with a deterministic coverage-floor bootstrap.

Oracle:
- Duplicate submission by one member must revert ReportNotNeeded and never
  reach quorum; conflicting same-range reports must not reach consensus.
- Freshness probed at exactly wait-1 (reject) and wait (apply); APR probed
  at the exact boundary reward and one wei above; negative rebase gets a
  valid small apply plus a one-wei-over-3bps reject (new numRejNegRebase
  category); setUp pins maxNegativeRebaseBps to the production 3.
- ghost_everStuck fails the run if the wedge guard eats a sequence tail.

RewardsDistributor:
- I13 delay predicate now computed from ghost state (setAt + tracked
  delay), not the contract's own storage, so write-side timestamp
  corruption is caught; deterministic boundary probe at delay-1/delay.
- Real 4-leaf Merkle tree with genuine 2-element proofs (matching
  _verifyAsm's sorted-pair hashing) plus a tampered-amount reject, so the
  proof-verification loop finally executes.

WithdrawalSolvency:
- Fork pinned at 25447657; setUp derives backlog/deposit sizing from
  chain state instead of hardcoded live-state assumptions; the silent
  finalize break is now a loud require.
- Claims assert exact deltas: recipient balance += payout, lock -=
  amountOfEEth, totalValueOutOfLp -= payout + stranded sweep.
- invalidate/validate lifecycle probes incl. the finalized-invalidate
  rejection; P2 relabeled assumption-scoped (bounded rebases) instead of
  PROVED; vacuity gates baseline-aware against the seeded lifecycle.

All six suites green: 36 invariant functions, fork suites at the pinned
block, non-fork suites across 5 seeds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The workflow only triggered on PRs into staging-2.5 and master, so the
invariant layer merging into pankaj/feat/security-upgrades* never executed
in CI.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… into seongyun/fuzz/security-upgrades

# Conflicts:
#	test/invariant/WithdrawalSolvency.invariant.t.sol
#	test/invariant/handlers/ValidatorStateMachineHandler.sol
…rebase cap

The generic valid-apply scenarios sized accruedRewards from the APR-cap
boundary only (_maxSafeReward / 2). The APR gate scales with the report
range's elapsed time, so over a long range that bound can exceed
LiquidityPool's absolute MAX_POSITIVE_REBASE_BPS cap: the report passes
EtherFiAdmin validation, reverts inside LiquidityPool.rebase with
RebaseExceedsPositiveCap, and stays published-but-unhandled — wedging the
oracle for the rest of the sequence. _maxSafeReward now returns
min(APR boundary, LP positive cap), covering all three apply sites; the
APR-boundary scenario keeps its own exact unclamped bound with its
existing lpCap guard.

Found by Cursor Bugbot on 893bd9a.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
setUp reverted at fork creation in CI (both runs on this PR, deterministic,
gas 0) while passing locally against an archive node: CI's MAINNET_RPC_URL
provider does not serve state for the old pin 25383537 (~64k blocks deep).
Re-pin to 25447657, the same block the invariant fork suites use, which the
same CI runs served successfully. The test self-seeds its pre-state, so any
block predating the on-chain security upgrade is equivalent.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ork pin

Root cause of the ForwardedCallWhitelistRegrant setUp failure in CI: the
workflow installs foundry 'nightly', and current nightlies enforce the
EIP-3860 initcode-size limit inside tests. WhitelistHarness inherits the
full SecurityUpgradesScript (~542 KB initcode, limit 48 KB), so
'new WhitelistHarness()' reverts and setUp dies with a bare EvmError at
gas 0 — while the same test passes on stable, which does not enforce the
limit in tests. Verified by isolating harness deployment on forge
1.7.2-nightly (fails) vs 1.5.1-stable (passes); fork creation at either
pinned block works on both, so the earlier block re-pin (1019043) was a
misdiagnosis and is reverted here.

Pinning CI to the stable release used locally fixes the failure and stops
nightly regressions from breaking CI unpredictably. Bump deliberately when
upgrading toolchains.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…upgrades

test: invariant fuzz + Certora CVL coverage for protocol invariants (I4,I6-I13)
@seongyun-ko
seongyun-ko merged commit fe899e7 into master Jul 14, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants