forked from foundry-rs/foundry
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Setup.t.sol
36 lines (30 loc) · 1.08 KB
/
Setup.t.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// SPDX-License-Identifier: MIT OR Apache-2.0
pragma solidity 0.8.18;
import "ds-test/test.sol";
import "cheats/Vm.sol";
contract Victim {
function assertSender(address sender) external {
require(msg.sender == sender, "sender was not pranked");
}
}
contract VmSetupTest is DSTest {
Vm constant vm = Vm(HEVM_ADDRESS);
Victim victim;
function setUp() public {
victim = new Victim();
vm.warp(10);
vm.chainId(99);
vm.roll(100);
vm.fee(1000);
vm.prevrandao(uint256(10000));
vm.startPrank(address(1337));
}
function testCheatEnvironment() public {
assertEq(block.timestamp, 10, "block timestamp was not persisted from setup");
assertEq(block.number, 100, "block number was not persisted from setup");
assertEq(block.basefee, 1000, "basefee was not persisted from setup");
assertEq(block.prevrandao, 10000, "prevrandao was not persisted from setup");
assertEq(block.chainid, 99, "chainid was not persisted from setup");
victim.assertSender(address(1337));
}
}