23 lines
1.2 KiB
Solidity
23 lines
1.2 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.24;
|
|
|
|
/// The Foundry cheatcodes this project uses, declared here so the tree needs no remote dependency.
|
|
interface Vm {
|
|
function startBroadcast(uint256 privateKey) external;
|
|
function stopBroadcast() external;
|
|
function envUint(string calldata name) external view returns (uint256);
|
|
function envAddress(string calldata name) external view returns (address);
|
|
function envOr(string calldata name, string calldata defaultValue) external view returns (string memory);
|
|
function toString(address value) external pure returns (string memory);
|
|
function toString(uint256 value) external pure returns (string memory);
|
|
function writeFile(string calldata path, string calldata data) external;
|
|
function deal(address who, uint256 newBalance) external;
|
|
function prank(address msgSender) external;
|
|
function startPrank(address msgSender) external;
|
|
function stopPrank() external;
|
|
function warp(uint256 newTimestamp) external;
|
|
function expectRevert(bytes calldata revertData) external;
|
|
function addr(uint256 privateKey) external pure returns (address);
|
|
}
|
|
|
|
address constant VM_ADDRESS = address(uint160(uint256(keccak256("hevm cheat code"))));
|