test token-revert bubble-up paths in LibFlow transfers#450
Conversation
Three new fuzz tests, one per token standard: - testFlowERC20TokenRevertBubblesUp — TOKEN_A.transferFrom reverts - testFlowERC721TokenRevertBubblesUp — TOKEN_B.safeTransferFrom reverts - testFlowERC1155TokenRevertBubblesUp — TOKEN_C.safeTransferFrom reverts Each pins that the underlying token revert propagates out of flow() rather than being caught and swallowed by SafeERC20 / the interface calls in LibFlow. Closes #331. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
💤 Files with no reviewable changes (1)
WalkthroughThis PR adds three new fuzz tests to ChangesToken Revert Bubble-Up Coverage
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related issues
🚥 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 |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
…token-revert-bubble-tests # Conflicts: # test/src/concrete/Flow.transfer.t.sol
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Three new fuzz tests, one per token standard, pinning that an underlying token revert propagates out of
flow()rather than being caught and swallowed bySafeERC20or the bare ERC721/ERC1155 interface calls inLibFlow.testFlowERC20TokenRevertBubblesUp—TOKEN_A.transferFromreverts.testFlowERC721TokenRevertBubblesUp—TOKEN_B.safeTransferFromreverts.testFlowERC1155TokenRevertBubblesUp—TOKEN_C.safeTransferFromreverts.Closes #331.
Test plan
🤖 Generated with Claude Code
Summary by CodeRabbit