foundry-rs / foundry-rs/foundry

meta(cheatcodes): tracking issue for cheatcode improvements

Open
#4,439 1 comment 0 reactions 0 assignees View on GitHub
A-cheatcodes C-forge Cmd-forge-test T-meta
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.