Skip to content

[A22-5] [INFO] IFlowV5 Pointer import is dead and not re-exported #415

@thedavidmeister

Description

@thedavidmeister

Description

IFlowV5.sol:10 imports Pointer from rain.solmem/lib/LibPointer.sol, with a forge-lint: disable-next-line(unused-import) annotation:

//forge-lint: disable-next-line(unused-import)
import {Pointer} from "rain.solmem/lib/LibPointer.sol";

Unlike the other suppressed imports in this file (Sentinel, RAIN_FLOW_SENTINEL, MIN_FLOW_SENTINELS, ERC20Transfer, etc.), Pointer is not actually re-exported via this interface. grep -rn "Pointer.*from.*IFlowV5" across src/ and test/ returns no callers, while Sentinel, RAIN_FLOW_SENTINEL, and the transfer structs do have re-importing call sites (e.g. test/abstract/FlowTest.sol:14 imports Sentinel from this file).

The suppression hides a genuinely unused import rather than documenting a deliberate re-export.

Location

src/interface/IFlowV5.sol:9-10

Proposed fix

Remove the unused Pointer import and its forge-lint suppression:

-//forge-lint: disable-next-line(unused-import)
-import {Pointer} from "rain.solmem/lib/LibPointer.sol";

If the intent is to expose Pointer as part of the IFlowV5 re-export surface, add a comment stating that and verify a downstream consumer actually imports it from here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    auditAudit findinginfoSeverity: infopass4Audit Pass 4: Code Quality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions