drop temporary comments on FlowUtilsAbstractTest wrappers#453
Conversation
The three wrappers (generateFlowStack, findEvent, findEvents) carried "A temporary solution for a smooth transition to using libraries" comments. They have persisted across multiple flow interface revisions and are best understood as permanent convenience wrappers that let inheriting test contracts call the helpers without re-importing the libraries or re-declaring `using` clauses. A NatSpec block on the contract states the new role; the misleading "temporary" markers are removed. Closes #413. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (8)
WalkthroughThis PR updates ChangesDocumentation Update
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The functions are pass-throughs and self-document; the WHY (`using` clauses don't inherit) is a Solidity invariant a reader of the file already knows. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`generateFlowStack` / `findEvent` / `findEvents` were thin wrappers in `FlowUtilsAbstractTest`. The wrappers exist only because Solidity's `using X for T` clauses don't inherit, so child contracts of `FlowTest` couldn't otherwise call the library forms directly. Replace each callsite with the explicit static form: - `generateFlowStack(t)` -> `LibStackGeneration.generateFlowStack(Sentinel.unwrap(RAIN_FLOW_SENTINEL), t)` - `findEvent(logs, sig)` -> `LibLogHelper.findEvent(logs, sig)` `FlowTest` now inherits `FlowTransferOperation` directly. `FlowUtilsAbstractTest.sol` is removed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…drop-temporary-comments # Conflicts: # test/abstract/FlowUtilsAbstractTest.sol # test/src/concrete/Flow.construction.t.sol # test/src/concrete/Flow.context.t.sol # test/src/concrete/Flow.signedContext.t.sol # test/src/concrete/Flow.time.t.sol
Summary
The three wrappers in
FlowUtilsAbstractTest(generateFlowStack,findEvent,findEvents) carried// A temporary solution for a smooth transition to using libraries.comments. They have persisted across multiple flow interface revisions and are best understood as permanent convenience wrappers that let inheriting test contracts call the helpers without re-importing the libraries or re-declaringusingclauses.A NatSpec block on the contract states the new role; the misleading "temporary" markers are removed.
Closes #413.
Test plan
forge buildclean🤖 Generated with Claude Code
Summary by CodeRabbit