foundry-rs / foundry-rs/foundry
meta(cheatcodes): tracking issue for cheatcode improvements
- Dominant language
- Rust
- Stars
- 10.6k
- Forks
- 2.6k
- Avg merge
- 18h 20m
- Merged PRs (30d)
- 510
Description
### Component
Forge
### Describe the feature you would like
This issue tracks general cheatcode improvements. Items are roughly ordered by my opinion of priority, both at the header-level and the bullet-level. I say "roughly ordered" because some items are much bigger scope than others so having a strict ordering doesn't make much sense.
## Refactors, Higher Priority
- Negations for all `vm.exect*` cheats: https://github.com/foundry-rs/foundry/issues/509 — potential alternative UX is https://github.com/foundry-rs/foundry/issues/4513
- https://github.com/foundry-rs/foundry/issues/928
- https://github.com/foundry-rs/foundry/issues/1159
- Fix `expectRevert` issues:
- https://github.com/foundry-rs/foundry/issues/3723
- https://github.com/foundry-rs/foundry/issues/3437
- https://github.com/foundry-rs/foundry/issues/4832
- snapshot/revert soundess issues: https://github.com/foundry-rs/foundry/issues/3792, https://github.com/foundry-rs/foundry/issues/3055#issuecomment-1328198508
## Medium Priority
- All `expect*` cheats should only apply to the next call: https://github.com/foundry-rs/foundry/issues/1745
- https://github.com/foundry-rs/foundry/issues/2932
- https://github.com/foundry-rs/foundry/issues/2399
- https://github.com/foundry-rs/foundry/issues/2846
- https://github.com/foundry-rs/foundry/issues/3589
- https://github.com/foundry-rs/foundry/issues/3362
- https://github.com/foundry-rs/foundry/issues/2740
- `vm.skipTest(bool)` cheat: https://github.com/foundry-rs/foundry/issues/1123
- https://github.com/foundry-rs/foundry/issues/824#issuecomment-1067033316
- https://github.com/foundry-rs/foundry/issues/4808
- https://github.com/foundry-rs/foundry/issues/2900
- https://github.com/foundry-rs/foundry/issues/4875
- https://github.com/foundry-rs/foundry/issues/4762
- https://github.com/foundry-rs/foundry/issues/4090
- https://github.com/foundry-rs/foundry/issues/8165
## Lower Priority
- https://github.com/foundry-rs/foundry/issues/4859
- https://github.com/foundry-rs/foundry/issues/4818
- https://github.com/foundry-rs/foundry/issues/4790
- https://github.com/foundry-rs/foundry/issues/1340
- Support JUMPs instead of just CALLs for cheats that currently operate on CALLs (ref #432, #864, #1454), such as `prank`, `mockCall`, `expect*`
- Ability to write to packed slots and writing vars that take up multiple slots, like strings: https://github.com/foundry-rs/foundry/issues/3869
- https://github.com/foundry-rs/foundry/issues/3725
- https://github.com/foundry-rs/foundry/issues/2359
- https://github.com/foundry-rs/foundry/issues/4789
- https://github.com/foundry-rs/foundry/issues/4012
- https://github.com/foundry-rs/foundry/issues/4072
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.