feat(tests): Add worst-case SSTORE test#2757
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/amsterdam #2757 +/- ##
================================================
Coverage 88.17% 88.17%
================================================
Files 577 577
Lines 35659 35659
Branches 3490 3490
================================================
Hits 31442 31442
Misses 3654 3654
Partials 563 563
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
LouisTsai-Csie
left a comment
There was a problem hiding this comment.
Looks good from my side!
|
One issue with this test is that the contracts I'm targeting have no storage. I talked with @CPerezz and @jochem-brouwer about this but essentially we need to first deploy the needed code to some accounts (while keeping track of them), then bloating the storage slots (while keeping track of them) and then selecting accounts + storage slots that are far from each other such that the post-state root calculation becomes "worst-case". |
|
@nerolation I’m not sure I fully understand your comment, and I’d like to know the next steps:
For information, I recently merged a PR (#2672) that addresses the initcode prefix length issue. If that’s the current bottleneck, it might be worth taking a look at this benchmark. |
🗒️ Description
Add test_sstore_bloated_multi_contract: SSTORE benchmark spreading writes across many fresh contracts and stride-spaced (2**240) slots within each, while a shared dependency_holder enforces an inter-tx RAW edge. Maximizes MPT breadth at post-state-root computation while keeping txs serialized.
🔗 Related Issues or PRs
N/A.
✅ Checklist
Cute Animal Picture
TBD