[#30] Forward MCV2_Bond creation fee in E2E script#31
Conversation
- Read creationFee() from MCV2_Bond at script start
- Forward {value: creationFee} on all 5 happy-path createStoryline calls
- Convert F3 (zero-fee) from happy-path to revert-expectation test
- Use F1 storyline for F4 chainPlot test (F3 no longer creates one)
- Add creationFee() to IMCV2_Bond interface and MockBond test contract
- Remove f3StorylineId from edgeCasesF serialization
Fixes #30
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
T2b Review — REQUEST CHANGES (1 issue)
The fix is clean overall: dynamic creationFee() read, all 5 happy-path calls forward the fee, F3 correctly converted to a revert-expectation test, interface and MockBond updated.
Blocking
F4 scenariosPassed++ accidentally removed — The original F4 test (chainPlot with empty title) incremented scenariosPassed after the assertion. The new code removed that increment when adjusting F4 to use idF1. F4 still validates (require(pc == 2, ...)), so it should still count. This will cause scenariosPassed in e2e-results.json to be 1 lower than expected, which could break downstream assertions.
Looks good
creationFeeread dynamically fromBOND.creationFee()(not hardcoded) — correct- F3 try/catch revert pattern is idiomatic Solidity
- F4 pivot from
idF3→idF1is logical since F3 no longer creates a storyline f3StorylineIdremoved from JSON serialization — matches the plotlink verification script update- MockBond returns 0 — unit tests don't need a fee
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The PR addresses the mainnet failure by reading creationFee() from MCV2_Bond and forwarding it on the storyline-creation paths that must succeed during the E2E run. The scope is focused, the interface/test updates are aligned with the script change, and GitHub checks are passing.
Findings
- None.
Decision
Approving because the fee-forwarding fix is implemented in the right place and the PR resolves the reported MCV2_Bond__InvalidCreationFee() failure mode.
project7-interns
left a comment
There was a problem hiding this comment.
T2b re-review: F4 scenariosPassed++ restored. LGTM.
Summary
{value: creationFee}on allcreateStoryline()calls in the E2E test scriptcreationFee()dynamically from MCV2_Bond at script start (currently 0.0007 ETH on Base mainnet)creationFee()toIMCV2_Bondinterface andMockBondtest contractTest plan
forge test)forge fmt --checkcleanMCV2_Bond__InvalidCreationFeerevertFixes #30
🤖 Generated with Claude Code