|
1 |
| -# Cheatcode Mutability Review (`view` / `pure`) |
| 1 | +# Cheatcode Mutability Review Checklist |
2 | 2 |
|
3 |
| -This document tracks the Foundry cheatcodes that are currently marked `external` with no `view` or `pure` mutability modifier. |
| 3 | +This document tracks all cheatcodes currently marked `external` with no `view` or `pure` mutability modifier. |
| 4 | + |
| 5 | +Total reviewed: **231** |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +## Summary |
| 10 | + |
| 11 | +| Mutability | Count | Description | |
| 12 | +|------------|-------|-------------| |
| 13 | +| `pure` | 1 | Stateless helper functions | |
| 14 | +| `view` | 11 | Reads test environment state | |
| 15 | +| `-` (keep as is) | 219 | Modifies test state or relies on test state | |
| 16 | + |
| 17 | +--- |
4 | 18 |
|
5 | 19 | ## Review Criteria
|
6 | 20 |
|
7 | 21 | From issue [#10027](https://github.com/foundry-rs/foundry/issues/10027):
|
8 | 22 |
|
9 |
| -- If a cheatcode **modifies observable state for later cheatcode calls** (EVM, interpreter, filesystem), it is neither `view` nor `pure` |
10 |
| -- If a cheatcode **depends on prior cheatcode calls or reads test environment state**, it is `view` |
11 |
| -- If a cheatcode **has no side effects and doesn’t depend on test state**, it is `pure` |
| 23 | +- If a cheatcode **modifies observable state** for later cheatcode calls (EVM, interpreter, filesystem), it is neither `view` nor `pure` |
| 24 | +- If a cheatcode **reads** from prior cheatcode state or environment state, it is `view` |
| 25 | +- If a cheatcode **has no side effects** and doesn’t depend on test stat, it is `pure` |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## Mutability Suggestions |
| 30 | + |
| 31 | +### Pure Cheatcodes |
| 32 | + |
| 33 | +Mark `pure`: |
| 34 | + |
| 35 | +- [ ] `contains`: `contains(string,string)` _suggested: `pure`_ |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +### View Cheatcodes |
| 40 | + |
| 41 | +Mark `view`: |
| 42 | + |
| 43 | +- [ ] `accessList`: `accessList(address,bytes32[])` |
| 44 | +- [ ] `accesses`: `accesses(address)` |
| 45 | +- [ ] `eth_getLogs`: `eth_getLogs(uint256,uint256,address,bytes32[])` |
| 46 | +- [ ] `getMappingKeyAndParentOf`: `getMappingKeyAndParentOf(address,bytes32)` |
| 47 | +- [ ] `getMappingLength`: `getMappingLength(address,bytes32)` |
| 48 | +- [ ] `getMappingSlotAt`: `getMappingSlotAt(address,bytes32,uint256)` |
| 49 | +- [ ] `getNonce_1`: `getNonce(address,uint256,uint256,uint256)` |
| 50 | +- [ ] `getRecordedLogs`: `getRecordedLogs()` |
| 51 | +- [ ] `getWallets`: `getWallets()` |
| 52 | +- [ ] `noAccessList`: `noAccessList()` |
| 53 | +- [ ] `readCallers`: `readCallers()` |
| 54 | + |
| 55 | +--- |
| 56 | + |
| 57 | +### Keep As Is |
12 | 58 |
|
13 |
| -## Checklist |
| 59 | +Not `view` nor `pure`: |
14 | 60 |
|
15 |
| -| Cheatcode ID | Function Signature | Proposed Mutability | |
16 |
| -|--------------|--------------------|----------------------| |
17 |
| -| `createWallet_1` | `function createWallet(uint256)` | `TBD` | |
18 |
| -| `sign_0` | `function sign(...)` | `TBD` | |
19 |
| -| ... | ... | ... | |
| 61 | +- [ ] `_expectCheatcodeRevert_0`: `_expectCheatcodeRevert()` _suggested: keep as is_ |
| 62 | +- [ ] `_expectCheatcodeRevert_1`: `_expectCheatcodeRevert(bytes4)` _suggested: keep as is_ |
| 63 | +- [ ] `_expectCheatcodeRevert_2`: `_expectCheatcodeRevert(bytes)` _suggested: keep as is_ |
| 64 | +- [ ] `allowCheatcodes`: `allowCheatcodes(address)` _suggested: keep as is_ |
| 65 | +- [ ] `attachBlob`: `attachBlob(bytes)` _suggested: keep as is_ |
| 66 | +- [ ] `attachDelegation`: `attachDelegation((uint8,bytes32,bytes32,uint64,address))` _suggested: keep as is_ |
| 67 | +- [ ] `blobBaseFee`: `blobBaseFee(uint256)` _suggested: keep as is_ |
| 68 | +- [ ] `blobhashes`: `blobhashes(bytes32[])` _suggested: keep as is_ |
| 69 | +- [ ] `broadcastRawTransaction`: `broadcastRawTransaction(bytes)` _suggested: keep as is_ |
| 70 | +- [ ] `broadcast_0`: `broadcast()` _suggested: keep as is_ |
| 71 | +- [ ] `broadcast_1`: `broadcast(address)` _suggested: keep as is_ |
| 72 | +- [ ] `broadcast_2`: `broadcast(uint256)` _suggested: keep as is_ |
| 73 | +- [ ] `chainId`: `chainId(uint256)` _suggested: keep as is_ |
| 74 | +- [ ] `clearMockedCalls`: `clearMockedCalls()` _suggested: keep as is_ |
| 75 | +- [ ] `cloneAccount`: `cloneAccount(address,address)` _suggested: keep as is_ |
| 76 | +- [ ] `closeFile`: `closeFile(string)` _suggested: keep as is_ |
| 77 | +- [ ] `coinbase`: `coinbase(address)` _suggested: keep as is_ |
| 78 | +- [ ] `cool`: `cool(address)` _suggested: keep as is_ |
| 79 | +- [ ] `coolSlot`: `coolSlot(address,bytes32)` _suggested: keep as is_ |
| 80 | +- [ ] `copyFile`: `copyFile(string,string)` _suggested: keep as is_ |
| 81 | +- [ ] `copyStorage`: `copyStorage(address,address)` _suggested: keep as is_ |
| 82 | +- [ ] `createDir`: `createDir(string,bool)` _suggested: keep as is_ |
| 83 | +- [ ] `createFork_0`: `createFork(string)` _suggested: keep as is_ |
| 84 | +- [ ] `createFork_1`: `createFork(string,uint256)` _suggested: keep as is_ |
| 85 | +- [ ] `createFork_2`: `createFork(string,bytes32)` _suggested: keep as is_ |
| 86 | +- [ ] `createSelectFork_0`: `createSelectFork(string)` _suggested: keep as is_ |
| 87 | +- [ ] `createSelectFork_1`: `createSelectFork(string,uint256)` _suggested: keep as is_ |
| 88 | +- [ ] `createSelectFork_2`: `createSelectFork(string,bytes32)` _suggested: keep as is_ |
| 89 | +- [ ] `createWallet_0`: `createWallet(string)` _suggested: keep as is_ |
| 90 | +- [ ] `createWallet_1`: `createWallet(uint256)` _suggested: keep as is_ |
| 91 | +- [ ] `createWallet_2`: `createWallet(uint256,string)` _suggested: keep as is_ |
| 92 | +- [ ] `deal`: `deal(address,uint256)` _suggested: keep as is_ |
| 93 | +- [ ] `deleteSnapshot`: `deleteSnapshot(uint256)` _suggested: keep as is_ |
| 94 | +- [ ] `deleteSnapshots`: `deleteSnapshots()` _suggested: keep as is_ |
| 95 | +- [ ] `deleteStateSnapshot`: `deleteStateSnapshot(uint256)` _suggested: keep as is_ |
| 96 | +- [ ] `deleteStateSnapshots`: `deleteStateSnapshots()` _suggested: keep as is_ |
| 97 | +- [ ] `deployCode_0`: `deployCode(string)` _suggested: keep as is_ |
| 98 | +- [ ] `deployCode_1`: `deployCode(string,bytes)` _suggested: keep as is_ |
| 99 | +- [ ] `deployCode_2`: `deployCode(string,uint256)` _suggested: keep as is_ |
| 100 | +- [ ] `deployCode_3`: `deployCode(string,bytes,uint256)` _suggested: keep as is_ |
| 101 | +- [ ] `deployCode_4`: `deployCode(string,bytes32)` _suggested: keep as is_ |
| 102 | +- [ ] `deployCode_5`: `deployCode(string,bytes,bytes32)` _suggested: keep as is_ |
| 103 | +- [ ] `deployCode_6`: `deployCode(string,uint256,bytes32)` _suggested: keep as is_ |
| 104 | +- [ ] `deployCode_7`: `deployCode(string,bytes,uint256,bytes32)` _suggested: keep as is_ |
| 105 | +- [ ] `difficulty`: `difficulty(uint256)` _suggested: keep as is_ |
| 106 | +- [ ] `dumpState`: `dumpState(string)` _suggested: keep as is_ |
| 107 | +- [ ] `etch`: `etch(address,bytes)` _suggested: keep as is_ |
| 108 | +- [ ] `expectCallMinGas_0`: `expectCallMinGas(address,uint256,uint64,bytes)` _suggested: keep as is_ |
| 109 | +- [ ] `expectCallMinGas_1`: `expectCallMinGas(address,uint256,uint64,bytes,uint64)` _suggested: keep as is_ |
| 110 | +- [ ] `expectCall_0`: `expectCall(address,bytes)` _suggested: keep as is_ |
| 111 | +- [ ] `expectCall_1`: `expectCall(address,bytes,uint64)` _suggested: keep as is_ |
| 112 | +- [ ] `expectCall_2`: `expectCall(address,uint256,bytes)` _suggested: keep as is_ |
| 113 | +- [ ] `expectCall_3`: `expectCall(address,uint256,bytes,uint64)` _suggested: keep as is_ |
| 114 | +- [ ] `expectCall_4`: `expectCall(address,uint256,uint64,bytes)` _suggested: keep as is_ |
| 115 | +- [ ] `expectCall_5`: `expectCall(address,uint256,uint64,bytes,uint64)` _suggested: keep as is_ |
| 116 | +- [ ] `expectCreate`: `expectCreate(bytes,address)`_suggested: keep as is_ |
| 117 | +- [ ] `expectCreate2`: `expectCreate2(bytes,address)` _suggested: keep as is_ |
| 118 | +- [ ] `expectEmitAnonymous_0`: `expectEmitAnonymous(bool,bool,bool,bool,bool)` _suggested: keep as is_ |
| 119 | +- [ ] `expectEmitAnonymous_1`: `expectEmitAnonymous(bool,bool,bool,bool,bool,address)` _suggested: keep as is_ |
| 120 | +- [ ] `expectEmitAnonymous_2`: `expectEmitAnonymous()` _suggested: keep as is_ |
| 121 | +- [ ] `expectEmitAnonymous_3`: `expectEmitAnonymous(address)` _suggested: keep as is_ |
| 122 | +- [ ] `expectEmit_0`: `expectEmit(bool,bool,bool,bool)` _suggested: keep as is_ |
| 123 | +- [ ] `expectEmit_1`: `expectEmit(bool,bool,bool,bool,address)` _suggested: keep as is_ |
| 124 | +- [ ] `expectEmit_2`: `expectEmit()` _suggested: keep as is_ |
| 125 | +- [ ] `expectEmit_3`: `expectEmit(address)` _suggested: keep as is_ |
| 126 | +- [ ] `expectEmit_4`: `expectEmit(bool,bool,bool,bool,uint64)` _suggested: keep as is_ |
| 127 | +- [ ] `expectEmit_5`: `expectEmit(bool,bool,bool,bool,address,uint64)` _suggested: keep as is_ |
| 128 | +- [ ] `expectEmit_6`: `expectEmit(uint64)` _suggested: keep as is_ |
| 129 | +- [ ] `expectEmit_7`: `expectEmit(address,uint64)` _suggested: keep as is_ |
| 130 | +- [ ] `expectPartialRevert_0`: `expectPartialRevert(bytes4)` _suggested: keep as is_ |
| 131 | +- [ ] `expectPartialRevert_1`: `expectPartialRevert(bytes4,address)` _suggested: keep as is_ |
| 132 | +- [ ] `expectRevert_0`: `expectRevert()` _suggested: keep as is_ |
| 133 | +- [ ] `expectRevert_1`: `expectRevert(bytes4)` _suggested: keep as is_ |
| 134 | +- [ ] `expectRevert_10`: `expectRevert(bytes4,address,uint64)` _suggested: keep as is_ |
| 135 | +- [ ] `expectRevert_11`: `expectRevert(bytes,address,uint64)` _suggested: keep as is_ |
| 136 | +- [ ] `expectRevert_2`: `expectRevert(bytes)` _suggested: keep as is_ |
| 137 | +- [ ] `expectRevert_3`: `expectRevert(address)` _suggested: keep as is_ |
| 138 | +- [ ] `expectRevert_4`: `expectRevert(bytes4,address)` _suggested: keep as is_ |
| 139 | +- [ ] `expectRevert_5`: `expectRevert(bytes,address)` _suggested: keep as is_ |
| 140 | +- [ ] `expectRevert_6`: `expectRevert(uint64)` _suggested: keep as is_ |
| 141 | +- [ ] `expectRevert_7`: `expectRevert(bytes4,uint64)` _suggested: keep as is_ |
| 142 | +- [ ] `expectRevert_8`: `expectRevert(bytes,uint64)` _suggested: keep as is_ |
| 143 | +- [ ] `expectRevert_9`: `expectRevert(address,uint64)` _suggested: keep as is_ |
| 144 | +- [ ] `expectSafeMemory`: `expectSafeMemory(uint64,uint64)` _suggested: keep as is_ |
| 145 | +- [ ] `expectSafeMemoryCall`: `expectSafeMemoryCall(uint64,uint64)` _suggested: keep as is_ |
| 146 | +- [ ] `fee`: `fee(uint256)` _suggested: keep as is_ |
| 147 | +- [ ] `ffi`: `ffi(string[])` _suggested: keep as is_ |
| 148 | +- [ ] `interceptInitcode`: `interceptInitcode()` _suggested: keep as is_ |
| 149 | +- [ ] `label`: `label(address,string)` _suggested: keep as is_ |
| 150 | +- [ ] `loadAllocs`: `loadAllocs(string)` _suggested: keep as is_ |
| 151 | +- [ ] `makePersistent_0`: `makePersistent(address)` _suggested: keep as is_ |
| 152 | +- [ ] `makePersistent_1`: `makePersistent(address,address)` _suggested: keep as is_ |
| 153 | +- [ ] `makePersistent_2`: `makePersistent(address,address,address)` _suggested: keep as is_ |
| 154 | +- [ ] `makePersistent_3`: `makePersistent(address[])` _suggested: keep as is_ |
| 155 | +- [ ] `mockCallRevert_0`: `mockCallRevert(address,bytes,bytes)` _suggested: keep as is_ |
| 156 | +- [ ] `mockCallRevert_1`: `mockCallRevert(address,uint256,bytes,bytes)` _suggested: keep as is_ |
| 157 | +- [ ] `mockCallRevert_2`: `mockCallRevert(address,bytes4,bytes)` _suggested: keep as is_ |
| 158 | +- [ ] `mockCallRevert_3`: `mockCallRevert(address,uint256,bytes4,bytes)` _suggested: keep as is_ |
| 159 | +- [ ] `mockCall_0`: `mockCall(address,bytes,bytes)` _suggested: keep as is_ |
| 160 | +- [ ] `mockCall_1`: `mockCall(address,uint256,bytes,bytes)` _suggested: keep as is_ |
| 161 | +- [ ] `mockCall_2`: `mockCall(address,bytes4,bytes)` _suggested: keep as is_ |
| 162 | +- [ ] `mockCall_3`: `mockCall(address,uint256,bytes4,bytes)` _suggested: keep as is_ |
| 163 | +- [ ] `mockCalls_0`: `mockCalls(address,bytes,bytes[])` _suggested: keep as is_ |
| 164 | +- [ ] `mockCalls_1`: `mockCalls(address,uint256,bytes,bytes[])` _suggested: keep as is_ |
| 165 | +- [ ] `mockFunction`: `mockFunction(address,address,bytes)` _suggested: keep as is_ |
| 166 | +- [ ] `pauseGasMetering`: `pauseGasMetering()` _suggested: keep as is_ |
| 167 | +- [ ] `prank_0`: `prank(address)` _suggested: keep as is_ |
| 168 | +- [ ] `prank_1`: `prank(address,address)` _suggested: keep as is_ |
| 169 | +- [ ] `prank_2`: `prank(address,bool)` _suggested: keep as is_ |
| 170 | +- [ ] `prank_3`: `prank(address,address,bool)` _suggested: keep as is_ |
| 171 | +- [ ] `prevrandao_0`: `prevrandao(bytes32)` _suggested: keep as is_ |
| 172 | +- [ ] `prevrandao_1`: `prevrandao(uint256)` _suggested: keep as is_ |
| 173 | +- [ ] `prompt`: `prompt(string)` _suggested: keep as is_ |
| 174 | +- [ ] `promptAddress`: `promptAddress(string)` _suggested: keep as is_ |
| 175 | +- [ ] `promptSecret`: `promptSecret(string)` _suggested: keep as is_ |
| 176 | +- [ ] `promptSecretUint`: `promptSecretUint(string)` _suggested: keep as is_ |
| 177 | +- [ ] `promptUint`: `promptUint(string)` _suggested: keep as is_ |
| 178 | +- [ ] `randomAddress`: `randomAddress()` _suggested: keep as is_ |
| 179 | +- [ ] `randomUint_0`: `randomUint()` _suggested: keep as is_ |
| 180 | +- [ ] `randomUint_1`: `randomUint(uint256,uint256)` _suggested: keep as is_ |
| 181 | +- [ ] `record`: `record()` _suggested: keep as is_ |
| 182 | +- [ ] `recordLogs`: `recordLogs()` _suggested: keep as is_ |
| 183 | +- [ ] `rememberKey`: `rememberKey(uint256)` _suggested: keep as is_ |
| 184 | +- [ ] `rememberKeys_0`: `rememberKeys(string,string,uint32)` _suggested: keep as is_ |
| 185 | +- [ ] `rememberKeys_1`: `rememberKeys(string,string,string,uint32)` _suggested: keep as is_ |
| 186 | +- [ ] `removeDir`: `removeDir(string,bool)` _suggested: keep as is_ |
| 187 | +- [ ] `removeFile`: `removeFile(string)` _suggested: keep as is_ |
| 188 | +- [ ] `resetGasMetering`: `resetGasMetering()` _suggested: keep as is_ |
| 189 | +- [ ] `resetNonce`: `resetNonce(address)` _suggested: keep as is_ |
| 190 | +- [ ] `resumeGasMetering`: `resumeGasMetering()` _suggested: keep as is_ |
| 191 | +- [ ] `revertTo`: `revertTo(uint256)` _suggested: keep as is_ |
| 192 | +- [ ] `revertToAndDelete`: `revertToAndDelete(uint256)` _suggested: keep as is_ |
| 193 | +- [ ] `revertToState`: `revertToState(uint256)` _suggested: keep as is_ |
| 194 | +- [ ] `revertToStateAndDelete`: `revertToStateAndDelete(uint256)` _suggested: keep as is_ |
| 195 | +- [ ] `revokePersistent_0`: `revokePersistent(address)` _suggested: keep as is_ |
| 196 | +- [ ] `revokePersistent_1`: `revokePersistent(address[])` _suggested: keep as is_ |
| 197 | +- [ ] `roll`: `roll(uint256)` _suggested: keep as is_ |
| 198 | +- [ ] `rollFork_0`: `rollFork(uint256)` _suggested: keep as is_ |
| 199 | +- [ ] `rollFork_1`: `rollFork(bytes32)` _suggested: keep as is_ |
| 200 | +- [ ] `rollFork_2`: `rollFork(uint256,uint256)` _suggested: keep as is_ |
| 201 | +- [ ] `rollFork_3`: `rollFork(uint256,bytes32)` _suggested: keep as is_ |
| 202 | +- [ ] `rpc_0`: `rpc(string,string)` _suggested: keep as is_ |
| 203 | +- [ ] `rpc_1`: `rpc(string,string,string)` _suggested: keep as is_ |
| 204 | +- [ ] `selectFork`: `selectFork(uint256)` _suggested: keep as is_ |
| 205 | +- [ ] `serializeAddress_0`: `serializeAddress(string,string,address)` _suggested: keep as is_ |
| 206 | +- [ ] `serializeAddress_1`: `serializeAddress(string,string,address[])` _suggested: keep as is_ |
| 207 | +- [ ] `serializeBool_0`: `serializeBool(string,string,bool)` _suggested: keep as is_ |
| 208 | +- [ ] `serializeBool_1`: `serializeBool(string,string,bool[])` _suggested: keep as is_ |
| 209 | +- [ ] `serializeBytes32_0`: `serializeBytes32(string,string,bytes32)` _suggested: keep as is_ |
| 210 | +- [ ] `serializeBytes32_1`: `serializeBytes32(string,string,bytes32[])` _suggested: keep as is_ |
| 211 | +- [ ] `serializeBytes_0`: `serializeBytes(string,string,bytes)` _suggested: keep as is_ |
| 212 | +- [ ] `serializeBytes_1`: `serializeBytes(string,string,bytes[])` _suggested: keep as is_ |
| 213 | +- [ ] `serializeInt_0`: `serializeInt(string,string,int256)` _suggested: keep as is_ |
| 214 | +- [ ] `serializeInt_1`: `serializeInt(string,string,int256[])` _suggested: keep as is_ |
| 215 | +- [ ] `serializeJson`: `serializeJson(string,string)` _suggested: keep as is_ |
| 216 | +- [ ] `serializeJsonType_1`: `serializeJsonType(string,string,string,bytes)` _suggested: keep as is_ |
| 217 | +- [ ] `serializeString_0`: `serializeString(string,string,string)` _suggested: keep as is_ |
| 218 | +- [ ] `serializeString_1`: `serializeString(string,string,string[])` _suggested: keep as is_ |
| 219 | +- [ ] `serializeUintToHex`: `serializeUintToHex(string,string,uint256)` _suggested: keep as is_ |
| 220 | +- [ ] `serializeUint_0`: `serializeUint(string,string,uint256)` _suggested: keep as is_ |
| 221 | +- [ ] `serializeUint_1`: `serializeUint(string,string,uint256[])` _suggested: keep as is_ |
| 222 | +- [ ] `setArbitraryStorage_0`: `setArbitraryStorage(address)` _suggested: keep as is_ |
| 223 | +- [ ] `setArbitraryStorage_1`: `setArbitraryStorage(address,bool)` _suggested: keep as is_ |
| 224 | +- [ ] `setBlockhash`: `setBlockhash(uint256,bytes32)` _suggested: keep as is_ |
| 225 | +- [ ] `setEnv`: `setEnv(string,string)` _suggested: keep as is_ |
| 226 | +- [ ] `setNonce`: `setNonce(address,uint64)` _suggested: keep as is_ |
| 227 | +- [ ] `setNonceUnsafe`: `setNonceUnsafe(address,uint64)` _suggested: keep as is_ |
| 228 | +- [ ] `shuffle`: `shuffle(uint256[])` _suggested: keep as is_ |
| 229 | +- [ ] `signAndAttachDelegation_0`: `signAndAttachDelegation(address,uint256)` _suggested: keep as is_ |
| 230 | +- [ ] `signAndAttachDelegation_1`: `signAndAttachDelegation(address,uint256,uint64)` _suggested: keep as is_ |
| 231 | +- [ ] `signCompact_0`: `signCompact((address,uint256,uint256,uint256),bytes32)` _suggested: keep as is_ |
| 232 | +- [ ] `signDelegation_0`: `signDelegation(address,uint256)` _suggested: keep as is_ |
| 233 | +- [ ] `signDelegation_1`: `signDelegation(address,uint256,uint64)` _suggested: keep as is_ |
| 234 | +- [ ] `sign_0`: `sign((address,uint256,uint256,uint256),bytes32)` _suggested: keep as is_ |
| 235 | +- [ ] `skip_0`: `skip(bool)` _suggested: keep as is_ |
| 236 | +- [ ] `skip_1`: `skip(bool,string)` _suggested: keep as is_ |
| 237 | +- [ ] `sleep`: `sleep(uint256)` _suggested: keep as is_ |
| 238 | +- [ ] `snapshot`: `snapshot()` _suggested: keep as is_ |
| 239 | +- [ ] `snapshotGasLastCall_0`: `snapshotGasLastCall(string)` _suggested: keep as is_ |
| 240 | +- [ ] `snapshotGasLastCall_1`: `snapshotGasLastCall(string,string)` _suggested: keep as is_ |
| 241 | +- [ ] `snapshotState`: `snapshotState()` _suggested: keep as is_ |
| 242 | +- [ ] `snapshotValue_0`: `snapshotValue(string,uint256)` _suggested: keep as is_ |
| 243 | +- [ ] `snapshotValue_1`: `snapshotValue(string,string,uint256)` _suggested: keep as is_ |
| 244 | +- [ ] `sort`: `sort(uint256[])` _suggested: keep as is_ |
| 245 | +- [ ] `startBroadcast_0`: `startBroadcast()` _suggested: keep as is_ |
| 246 | +- [ ] `startBroadcast_1`: `startBroadcast(address)` _suggested: keep as is_ |
| 247 | +- [ ] `startBroadcast_2`: `startBroadcast(uint256)` _suggested: keep as is_ |
| 248 | +- [ ] `startDebugTraceRecording`: `startDebugTraceRecording()` _suggested: keep as is_ |
| 249 | +- [ ] `startMappingRecording`: `startMappingRecording()` _suggested: keep as is_ |
| 250 | +- [ ] `startPrank_0`: `startPrank(address)` _suggested: keep as is_ |
| 251 | +- [ ] `startPrank_1`: `startPrank(address,address)` _suggested: keep as is_ |
| 252 | +- [ ] `startPrank_2`: `startPrank(address,bool)` _suggested: keep as is_ |
| 253 | +- [ ] `startPrank_3`: `startPrank(address,address,bool)` _suggested: keep as is_ |
| 254 | +- [ ] `startSnapshotGas_0`: `startSnapshotGas(string)` _suggested: keep as is_ |
| 255 | +- [ ] `startSnapshotGas_1`: `startSnapshotGas(string,string)` _suggested: keep as is_ |
| 256 | +- [ ] `startStateDiffRecording`: `startStateDiffRecording()` _suggested: keep as is_ |
| 257 | +- [ ] `stopAndReturnDebugTraceRecording`: `stopAndReturnDebugTraceRecording()` _suggested: keep as is_ |
| 258 | +- [ ] `stopAndReturnStateDiff`: `stopAndReturnStateDiff()` _suggested: keep as is_ |
| 259 | +- [ ] `stopBroadcast`: `stopBroadcast()` _suggested: keep as is_ |
| 260 | +- [ ] `stopExpectSafeMemory`: `stopExpectSafeMemory()` _suggested: keep as is_ |
| 261 | +- [ ] `stopMappingRecording`: `stopMappingRecording()` _suggested: keep as is_ |
| 262 | +- [ ] `stopPrank`: `stopPrank()` _suggested: keep as is_ |
| 263 | +- [ ] `stopSnapshotGas_0`: `stopSnapshotGas()` _suggested: keep as is_ |
| 264 | +- [ ] `stopSnapshotGas_1`: `stopSnapshotGas(string)` _suggested: keep as is_ |
| 265 | +- [ ] `stopSnapshotGas_2`: `stopSnapshotGas(string,string)` _suggested: keep as is_ |
| 266 | +- [ ] `store`: `store(address,bytes32,bytes32)` _suggested: keep as is_ |
| 267 | +- [ ] `transact_0`: `transact(bytes32)` _suggested: keep as is_ |
| 268 | +- [ ] `transact_1`: `transact(uint256,bytes32)` _suggested: keep as is_ |
| 269 | +- [ ] `tryFfi`: `tryFfi(string[])` _suggested: keep as is_ |
| 270 | +- [ ] `txGasPrice`: `txGasPrice(uint256)` _suggested: keep as is_ |
| 271 | +- [ ] `warmSlot`: `warmSlot(address,bytes32)` _suggested: keep as is_ |
| 272 | +- [ ] `warp`: `warp(uint256)` _suggested: keep as is_ |
| 273 | +- [ ] `writeFile`: `writeFile(string,string)` _suggested: keep as is_ |
| 274 | +- [ ] `writeFileBinary`: `writeFileBinary(string,bytes)` _suggested: keep as is_ |
| 275 | +- [ ] `writeJson_0`: `writeJson(string,string)` _suggested: keep as is_ |
| 276 | +- [ ] `writeJson_1`: `writeJson(string,string,string)` _suggested: keep as is_ |
| 277 | +- [ ] `writeLine`: `writeLine(string,string)` _suggested: keep as is_ |
| 278 | +- [ ] `writeToml_0`: `writeToml(string,string)` _suggested: keep as is_ |
| 279 | +- [ ] `writeToml_1`: `writeToml(string,string,string)` _suggested: keep as is_ |
0 commit comments