Skip to content

[TEST-1] [LOW] IFlowV5.t.sol imports sentinel from V4, not V5 #419

@thedavidmeister

Description

@thedavidmeister

IFlowV5.t.sol imports sentinel from V4, not V5

test/interface/IFlowV5.t.sol:7 imports RAIN_FLOW_SENTINEL from src/interface/deprecated/v4/IFlowV4.sol instead of from src/interface/IFlowV5.sol. The test is named IFlowV5Test.testSentinelValue and exists to pin the V5 sentinel value, but it pins the V4 constant directly. The IFlowV5.t.sol file is byte-identical to test/interface/deprecated/v4/IFlowV4.t.sol (except the contract name).

IFlowV5.sol re-exports the sentinel from IFlowV4.sol (lines 23-24, 28). The intent is clearly that V5 reuses the V4 sentinel value — but the V5 test should verify this through the V5 interface, not bypass it.

If IFlowV5.sol ever changes the sentinel re-export (intentionally or by mistake), the V5 test will pass because it does not import from V5 at all.

Fix: change test/interface/IFlowV5.t.sol:7 to import {RAIN_FLOW_SENTINEL} from "src/interface/IFlowV5.sol"; (or the appropriate relative path consistent with #411).

Metadata

Metadata

Labels

auditAudit findinglowSeverity: lowpass4Audit Pass 4: Code Quality

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions