Comments (5)
This likely should be moved to https://github.com/foundry-rs/forge-std as a helper function if I understand your need correctly. See things like hoax
:
Lines 32 to 35 in 5927f70
Forge-std is designed to be helpers to improve UX
from forge-std.
@PaulRBerg can you describe the best UX here?
Something like:
function changePrank(address who) internal {
vm.stopPrank();
vm.startPrank(who);
}
maybe? Usage would be:
function testF() public {
vm.startPrank(myNormalPranker);
do.stuff();
changePrank(bob);
do.stuffAsBob();
changePrank(myNormalPranker);
do.stuff();
}
from forge-std.
@brockelmore your example captures exactly what I had in mind.
But I do want to note that I would expect changePrank
to function like startPrank
- that is, it would persist for all subsequent calls.
from forge-std.
@brockelmore @ZeroEkkusu anyone working on this, can I take a stab at it?
Seems straightforward.
from forge-std.
I agree w @brockelmore. Let me move the issue to Forge Std
Edit: Ok, I can't move it to Forge Std for some reason, guess I don't have the necessary perms. @brockelmore can you try?
from forge-std.
Related Issues (20)
- Add `vm.blobhashes`
- "ds-test/test.sol" Not Found HOT 4
- JSON Parsing with Default Fallbacks HOT 3
- ENV var incorrectly takes precedence over CLI flag HOT 1
- [FAIL. Reason: revert: stdStorage find(StdStorage): No storage use detected for target.] HOT 5
- Native String Cheatcodes Not Present HOT 2
- contract creation code storage out of gas HOT 1
- `DSTest` removal in v1.8.0 seems to break the `forge` contract sizer filter HOT 1
- assertEq "Invalid data" HOT 2
- Add prompt cheatcode
- Change `vm` visibility to internal in `StdAssertions` and `StdUtils` HOT 2
- Package.json version is not updated. HOT 4
- Feature request: block gas limits for most popular chains HOT 2
- 1.7.1 -> 1.8.1 breaking change: why is DSTest no longer inherited by Test? HOT 1
- Add Vm.prevrandao as uint256 overloaded function
- Add envExists cheatcode function
- Add isContext cheatcode function HOT 1
- add new blobhash cheatcodes HOT 2
- Can't seem to read `CallerMode` from `vm.readCallers()` HOT 4
- Add new random cheatcodes HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from forge-std.