34 lines
2.3 KiB
Solidity
34 lines
2.3 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 toString(bytes32 value) external pure returns (string memory);
|
|
function toString(bytes calldata value) external pure returns (string memory);
|
|
function readFile(string calldata path) external view returns (string memory);
|
|
function writeFile(string calldata path, string calldata data) external;
|
|
function parseJsonBytes(string calldata json, string calldata key) external pure returns (bytes memory);
|
|
function parseJsonBytes32(string calldata json, string calldata key) external pure returns (bytes32);
|
|
function parseJsonUint(string calldata json, string calldata key) external pure returns (uint256);
|
|
function parseJsonString(string calldata json, string calldata key) external pure returns (string memory);
|
|
function parseJsonBytesArray(string calldata json, string calldata key) external pure returns (bytes[] memory);
|
|
function parseJsonUintArray(string calldata json, string calldata key) external pure returns (uint256[] memory);
|
|
function parseJsonAddress(string calldata json, string calldata key) external pure returns (address);
|
|
function keyExistsJson(string calldata json, string calldata key) external view returns (bool);
|
|
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"))));
|