@@ -8,6 +8,13 @@ interface IHevm {
8
8
// Set block.number to newNumber
9
9
function roll (uint256 newNumber ) external ;
10
10
11
+ // Add the condition b to the assumption base for the current branch
12
+ // This function is almost identical to require
13
+ function assume (bool b ) external ;
14
+
15
+ // Sets the eth balance of usr to amt
16
+ function deal (uint256 usr , uint256 amt ) external ;
17
+
11
18
// Loads a storage slot from an address
12
19
function load (address where , bytes32 slot ) external returns (bytes32 );
13
20
@@ -30,6 +37,18 @@ interface IHevm {
30
37
31
38
// Performs the next smart contract call with specified `msg.sender`
32
39
function prank (address newSender ) external ;
40
+
41
+ // Creates a new fork with the given endpoint and the latest block and returns the identifier of the fork
42
+ function createFork (string calldata urlOrAlias ) external returns (uint256 );
43
+
44
+ // Takes a fork identifier created by createFork and sets the corresponding forked state as active
45
+ function selectFork (uint256 forkId ) external ;
46
+
47
+ // Returns the identifier of the current fork
48
+ function activeFork () external returns (uint256 );
49
+
50
+ // Labels the address in traces
51
+ function label (address addr , string calldata label ) external ;
33
52
}
34
53
35
54
IHevm constant hevm = IHevm (0x7109709ECfa91a80626fF3989D68f67F5b1DD12D );
0 commit comments