@settlemint/solidity-token-erc721-generative-art
Version:
Smart contract set to build an ERC721 token with generated art in SettleMint
9,997 lines • 276 kB
JSON
{
"compiler": {
"version": "0.8.27+commit.40a35a09"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "accesses",
"outputs": [
{
"internalType": "bytes32[]",
"name": "readSlots",
"type": "bytes32[]"
},
{
"internalType": "bytes32[]",
"name": "writeSlots",
"type": "bytes32[]"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "addr",
"outputs": [
{
"internalType": "address",
"name": "keyAddr",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbs"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbs"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbs"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbs"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbsDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbsDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbsDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqAbsDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRel"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRel"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRel"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRel"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRelDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRelDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRelDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "maxPercentDelta",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertApproxEqRelDecimal"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "left",
"type": "bytes32[]"
},
{
"internalType": "bytes32[]",
"name": "right",
"type": "bytes32[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "int256[]",
"name": "left",
"type": "int256[]"
},
{
"internalType": "int256[]",
"name": "right",
"type": "int256[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "address",
"name": "left",
"type": "address"
},
{
"internalType": "address",
"name": "right",
"type": "address"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "string",
"name": "left",
"type": "string"
},
{
"internalType": "string",
"name": "right",
"type": "string"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "left",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "right",
"type": "address[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "left",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "right",
"type": "address[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bool",
"name": "left",
"type": "bool"
},
{
"internalType": "bool",
"name": "right",
"type": "bool"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "address",
"name": "left",
"type": "address"
},
{
"internalType": "address",
"name": "right",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "left",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "right",
"type": "uint256[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bool[]",
"name": "left",
"type": "bool[]"
},
{
"internalType": "bool[]",
"name": "right",
"type": "bool[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "int256[]",
"name": "left",
"type": "int256[]"
},
{
"internalType": "int256[]",
"name": "right",
"type": "int256[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "left",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "right",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "left",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "right",
"type": "uint256[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "left",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "right",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "left",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "right",
"type": "bytes32"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "string[]",
"name": "left",
"type": "string[]"
},
{
"internalType": "string[]",
"name": "right",
"type": "string[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "left",
"type": "bytes32[]"
},
{
"internalType": "bytes32[]",
"name": "right",
"type": "bytes32[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "left",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "right",
"type": "bytes"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bool[]",
"name": "left",
"type": "bool[]"
},
{
"internalType": "bool[]",
"name": "right",
"type": "bool[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "left",
"type": "bytes[]"
},
{
"internalType": "bytes[]",
"name": "right",
"type": "bytes[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "string[]",
"name": "left",
"type": "string[]"
},
{
"internalType": "string[]",
"name": "right",
"type": "string[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "string",
"name": "left",
"type": "string"
},
{
"internalType": "string",
"name": "right",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "left",
"type": "bytes[]"
},
{
"internalType": "bytes[]",
"name": "right",
"type": "bytes[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "bool",
"name": "left",
"type": "bool"
},
{
"internalType": "bool",
"name": "right",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEq"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEqDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEqDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEqDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertEqDecimal"
},
{
"inputs": [
{
"internalType": "bool",
"name": "condition",
"type": "bool"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertFalse"
},
{
"inputs": [
{
"internalType": "bool",
"name": "condition",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertFalse"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGe"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGe"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGe"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGe"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGeDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGeDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGeDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGeDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGt"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGt"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGt"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGt"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGtDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGtDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGtDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertGtDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLe"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLe"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLe"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLe"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLeDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLeDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLeDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLeDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLt"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLt"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLt"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLt"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLtDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLtDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLtDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertLtDecimal"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "left",
"type": "bytes32[]"
},
{
"internalType": "bytes32[]",
"name": "right",
"type": "bytes32[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "int256[]",
"name": "left",
"type": "int256[]"
},
{
"internalType": "int256[]",
"name": "right",
"type": "int256[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bool",
"name": "left",
"type": "bool"
},
{
"internalType": "bool",
"name": "right",
"type": "bool"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "left",
"type": "bytes[]"
},
{
"internalType": "bytes[]",
"name": "right",
"type": "bytes[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bool",
"name": "left",
"type": "bool"
},
{
"internalType": "bool",
"name": "right",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bool[]",
"name": "left",
"type": "bool[]"
},
{
"internalType": "bool[]",
"name": "right",
"type": "bool[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "left",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "right",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "left",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "right",
"type": "address[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "left",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "right",
"type": "uint256[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bool[]",
"name": "left",
"type": "bool[]"
},
{
"internalType": "bool[]",
"name": "right",
"type": "bool[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "string",
"name": "left",
"type": "string"
},
{
"internalType": "string",
"name": "right",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "left",
"type": "address[]"
},
{
"internalType": "address[]",
"name": "right",
"type": "address[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "string",
"name": "left",
"type": "string"
},
{
"internalType": "string",
"name": "right",
"type": "string"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "address",
"name": "left",
"type": "address"
},
{
"internalType": "address",
"name": "right",
"type": "address"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "left",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "right",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "left",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "right",
"type": "bytes"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "left",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "right",
"type": "uint256[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "address",
"name": "left",
"type": "address"
},
{
"internalType": "address",
"name": "right",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "left",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "right",
"type": "bytes32"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "string[]",
"name": "left",
"type": "string[]"
},
{
"internalType": "string[]",
"name": "right",
"type": "string[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "left",
"type": "bytes32[]"
},
{
"internalType": "bytes32[]",
"name": "right",
"type": "bytes32[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "string[]",
"name": "left",
"type": "string[]"
},
{
"internalType": "string[]",
"name": "right",
"type": "string[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "int256[]",
"name": "left",
"type": "int256[]"
},
{
"internalType": "int256[]",
"name": "right",
"type": "int256[]"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "bytes[]",
"name": "left",
"type": "bytes[]"
},
{
"internalType": "bytes[]",
"name": "right",
"type": "bytes[]"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEq"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEqDecimal"
},
{
"inputs": [
{
"internalType": "int256",
"name": "left",
"type": "int256"
},
{
"internalType": "int256",
"name": "right",
"type": "int256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEqDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEqDecimal"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "left",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "right",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "decimals",
"type": "uint256"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertNotEqDecimal"
},
{
"inputs": [
{
"internalType": "bool",
"name": "condition",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertTrue"
},
{
"inputs": [
{
"internalType": "bool",
"name": "condition",
"type": "bool"
},
{
"internalType": "string",
"name": "error",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assertTrue"
},
{
"inputs": [
{
"internalType": "bool",
"name": "condition",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function",
"name": "assume"
},
{
"inputs": [],
"stateMutability": "pure",
"type": "function",
"name": "assumeNoRevert"
},
{
"inputs": [
{
"internalType": "struct VmSafe.PotentialRevert[]",
"name": "potentialReverts",
"type": "tuple[]",
"components": [
{
"internalType": "address",
"name": "reverter",
"type": "address"
},
{
"internalType": "bool",
"name": "partialMatch",
"type": "bool"
},
{
"internalType": "bytes",
"name": "revertData",
"type": "bytes"
}
]
}
],
"stateMutability": "pure",
"type": "function",
"name": "assumeNoRevert"
},
{
"inputs": [
{
"internalType": "struct VmSafe.PotentialRevert",
"name": "potentialRevert",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "reverter",
"type": "address"
},
{
"internalType": "bool",
"name": "partialMatch",
"type": "bool"
},
{
"internalType": "bytes",
"name": "revertData",
"type": "bytes"
}
]
}
],
"stateMutability": "pure",
"type": "function",
"name": "assumeNoRevert"
},
{
"inputs": [
{
"internalType": "struct VmSafe.SignedDelegation",
"name": "signedDelegation",
"type": "tuple",
"components": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "attachDelegation"
},
{
"inputs": [
{
"internalType": "string",
"name": "char",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "breakpoint"
},
{
"inputs": [
{
"internalType": "string",
"name": "char",
"type": "string"
},
{
"internalType": "bool",
"name": "value",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function",
"name": "breakpoint"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "broadcast"
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "broadcast"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "broadcast"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "broadcastRawTransaction"
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "closeFile"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "initCodeHash",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "computeCreate2Address",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "initCodeHash",
"type": "bytes32"
},
{
"internalType": "address",
"name": "deployer",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function",
"name": "computeCreate2Address",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "deployer",
"type": "address"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "computeCreateAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "subject",
"type": "string"
},
{
"internalType": "string",
"name": "search",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "contains",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "from",
"type": "string"
},
{
"internalType": "string",
"name": "to",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "copyFile",
"outputs": [
{
"internalType": "uint64",
"name": "copied",
"type": "uint64"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "copyStorage"
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "bool",
"name": "recursive",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "createDir"
},
{
"inputs": [
{
"internalType": "string",
"name": "walletLabel",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "createWallet",
"outputs": [
{
"internalType": "struct VmSafe.Wallet",
"name": "wallet",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "publicKeyX",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "publicKeyY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "createWallet",
"outputs": [
{
"internalType": "struct VmSafe.Wallet",
"name": "wallet",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "publicKeyX",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "publicKeyY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
},
{
"internalType": "string",
"name": "walletLabel",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "createWallet",
"outputs": [
{
"internalType": "struct VmSafe.Wallet",
"name": "wallet",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "publicKeyX",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "publicKeyY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
},
{
"internalType": "bytes",
"name": "constructorArgs",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
},
{
"internalType": "bytes",
"name": "constructorArgs",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
},
{
"internalType": "bytes",
"name": "constructorArgs",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
},
{
"internalType": "bytes",
"name": "constructorArgs",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "deployCode",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "mnemonic",
"type": "string"
},
{
"internalType": "string",
"name": "derivationPath",
"type": "string"
},
{
"internalType": "uint32",
"name": "index",
"type": "uint32"
},
{
"internalType": "string",
"name": "language",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "deriveKey",
"outputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "mnemonic",
"type": "string"
},
{
"internalType": "uint32",
"name": "index",
"type": "uint32"
},
{
"internalType": "string",
"name": "language",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "deriveKey",
"outputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "mnemonic",
"type": "string"
},
{
"internalType": "uint32",
"name": "index",
"type": "uint32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "deriveKey",
"outputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "mnemonic",
"type": "string"
},
{
"internalType": "string",
"name": "derivationPath",
"type": "string"
},
{
"internalType": "uint32",
"name": "index",
"type": "uint32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "deriveKey",
"outputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "ensNamehash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envAddress",
"outputs": [
{
"internalType": "address",
"name": "value",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envAddress",
"outputs": [
{
"internalType": "address[]",
"name": "value",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envBool",
"outputs": [
{
"internalType": "bool",
"name": "value",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envBool",
"outputs": [
{
"internalType": "bool[]",
"name": "value",
"type": "bool[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envBytes",
"outputs": [
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envBytes",
"outputs": [
{
"internalType": "bytes[]",
"name": "value",
"type": "bytes[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envBytes32",
"outputs": [
{
"internalType": "bytes32[]",
"name": "value",
"type": "bytes32[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envBytes32",
"outputs": [
{
"internalType": "bytes32",
"name": "value",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envExists",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envInt",
"outputs": [
{
"internalType": "int256[]",
"name": "value",
"type": "int256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envInt",
"outputs": [
{
"internalType": "int256",
"name": "value",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
},
{
"internalType": "bytes32[]",
"name": "defaultValue",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "bytes32[]",
"name": "value",
"type": "bytes32[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
},
{
"internalType": "int256[]",
"name": "defaultValue",
"type": "int256[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "int256[]",
"name": "value",
"type": "int256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "bool",
"name": "defaultValue",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "bool",
"name": "value",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "address",
"name": "defaultValue",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "address",
"name": "value",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "uint256",
"name": "defaultValue",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
},
{
"internalType": "bytes[]",
"name": "defaultValue",
"type": "bytes[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "bytes[]",
"name": "value",
"type": "bytes[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
},
{
"internalType": "uint256[]",
"name": "defaultValue",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "uint256[]",
"name": "value",
"type": "uint256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
},
{
"internalType": "string[]",
"name": "defaultValue",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "string[]",
"name": "value",
"type": "string[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "bytes",
"name": "defaultValue",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "bytes32",
"name": "defaultValue",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "bytes32",
"name": "value",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "int256",
"name": "defaultValue",
"type": "int256"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "int256",
"name": "value",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
},
{
"internalType": "address[]",
"name": "defaultValue",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "address[]",
"name": "value",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "defaultValue",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "string",
"name": "value",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
},
{
"internalType": "bool[]",
"name": "defaultValue",
"type": "bool[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "envOr",
"outputs": [
{
"internalType": "bool[]",
"name": "value",
"type": "bool[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envString",
"outputs": [
{
"internalType": "string[]",
"name": "value",
"type": "string[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envString",
"outputs": [
{
"internalType": "string",
"name": "value",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envUint",
"outputs": [
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "delim",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "envUint",
"outputs": [
{
"internalType": "uint256[]",
"name": "value",
"type": "uint256[]"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "fromBlock",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "toBlock",
"type": "uint256"
},
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes32[]",
"name": "topics",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "eth_getLogs",
"outputs": [
{
"internalType": "struct VmSafe.EthGetLogs[]",
"name": "logs",
"type": "tuple[]",
"components": [
{
"internalType": "address",
"name": "emitter",
"type": "address"
},
{
"internalType": "bytes32[]",
"name": "topics",
"type": "bytes32[]"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "blockHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "transactionHash",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "transactionIndex",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "logIndex",
"type": "uint256"
},
{
"internalType": "bool",
"name": "removed",
"type": "bool"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "exists",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string[]",
"name": "commandInput",
"type": "string[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "ffi",
"outputs": [
{
"internalType": "bytes",
"name": "result",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "version",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "foundryVersionAtLeast",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "version",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "foundryVersionCmp",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "fsMetadata",
"outputs": [
{
"internalType": "struct VmSafe.FsMetadata",
"name": "metadata",
"type": "tuple",
"components": [
{
"internalType": "bool",
"name": "isDir",
"type": "bool"
},
{
"internalType": "bool",
"name": "isSymlink",
"type": "bool"
},
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
},
{
"internalType": "bool",
"name": "readOnly",
"type": "bool"
},
{
"internalType": "uint256",
"name": "modified",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "accessed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "created",
"type": "uint256"
}
]
}
]
},
{
"inputs": [
{
"internalType": "bytes",
"name": "code",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function",
"name": "getArtifactPathByCode",
"outputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "bytes",
"name": "deployedCode",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function",
"name": "getArtifactPathByDeployedCode",
"outputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getBlobBaseFee",
"outputs": [
{
"internalType": "uint256",
"name": "blobBaseFee",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getBlockNumber",
"outputs": [
{
"internalType": "uint256",
"name": "height",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getBlockTimestamp",
"outputs": [
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "contractName",
"type": "string"
},
{
"internalType": "uint64",
"name": "chainId",
"type": "uint64"
},
{
"internalType": "enum VmSafe.BroadcastTxType",
"name": "txType",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function",
"name": "getBroadcast",
"outputs": [
{
"internalType": "struct VmSafe.BroadcastTxSummary",
"name": "",
"type": "tuple",
"components": [
{
"internalType": "bytes32",
"name": "txHash",
"type": "bytes32"
},
{
"internalType": "enum VmSafe.BroadcastTxType",
"name": "txType",
"type": "uint8"
},
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "contractName",
"type": "string"
},
{
"internalType": "uint64",
"name": "chainId",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function",
"name": "getBroadcasts",
"outputs": [
{
"internalType": "struct VmSafe.BroadcastTxSummary[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "txHash",
"type": "bytes32"
},
{
"internalType": "enum VmSafe.BroadcastTxType",
"name": "txType",
"type": "uint8"
},
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "contractName",
"type": "string"
},
{
"internalType": "uint64",
"name": "chainId",
"type": "uint64"
},
{
"internalType": "enum VmSafe.BroadcastTxType",
"name": "txType",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function",
"name": "getBroadcasts",
"outputs": [
{
"internalType": "struct VmSafe.BroadcastTxSummary[]",
"name": "",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32",
"name": "txHash",
"type": "bytes32"
},
{
"internalType": "enum VmSafe.BroadcastTxType",
"name": "txType",
"type": "uint8"
},
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "bool",
"name": "success",
"type": "bool"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "getCode",
"outputs": [
{
"internalType": "bytes",
"name": "creationBytecode",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "artifactPath",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "getDeployedCode",
"outputs": [
{
"internalType": "bytes",
"name": "runtimeBytecode",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "contractName",
"type": "string"
},
{
"internalType": "uint64",
"name": "chainId",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function",
"name": "getDeployment",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "contractName",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "getDeployment",
"outputs": [
{
"internalType": "address",
"name": "deployedAddress",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "contractName",
"type": "string"
},
{
"internalType": "uint64",
"name": "chainId",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function",
"name": "getDeployments",
"outputs": [
{
"internalType": "address[]",
"name": "deployedAddresses",
"type": "address[]"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getFoundryVersion",
"outputs": [
{
"internalType": "string",
"name": "version",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getLabel",
"outputs": [
{
"internalType": "string",
"name": "currentLabel",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes32",
"name": "elementSlot",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "getMappingKeyAndParentOf",
"outputs": [
{
"internalType": "bool",
"name": "found",
"type": "bool"
},
{
"internalType": "bytes32",
"name": "key",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "parent",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes32",
"name": "mappingSlot",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "getMappingLength",
"outputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes32",
"name": "mappingSlot",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "idx",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "getMappingSlotAt",
"outputs": [
{
"internalType": "bytes32",
"name": "value",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "getNonce",
"outputs": [
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
}
]
},
{
"inputs": [
{
"internalType": "struct VmSafe.Wallet",
"name": "wallet",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "publicKeyX",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "publicKeyY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "getNonce",
"outputs": [
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "getRecordedLogs",
"outputs": [
{
"internalType": "struct VmSafe.Log[]",
"name": "logs",
"type": "tuple[]",
"components": [
{
"internalType": "bytes32[]",
"name": "topics",
"type": "bytes32[]"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "address",
"name": "emitter",
"type": "address"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getStateDiff",
"outputs": [
{
"internalType": "string",
"name": "diff",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "getStateDiffJson",
"outputs": [
{
"internalType": "string",
"name": "diff",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "getWallets",
"outputs": [
{
"internalType": "address[]",
"name": "wallets",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "indexOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "enum VmSafe.ForgeContext",
"name": "context",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function",
"name": "isContext",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "isDir",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "isFile",
"outputs": [
{
"internalType": "bool",
"name": "result",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "keyExists",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "keyExistsJson",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "keyExistsToml",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "string",
"name": "newLabel",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "label"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "lastCallGas",
"outputs": [
{
"internalType": "struct VmSafe.Gas",
"name": "gas",
"type": "tuple",
"components": [
{
"internalType": "uint64",
"name": "gasLimit",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "gasTotalUsed",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "gasMemoryUsed",
"type": "uint64"
},
{
"internalType": "int64",
"name": "gasRefunded",
"type": "int64"
},
{
"internalType": "uint64",
"name": "gasRemaining",
"type": "uint64"
}
]
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bytes32",
"name": "slot",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function",
"name": "load",
"outputs": [
{
"internalType": "bytes32",
"name": "data",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseAddress",
"outputs": [
{
"internalType": "address",
"name": "parsedValue",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseBool",
"outputs": [
{
"internalType": "bool",
"name": "parsedValue",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseBytes",
"outputs": [
{
"internalType": "bytes",
"name": "parsedValue",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseBytes32",
"outputs": [
{
"internalType": "bytes32",
"name": "parsedValue",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseInt",
"outputs": [
{
"internalType": "int256",
"name": "parsedValue",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJson",
"outputs": [
{
"internalType": "bytes",
"name": "abiEncodedData",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJson",
"outputs": [
{
"internalType": "bytes",
"name": "abiEncodedData",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonAddressArray",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonBoolArray",
"outputs": [
{
"internalType": "bool[]",
"name": "",
"type": "bool[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonBytes32",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonBytes32Array",
"outputs": [
{
"internalType": "bytes32[]",
"name": "",
"type": "bytes32[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonBytesArray",
"outputs": [
{
"internalType": "bytes[]",
"name": "",
"type": "bytes[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonInt",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonIntArray",
"outputs": [
{
"internalType": "int256[]",
"name": "",
"type": "int256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonKeys",
"outputs": [
{
"internalType": "string[]",
"name": "keys",
"type": "string[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonString",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonStringArray",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonType",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
},
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonType",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
},
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonTypeArray",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseJsonUintArray",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseToml",
"outputs": [
{
"internalType": "bytes",
"name": "abiEncodedData",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseToml",
"outputs": [
{
"internalType": "bytes",
"name": "abiEncodedData",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlAddressArray",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlBoolArray",
"outputs": [
{
"internalType": "bool[]",
"name": "",
"type": "bool[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlBytes32",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlBytes32Array",
"outputs": [
{
"internalType": "bytes32[]",
"name": "",
"type": "bytes32[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlBytesArray",
"outputs": [
{
"internalType": "bytes[]",
"name": "",
"type": "bytes[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlInt",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlIntArray",
"outputs": [
{
"internalType": "int256[]",
"name": "",
"type": "int256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlKeys",
"outputs": [
{
"internalType": "string[]",
"name": "keys",
"type": "string[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlString",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlStringArray",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlType",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
},
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlType",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
},
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlTypeArray",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "toml",
"type": "string"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseTomlUintArray",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "parseUint",
"outputs": [
{
"internalType": "uint256",
"name": "parsedValue",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "pauseGasMetering"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "pauseTracing"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "projectRoot",
"outputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "promptText",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "prompt",
"outputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "promptText",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "promptAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "promptText",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "promptSecret",
"outputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "promptText",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "promptSecretUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "promptText",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "promptUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "publicKeyP256",
"outputs": [
{
"internalType": "uint256",
"name": "publicKeyX",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "publicKeyY",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "randomAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "randomBool",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "len",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "randomBytes",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "randomBytes4",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "randomBytes8",
"outputs": [
{
"internalType": "bytes8",
"name": "",
"type": "bytes8"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "randomInt",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "bits",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "randomInt",
"outputs": [
{
"internalType": "int256",
"name": "",
"type": "int256"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "randomUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "bits",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "randomUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "min",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "max",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "randomUint",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "uint64",
"name": "maxDepth",
"type": "uint64"
}
],
"stateMutability": "view",
"type": "function",
"name": "readDir",
"outputs": [
{
"internalType": "struct VmSafe.DirEntry[]",
"name": "entries",
"type": "tuple[]",
"components": [
{
"internalType": "string",
"name": "errorMessage",
"type": "string"
},
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "uint64",
"name": "depth",
"type": "uint64"
},
{
"internalType": "bool",
"name": "isDir",
"type": "bool"
},
{
"internalType": "bool",
"name": "isSymlink",
"type": "bool"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "uint64",
"name": "maxDepth",
"type": "uint64"
},
{
"internalType": "bool",
"name": "followLinks",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function",
"name": "readDir",
"outputs": [
{
"internalType": "struct VmSafe.DirEntry[]",
"name": "entries",
"type": "tuple[]",
"components": [
{
"internalType": "string",
"name": "errorMessage",
"type": "string"
},
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "uint64",
"name": "depth",
"type": "uint64"
},
{
"internalType": "bool",
"name": "isDir",
"type": "bool"
},
{
"internalType": "bool",
"name": "isSymlink",
"type": "bool"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "readDir",
"outputs": [
{
"internalType": "struct VmSafe.DirEntry[]",
"name": "entries",
"type": "tuple[]",
"components": [
{
"internalType": "string",
"name": "errorMessage",
"type": "string"
},
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "uint64",
"name": "depth",
"type": "uint64"
},
{
"internalType": "bool",
"name": "isDir",
"type": "bool"
},
{
"internalType": "bool",
"name": "isSymlink",
"type": "bool"
}
]
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "readFile",
"outputs": [
{
"internalType": "string",
"name": "data",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "readFileBinary",
"outputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "readLine",
"outputs": [
{
"internalType": "string",
"name": "line",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "linkPath",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "readLink",
"outputs": [
{
"internalType": "string",
"name": "targetPath",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "record"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "recordLogs"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "rememberKey",
"outputs": [
{
"internalType": "address",
"name": "keyAddr",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "mnemonic",
"type": "string"
},
{
"internalType": "string",
"name": "derivationPath",
"type": "string"
},
{
"internalType": "uint32",
"name": "count",
"type": "uint32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "rememberKeys",
"outputs": [
{
"internalType": "address[]",
"name": "keyAddrs",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "mnemonic",
"type": "string"
},
{
"internalType": "string",
"name": "derivationPath",
"type": "string"
},
{
"internalType": "string",
"name": "language",
"type": "string"
},
{
"internalType": "uint32",
"name": "count",
"type": "uint32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "rememberKeys",
"outputs": [
{
"internalType": "address[]",
"name": "keyAddrs",
"type": "address[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "bool",
"name": "recursive",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "removeDir"
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "removeFile"
},
{
"inputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
},
{
"internalType": "string",
"name": "from",
"type": "string"
},
{
"internalType": "string",
"name": "to",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "replace",
"outputs": [
{
"internalType": "string",
"name": "output",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "resetGasMetering"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "resumeGasMetering"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "resumeTracing"
},
{
"inputs": [
{
"internalType": "string",
"name": "urlOrAlias",
"type": "string"
},
{
"internalType": "string",
"name": "method",
"type": "string"
},
{
"internalType": "string",
"name": "params",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "rpc",
"outputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "method",
"type": "string"
},
{
"internalType": "string",
"name": "params",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "rpc",
"outputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "rpcAlias",
"type": "string"
}
],
"stateMutability": "view",
"type": "function",
"name": "rpcUrl",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "rpcUrlStructs",
"outputs": [
{
"internalType": "struct VmSafe.Rpc[]",
"name": "urls",
"type": "tuple[]",
"components": [
{
"internalType": "string",
"name": "key",
"type": "string"
},
{
"internalType": "string",
"name": "url",
"type": "string"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "rpcUrls",
"outputs": [
{
"internalType": "string[2][]",
"name": "urls",
"type": "string[2][]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "address[]",
"name": "values",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeAddress",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "address",
"name": "value",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeAddress",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "bool[]",
"name": "values",
"type": "bool[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeBool",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "bool",
"name": "value",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeBool",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "bytes[]",
"name": "values",
"type": "bytes[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeBytes",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeBytes",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "bytes32[]",
"name": "values",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeBytes32",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "bytes32",
"name": "value",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeBytes32",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "int256",
"name": "value",
"type": "int256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeInt",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "int256[]",
"name": "values",
"type": "int256[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeInt",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "value",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeJson",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
},
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function",
"name": "serializeJsonType",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "string",
"name": "typeDescription",
"type": "string"
},
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeJsonType",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "string[]",
"name": "values",
"type": "string[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeString",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "string",
"name": "value",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeString",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeUint",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeUint",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "objectKey",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "serializeUintToHex",
"outputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bool",
"name": "overwrite",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setArbitraryStorage"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setArbitraryStorage"
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "value",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setEnv"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "array",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "shuffle",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "sign",
"outputs": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "sign",
"outputs": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "struct VmSafe.Wallet",
"name": "wallet",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "publicKeyX",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "publicKeyY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
},
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "sign",
"outputs": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "sign",
"outputs": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "signAndAttachDelegation",
"outputs": [
{
"internalType": "struct VmSafe.SignedDelegation",
"name": "signedDelegation",
"type": "tuple",
"components": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
]
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
},
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "signAndAttachDelegation",
"outputs": [
{
"internalType": "struct VmSafe.SignedDelegation",
"name": "signedDelegation",
"type": "tuple",
"components": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
]
}
]
},
{
"inputs": [
{
"internalType": "struct VmSafe.Wallet",
"name": "wallet",
"type": "tuple",
"components": [
{
"internalType": "address",
"name": "addr",
"type": "address"
},
{
"internalType": "uint256",
"name": "publicKeyX",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "publicKeyY",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
]
},
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "signCompact",
"outputs": [
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "vs",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "signCompact",
"outputs": [
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "vs",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "signCompact",
"outputs": [
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "vs",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "signCompact",
"outputs": [
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "vs",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "signDelegation",
"outputs": [
{
"internalType": "struct VmSafe.SignedDelegation",
"name": "signedDelegation",
"type": "tuple",
"components": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
]
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "implementation",
"type": "address"
},
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
},
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "signDelegation",
"outputs": [
{
"internalType": "struct VmSafe.SignedDelegation",
"name": "signedDelegation",
"type": "tuple",
"components": [
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "nonce",
"type": "uint64"
},
{
"internalType": "address",
"name": "implementation",
"type": "address"
}
]
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "digest",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "signP256",
"outputs": [
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "sleep"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "array",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "sort",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
},
{
"internalType": "string",
"name": "delimiter",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "split",
"outputs": [
{
"internalType": "string[]",
"name": "outputs",
"type": "string[]"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "startBroadcast"
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "startBroadcast"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "privateKey",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "startBroadcast"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "startDebugTraceRecording"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "startMappingRecording"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "startStateDiffRecording"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "stopAndReturnDebugTraceRecording",
"outputs": [
{
"internalType": "struct VmSafe.DebugStep[]",
"name": "step",
"type": "tuple[]",
"components": [
{
"internalType": "uint256[]",
"name": "stack",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "memoryInput",
"type": "bytes"
},
{
"internalType": "uint8",
"name": "opcode",
"type": "uint8"
},
{
"internalType": "uint64",
"name": "depth",
"type": "uint64"
},
{
"internalType": "bool",
"name": "isOutOfGas",
"type": "bool"
},
{
"internalType": "address",
"name": "contractAddr",
"type": "address"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "stopAndReturnStateDiff",
"outputs": [
{
"internalType": "struct VmSafe.AccountAccess[]",
"name": "accountAccesses",
"type": "tuple[]",
"components": [
{
"internalType": "struct VmSafe.ChainInfo",
"name": "chainInfo",
"type": "tuple",
"components": [
{
"internalType": "uint256",
"name": "forkId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
]
},
{
"internalType": "enum VmSafe.AccountAccessKind",
"name": "kind",
"type": "uint8"
},
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "accessor",
"type": "address"
},
{
"internalType": "bool",
"name": "initialized",
"type": "bool"
},
{
"internalType": "uint256",
"name": "oldBalance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "newBalance",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "deployedCode",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "bool",
"name": "reverted",
"type": "bool"
},
{
"internalType": "struct VmSafe.StorageAccess[]",
"name": "storageAccesses",
"type": "tuple[]",
"components": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "slot",
"type": "bytes32"
},
{
"internalType": "bool",
"name": "isWrite",
"type": "bool"
},
{
"internalType": "bytes32",
"name": "previousValue",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "newValue",
"type": "bytes32"
},
{
"internalType": "bool",
"name": "reverted",
"type": "bool"
}
]
},
{
"internalType": "uint64",
"name": "depth",
"type": "uint64"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "stopBroadcast"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "stopMappingRecording"
},
{
"inputs": [
{
"internalType": "string",
"name": "data",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toBase64",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toBase64",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "data",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toBase64URL",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toBase64URL",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toLowercase",
"outputs": [
{
"internalType": "string",
"name": "output",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "value",
"type": "address"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toString",
"outputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toString",
"outputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "bytes",
"name": "value",
"type": "bytes"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toString",
"outputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "bool",
"name": "value",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toString",
"outputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "int256",
"name": "value",
"type": "int256"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toString",
"outputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "value",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toString",
"outputs": [
{
"internalType": "string",
"name": "stringifiedValue",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "toUppercase",
"outputs": [
{
"internalType": "string",
"name": "output",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "input",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function",
"name": "trim",
"outputs": [
{
"internalType": "string",
"name": "output",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "string[]",
"name": "commandInput",
"type": "string[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "tryFfi",
"outputs": [
{
"internalType": "struct VmSafe.FfiResult",
"name": "result",
"type": "tuple",
"components": [
{
"internalType": "int32",
"name": "exitCode",
"type": "int32"
},
{
"internalType": "bytes",
"name": "stdout",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "stderr",
"type": "bytes"
}
]
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "unixTime",
"outputs": [
{
"internalType": "uint256",
"name": "milliseconds",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "string",
"name": "data",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "writeFile"
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "writeFileBinary"
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "writeJson"
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "writeJson"
},
{
"inputs": [
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "string",
"name": "data",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "writeLine"
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "path",
"type": "string"
},
{
"internalType": "string",
"name": "valueKey",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "writeToml"
},
{
"inputs": [
{
"internalType": "string",
"name": "json",
"type": "string"
},
{
"internalType": "string",
"name": "path",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "writeToml"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"accesses(address)": {
"notice": "Gets all accessed reads and write slot from a `vm.record` session, for a given address."
},
"addr(uint256)": {
"notice": "Gets the address for a given private key."
},
"assertApproxEqAbs(int256,int256,uint256)": {
"notice": "Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."
},
"assertApproxEqAbs(int256,int256,uint256,string)": {
"notice": "Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."
},
"assertApproxEqAbs(uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."
},
"assertApproxEqAbs(uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."
},
"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": {
"notice": "Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."
},
"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": {
"notice": "Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."
},
"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertApproxEqRel(int256,int256,uint256)": {
"notice": "Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"
},
"assertApproxEqRel(int256,int256,uint256,string)": {
"notice": "Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."
},
"assertApproxEqRel(uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"
},
"assertApproxEqRel(uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."
},
"assertApproxEqRelDecimal(int256,int256,uint256,uint256)": {
"notice": "Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."
},
"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": {
"notice": "Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."
},
"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertEq(address,address)": {
"notice": "Asserts that two `address` values are equal."
},
"assertEq(address,address,string)": {
"notice": "Asserts that two `address` values are equal and includes error message into revert string on failure."
},
"assertEq(address[],address[])": {
"notice": "Asserts that two arrays of `address` values are equal."
},
"assertEq(address[],address[],string)": {
"notice": "Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."
},
"assertEq(bool,bool)": {
"notice": "Asserts that two `bool` values are equal."
},
"assertEq(bool,bool,string)": {
"notice": "Asserts that two `bool` values are equal and includes error message into revert string on failure."
},
"assertEq(bool[],bool[])": {
"notice": "Asserts that two arrays of `bool` values are equal."
},
"assertEq(bool[],bool[],string)": {
"notice": "Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."
},
"assertEq(bytes,bytes)": {
"notice": "Asserts that two `bytes` values are equal."
},
"assertEq(bytes,bytes,string)": {
"notice": "Asserts that two `bytes` values are equal and includes error message into revert string on failure."
},
"assertEq(bytes32,bytes32)": {
"notice": "Asserts that two `bytes32` values are equal."
},
"assertEq(bytes32,bytes32,string)": {
"notice": "Asserts that two `bytes32` values are equal and includes error message into revert string on failure."
},
"assertEq(bytes32[],bytes32[])": {
"notice": "Asserts that two arrays of `bytes32` values are equal."
},
"assertEq(bytes32[],bytes32[],string)": {
"notice": "Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."
},
"assertEq(bytes[],bytes[])": {
"notice": "Asserts that two arrays of `bytes` values are equal."
},
"assertEq(bytes[],bytes[],string)": {
"notice": "Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."
},
"assertEq(int256,int256)": {
"notice": "Asserts that two `int256` values are equal."
},
"assertEq(int256,int256,string)": {
"notice": "Asserts that two `int256` values are equal and includes error message into revert string on failure."
},
"assertEq(int256[],int256[])": {
"notice": "Asserts that two arrays of `int256` values are equal."
},
"assertEq(int256[],int256[],string)": {
"notice": "Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."
},
"assertEq(string,string)": {
"notice": "Asserts that two `string` values are equal."
},
"assertEq(string,string,string)": {
"notice": "Asserts that two `string` values are equal and includes error message into revert string on failure."
},
"assertEq(string[],string[])": {
"notice": "Asserts that two arrays of `string` values are equal."
},
"assertEq(string[],string[],string)": {
"notice": "Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."
},
"assertEq(uint256,uint256)": {
"notice": "Asserts that two `uint256` values are equal."
},
"assertEq(uint256,uint256,string)": {
"notice": "Asserts that two `uint256` values are equal and includes error message into revert string on failure."
},
"assertEq(uint256[],uint256[])": {
"notice": "Asserts that two arrays of `uint256 values are equal."
},
"assertEq(uint256[],uint256[],string)": {
"notice": "Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."
},
"assertEqDecimal(int256,int256,uint256)": {
"notice": "Asserts that two `int256` values are equal, formatting them with decimals in failure message."
},
"assertEqDecimal(int256,int256,uint256,string)": {
"notice": "Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."
},
"assertEqDecimal(uint256,uint256,uint256)": {
"notice": "Asserts that two `uint256` values are equal, formatting them with decimals in failure message."
},
"assertEqDecimal(uint256,uint256,uint256,string)": {
"notice": "Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."
},
"assertFalse(bool)": {
"notice": "Asserts that the given condition is false."
},
"assertFalse(bool,string)": {
"notice": "Asserts that the given condition is false and includes error message into revert string on failure."
},
"assertGe(int256,int256)": {
"notice": "Compares two `int256` values. Expects first value to be greater than or equal to second."
},
"assertGe(int256,int256,string)": {
"notice": "Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."
},
"assertGe(uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than or equal to second."
},
"assertGe(uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."
},
"assertGeDecimal(int256,int256,uint256)": {
"notice": "Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."
},
"assertGeDecimal(int256,int256,uint256,string)": {
"notice": "Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertGeDecimal(uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."
},
"assertGeDecimal(uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertGt(int256,int256)": {
"notice": "Compares two `int256` values. Expects first value to be greater than second."
},
"assertGt(int256,int256,string)": {
"notice": "Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure."
},
"assertGt(uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than second."
},
"assertGt(uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure."
},
"assertGtDecimal(int256,int256,uint256)": {
"notice": "Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message."
},
"assertGtDecimal(int256,int256,uint256,string)": {
"notice": "Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertGtDecimal(uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message."
},
"assertGtDecimal(uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertLe(int256,int256)": {
"notice": "Compares two `int256` values. Expects first value to be less than or equal to second."
},
"assertLe(int256,int256,string)": {
"notice": "Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."
},
"assertLe(uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be less than or equal to second."
},
"assertLe(uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."
},
"assertLeDecimal(int256,int256,uint256)": {
"notice": "Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."
},
"assertLeDecimal(int256,int256,uint256,string)": {
"notice": "Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertLeDecimal(uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."
},
"assertLeDecimal(uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertLt(int256,int256)": {
"notice": "Compares two `int256` values. Expects first value to be less than second."
},
"assertLt(int256,int256,string)": {
"notice": "Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure."
},
"assertLt(uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be less than second."
},
"assertLt(uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure."
},
"assertLtDecimal(int256,int256,uint256)": {
"notice": "Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message."
},
"assertLtDecimal(int256,int256,uint256,string)": {
"notice": "Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertLtDecimal(uint256,uint256,uint256)": {
"notice": "Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message."
},
"assertLtDecimal(uint256,uint256,uint256,string)": {
"notice": "Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."
},
"assertNotEq(address,address)": {
"notice": "Asserts that two `address` values are not equal."
},
"assertNotEq(address,address,string)": {
"notice": "Asserts that two `address` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(address[],address[])": {
"notice": "Asserts that two arrays of `address` values are not equal."
},
"assertNotEq(address[],address[],string)": {
"notice": "Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(bool,bool)": {
"notice": "Asserts that two `bool` values are not equal."
},
"assertNotEq(bool,bool,string)": {
"notice": "Asserts that two `bool` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(bool[],bool[])": {
"notice": "Asserts that two arrays of `bool` values are not equal."
},
"assertNotEq(bool[],bool[],string)": {
"notice": "Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(bytes,bytes)": {
"notice": "Asserts that two `bytes` values are not equal."
},
"assertNotEq(bytes,bytes,string)": {
"notice": "Asserts that two `bytes` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(bytes32,bytes32)": {
"notice": "Asserts that two `bytes32` values are not equal."
},
"assertNotEq(bytes32,bytes32,string)": {
"notice": "Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(bytes32[],bytes32[])": {
"notice": "Asserts that two arrays of `bytes32` values are not equal."
},
"assertNotEq(bytes32[],bytes32[],string)": {
"notice": "Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(bytes[],bytes[])": {
"notice": "Asserts that two arrays of `bytes` values are not equal."
},
"assertNotEq(bytes[],bytes[],string)": {
"notice": "Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(int256,int256)": {
"notice": "Asserts that two `int256` values are not equal."
},
"assertNotEq(int256,int256,string)": {
"notice": "Asserts that two `int256` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(int256[],int256[])": {
"notice": "Asserts that two arrays of `int256` values are not equal."
},
"assertNotEq(int256[],int256[],string)": {
"notice": "Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(string,string)": {
"notice": "Asserts that two `string` values are not equal."
},
"assertNotEq(string,string,string)": {
"notice": "Asserts that two `string` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(string[],string[])": {
"notice": "Asserts that two arrays of `string` values are not equal."
},
"assertNotEq(string[],string[],string)": {
"notice": "Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(uint256,uint256)": {
"notice": "Asserts that two `uint256` values are not equal."
},
"assertNotEq(uint256,uint256,string)": {
"notice": "Asserts that two `uint256` values are not equal and includes error message into revert string on failure."
},
"assertNotEq(uint256[],uint256[])": {
"notice": "Asserts that two arrays of `uint256` values are not equal."
},
"assertNotEq(uint256[],uint256[],string)": {
"notice": "Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."
},
"assertNotEqDecimal(int256,int256,uint256)": {
"notice": "Asserts that two `int256` values are not equal, formatting them with decimals in failure message."
},
"assertNotEqDecimal(int256,int256,uint256,string)": {
"notice": "Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."
},
"assertNotEqDecimal(uint256,uint256,uint256)": {
"notice": "Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."
},
"assertNotEqDecimal(uint256,uint256,uint256,string)": {
"notice": "Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."
},
"assertTrue(bool)": {
"notice": "Asserts that the given condition is true."
},
"assertTrue(bool,string)": {
"notice": "Asserts that the given condition is true and includes error message into revert string on failure."
},
"assume(bool)": {
"notice": "If the condition is false, discard this run's fuzz inputs and generate new ones."
},
"assumeNoRevert((address,bool,bytes))": {
"notice": "Discard this run's fuzz inputs and generate new ones if next call reverts with the potential revert parameters."
},
"assumeNoRevert((address,bool,bytes)[])": {
"notice": "Discard this run's fuzz inputs and generate new ones if next call reverts with the any of the potential revert parameters."
},
"assumeNoRevert()": {
"notice": "Discard this run's fuzz inputs and generate new ones if next call reverted."
},
"attachDelegation((uint8,bytes32,bytes32,uint64,address))": {
"notice": "Designate the next call as an EIP-7702 transaction"
},
"breakpoint(string)": {
"notice": "Writes a breakpoint to jump to in the debugger."
},
"breakpoint(string,bool)": {
"notice": "Writes a conditional breakpoint to jump to in the debugger."
},
"broadcast()": {
"notice": "Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."
},
"broadcast(address)": {
"notice": "Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain."
},
"broadcast(uint256)": {
"notice": "Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain."
},
"broadcastRawTransaction(bytes)": {
"notice": "Takes a signed transaction and broadcasts it to the network."
},
"closeFile(string)": {
"notice": "Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root."
},
"computeCreate2Address(bytes32,bytes32)": {
"notice": "Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."
},
"computeCreate2Address(bytes32,bytes32,address)": {
"notice": "Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."
},
"computeCreateAddress(address,uint256)": {
"notice": "Compute the address a contract will be deployed at for a given deployer address and nonce."
},
"contains(string,string)": {
"notice": "Returns true if `search` is found in `subject`, false otherwise."
},
"copyFile(string,string)": {
"notice": "Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root."
},
"copyStorage(address,address)": {
"notice": "Utility cheatcode to copy storage of `from` contract to another `to` contract."
},
"createDir(string,bool)": {
"notice": "Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root."
},
"createWallet(string)": {
"notice": "Derives a private key from the name, labels the account with that name, and returns the wallet."
},
"createWallet(uint256)": {
"notice": "Generates a wallet from the private key and returns the wallet."
},
"createWallet(uint256,string)": {
"notice": "Generates a wallet from the private key, labels the account with that name, and returns the wallet."
},
"deployCode(string)": {
"notice": "Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."
},
"deployCode(string,bytes)": {
"notice": "Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts abi-encoded constructor arguments."
},
"deployCode(string,bytes,bytes32)": {
"notice": "Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts abi-encoded constructor arguments."
},
"deployCode(string,bytes,uint256)": {
"notice": "Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`."
},
"deployCode(string,bytes,uint256,bytes32)": {
"notice": "Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts abi-encoded constructor arguments and `msg.value`."
},
"deployCode(string,bytes32)": {
"notice": "Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."
},
"deployCode(string,uint256)": {
"notice": "Deploys a contract from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts `msg.value`."
},
"deployCode(string,uint256,bytes32)": {
"notice": "Deploys a contract from an artifact file, using the CREATE2 salt. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional. Additionally accepts `msg.value`."
},
"deriveKey(string,string,uint32)": {
"notice": "Derive a private key from a provided mnenomic string (or mnenomic file path) at `{derivationPath}{index}`."
},
"deriveKey(string,string,uint32,string)": {
"notice": "Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at `{derivationPath}{index}`."
},
"deriveKey(string,uint32)": {
"notice": "Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path `m/44'/60'/0'/0/{index}`."
},
"deriveKey(string,uint32,string)": {
"notice": "Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`."
},
"ensNamehash(string)": {
"notice": "Returns ENS namehash for provided string."
},
"envAddress(string)": {
"notice": "Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed."
},
"envAddress(string,string)": {
"notice": "Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."
},
"envBool(string)": {
"notice": "Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed."
},
"envBool(string,string)": {
"notice": "Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."
},
"envBytes(string)": {
"notice": "Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed."
},
"envBytes(string,string)": {
"notice": "Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."
},
"envBytes32(string)": {
"notice": "Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed."
},
"envBytes32(string,string)": {
"notice": "Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."
},
"envExists(string)": {
"notice": "Gets the environment variable `name` and returns true if it exists, else returns false."
},
"envInt(string)": {
"notice": "Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed."
},
"envInt(string,string)": {
"notice": "Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."
},
"envOr(string,address)": {
"notice": "Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,bool)": {
"notice": "Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,bytes)": {
"notice": "Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,bytes32)": {
"notice": "Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,int256)": {
"notice": "Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string)": {
"notice": "Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string,address[])": {
"notice": "Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string,bool[])": {
"notice": "Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string,bytes32[])": {
"notice": "Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string,bytes[])": {
"notice": "Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string,int256[])": {
"notice": "Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string,string[])": {
"notice": "Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,string,uint256[])": {
"notice": "Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envOr(string,uint256)": {
"notice": "Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."
},
"envString(string)": {
"notice": "Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed."
},
"envString(string,string)": {
"notice": "Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."
},
"envUint(string)": {
"notice": "Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed."
},
"envUint(string,string)": {
"notice": "Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."
},
"eth_getLogs(uint256,uint256,address,bytes32[])": {
"notice": "Gets all the logs according to specified filter."
},
"exists(string)": {
"notice": "Returns true if the given path points to an existing entity, else returns false."
},
"ffi(string[])": {
"notice": "Performs a foreign function call via the terminal."
},
"foundryVersionAtLeast(string)": {
"notice": "Returns true if the current Foundry version is greater than or equal to the given version. The given version string must be in the format `major.minor.patch`. This is equivalent to `foundryVersionCmp(version) >= 0`."
},
"foundryVersionCmp(string)": {
"notice": "Compares the current Foundry version with the given version string. The given version string must be in the format `major.minor.patch`. Returns: -1 if current Foundry version is less than the given version 0 if current Foundry version equals the given version 1 if current Foundry version is greater than the given version This result can then be used with a comparison operator against `0`. For example, to check if the current Foundry version is greater than or equal to `1.0.0`: `if (foundryVersionCmp(\"1.0.0\") >= 0) { ... }`"
},
"fsMetadata(string)": {
"notice": "Given a path, query the file system to get information about a file, directory, etc."
},
"getArtifactPathByCode(bytes)": {
"notice": "Gets the artifact path from code (aka. creation code)."
},
"getArtifactPathByDeployedCode(bytes)": {
"notice": "Gets the artifact path from deployed code (aka. runtime code)."
},
"getBlobBaseFee()": {
"notice": "Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"
},
"getBlockNumber()": {
"notice": "Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"
},
"getBlockTimestamp()": {
"notice": "Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"
},
"getBroadcast(string,uint64,uint8)": {
"notice": "Returns the most recent broadcast for the given contract on `chainId` matching `txType`. For example: The most recent deployment can be fetched by passing `txType` as `CREATE` or `CREATE2`. The most recent call can be fetched by passing `txType` as `CALL`."
},
"getBroadcasts(string,uint64)": {
"notice": "Returns all broadcasts for the given contract on `chainId`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."
},
"getBroadcasts(string,uint64,uint8)": {
"notice": "Returns all broadcasts for the given contract on `chainId` with the specified `txType`. Sorted such that the most recent broadcast is the first element, and the oldest is the last. i.e descending order of BroadcastTxSummary.blockNumber."
},
"getCode(string)": {
"notice": "Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."
},
"getDeployedCode(string)": {
"notice": "Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."
},
"getDeployment(string)": {
"notice": "Returns the most recent deployment for the current `chainId`."
},
"getDeployment(string,uint64)": {
"notice": "Returns the most recent deployment for the given contract on `chainId`"
},
"getDeployments(string,uint64)": {
"notice": "Returns all deployments for the given contract on `chainId` Sorted in descending order of deployment time i.e descending order of BroadcastTxSummary.blockNumber. The most recent deployment is the first element, and the oldest is the last."
},
"getFoundryVersion()": {
"notice": "Returns the Foundry version. Format: <cargo_version>-<tag>+<git_sha_short>.<unix_build_timestamp>.<profile> Sample output: 0.3.0-nightly+3cb96bde9b.1737036656.debug Note: Build timestamps may vary slightly across platforms due to separate CI jobs. For reliable version comparisons, use UNIX format (e.g., >= 1700000000) to compare timestamps while ignoring minor time differences."
},
"getLabel(address)": {
"notice": "Gets the label for the specified address."
},
"getMappingKeyAndParentOf(address,bytes32)": {
"notice": "Gets the map key and parent of a mapping at a given slot, for a given address."
},
"getMappingLength(address,bytes32)": {
"notice": "Gets the number of elements in the mapping at the given slot, for a given address."
},
"getMappingSlotAt(address,bytes32,uint256)": {
"notice": "Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping)."
},
"getNonce((address,uint256,uint256,uint256))": {
"notice": "Get the nonce of a `Wallet`."
},
"getNonce(address)": {
"notice": "Gets the nonce of an account."
},
"getRecordedLogs()": {
"notice": "Gets all the recorded logs."
},
"getStateDiff()": {
"notice": "Returns state diffs from current `vm.startStateDiffRecording` session."
},
"getStateDiffJson()": {
"notice": "Returns state diffs from current `vm.startStateDiffRecording` session, in json format."
},
"getWallets()": {
"notice": "Returns addresses of available unlocked wallets in the script environment."
},
"indexOf(string,string)": {
"notice": "Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`."
},
"isContext(uint8)": {
"notice": "Returns true if `forge` command was executed in given context."
},
"isDir(string)": {
"notice": "Returns true if the path exists on disk and is pointing at a directory, else returns false."
},
"isFile(string)": {
"notice": "Returns true if the path exists on disk and is pointing at a regular file, else returns false."
},
"keyExists(string,string)": {
"notice": "Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."
},
"keyExistsJson(string,string)": {
"notice": "Checks if `key` exists in a JSON object."
},
"keyExistsToml(string,string)": {
"notice": "Checks if `key` exists in a TOML table."
},
"label(address,string)": {
"notice": "Labels an address in call traces."
},
"lastCallGas()": {
"notice": "Gets the gas used in the last call from the callee perspective."
},
"load(address,bytes32)": {
"notice": "Loads a storage slot from an address."
},
"parseAddress(string)": {
"notice": "Parses the given `string` into an `address`."
},
"parseBool(string)": {
"notice": "Parses the given `string` into a `bool`."
},
"parseBytes(string)": {
"notice": "Parses the given `string` into `bytes`."
},
"parseBytes32(string)": {
"notice": "Parses the given `string` into a `bytes32`."
},
"parseInt(string)": {
"notice": "Parses the given `string` into a `int256`."
},
"parseJson(string)": {
"notice": "ABI-encodes a JSON object."
},
"parseJson(string,string)": {
"notice": "ABI-encodes a JSON object at `key`."
},
"parseJsonAddress(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `address`."
},
"parseJsonAddressArray(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `address[]`."
},
"parseJsonBool(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `bool`."
},
"parseJsonBoolArray(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `bool[]`."
},
"parseJsonBytes(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `bytes`."
},
"parseJsonBytes32(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `bytes32`."
},
"parseJsonBytes32Array(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `bytes32[]`."
},
"parseJsonBytesArray(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `bytes[]`."
},
"parseJsonInt(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `int256`."
},
"parseJsonIntArray(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `int256[]`."
},
"parseJsonKeys(string,string)": {
"notice": "Returns an array of all the keys in a JSON object."
},
"parseJsonString(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `string`."
},
"parseJsonStringArray(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `string[]`."
},
"parseJsonType(string,string)": {
"notice": "Parses a string of JSON data and coerces it to type corresponding to `typeDescription`."
},
"parseJsonType(string,string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to type corresponding to `typeDescription`."
},
"parseJsonTypeArray(string,string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to type array corresponding to `typeDescription`."
},
"parseJsonUint(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `uint256`."
},
"parseJsonUintArray(string,string)": {
"notice": "Parses a string of JSON data at `key` and coerces it to `uint256[]`."
},
"parseToml(string)": {
"notice": "ABI-encodes a TOML table."
},
"parseToml(string,string)": {
"notice": "ABI-encodes a TOML table at `key`."
},
"parseTomlAddress(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `address`."
},
"parseTomlAddressArray(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `address[]`."
},
"parseTomlBool(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `bool`."
},
"parseTomlBoolArray(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `bool[]`."
},
"parseTomlBytes(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `bytes`."
},
"parseTomlBytes32(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `bytes32`."
},
"parseTomlBytes32Array(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `bytes32[]`."
},
"parseTomlBytesArray(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `bytes[]`."
},
"parseTomlInt(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `int256`."
},
"parseTomlIntArray(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `int256[]`."
},
"parseTomlKeys(string,string)": {
"notice": "Returns an array of all the keys in a TOML table."
},
"parseTomlString(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `string`."
},
"parseTomlStringArray(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `string[]`."
},
"parseTomlType(string,string)": {
"notice": "Parses a string of TOML data and coerces it to type corresponding to `typeDescription`."
},
"parseTomlType(string,string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to type corresponding to `typeDescription`."
},
"parseTomlTypeArray(string,string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to type array corresponding to `typeDescription`."
},
"parseTomlUint(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `uint256`."
},
"parseTomlUintArray(string,string)": {
"notice": "Parses a string of TOML data at `key` and coerces it to `uint256[]`."
},
"parseUint(string)": {
"notice": "Parses the given `string` into a `uint256`."
},
"pauseGasMetering()": {
"notice": "Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."
},
"pauseTracing()": {
"notice": "Pauses collection of call traces. Useful in cases when you want to skip tracing of complex calls which are not useful for debugging."
},
"projectRoot()": {
"notice": "Get the path of the current project root."
},
"prompt(string)": {
"notice": "Prompts the user for a string value in the terminal."
},
"promptAddress(string)": {
"notice": "Prompts the user for an address in the terminal."
},
"promptSecret(string)": {
"notice": "Prompts the user for a hidden string value in the terminal."
},
"promptSecretUint(string)": {
"notice": "Prompts the user for hidden uint256 in the terminal (usually pk)."
},
"promptUint(string)": {
"notice": "Prompts the user for uint256 in the terminal."
},
"publicKeyP256(uint256)": {
"notice": "Derives secp256r1 public key from the provided `privateKey`."
},
"randomAddress()": {
"notice": "Returns a random `address`."
},
"randomBool()": {
"notice": "Returns a random `bool`."
},
"randomBytes(uint256)": {
"notice": "Returns a random byte array value of the given length."
},
"randomBytes4()": {
"notice": "Returns a random fixed-size byte array of length 4."
},
"randomBytes8()": {
"notice": "Returns a random fixed-size byte array of length 8."
},
"randomInt()": {
"notice": "Returns a random `int256` value."
},
"randomInt(uint256)": {
"notice": "Returns a random `int256` value of given bits."
},
"randomUint()": {
"notice": "Returns a random uint256 value."
},
"randomUint(uint256)": {
"notice": "Returns a random `uint256` value of given bits."
},
"randomUint(uint256,uint256)": {
"notice": "Returns random uint256 value between the provided range (=min..=max)."
},
"readDir(string)": {
"notice": "Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true."
},
"readDir(string,uint64)": {
"notice": "See `readDir(string)`."
},
"readDir(string,uint64,bool)": {
"notice": "See `readDir(string)`."
},
"readFile(string)": {
"notice": "Reads the entire content of file to string. `path` is relative to the project root."
},
"readFileBinary(string)": {
"notice": "Reads the entire content of file as binary. `path` is relative to the project root."
},
"readLine(string)": {
"notice": "Reads next line of file to string."
},
"readLink(string)": {
"notice": "Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist."
},
"record()": {
"notice": "Records all storage reads and writes."
},
"recordLogs()": {
"notice": "Record all the transaction logs."
},
"rememberKey(uint256)": {
"notice": "Adds a private key to the local forge wallet and returns the address."
},
"rememberKeys(string,string,string,uint32)": {
"notice": "Derive a set number of wallets from a mnemonic in the specified language at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned."
},
"rememberKeys(string,string,uint32)": {
"notice": "Derive a set number of wallets from a mnemonic at the derivation path `m/44'/60'/0'/0/{0..count}`. The respective private keys are saved to the local forge wallet for later use and their addresses are returned."
},
"removeDir(string,bool)": {
"notice": "Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root."
},
"removeFile(string)": {
"notice": "Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root."
},
"replace(string,string,string)": {
"notice": "Replaces occurrences of `from` in the given `string` with `to`."
},
"resetGasMetering()": {
"notice": "Reset gas metering (i.e. gas usage is set to gas limit)."
},
"resumeGasMetering()": {
"notice": "Resumes gas metering (i.e. gas usage is counted again). Noop if already on."
},
"resumeTracing()": {
"notice": "Unpauses collection of call traces."
},
"rpc(string,string)": {
"notice": "Performs an Ethereum JSON-RPC request to the current fork URL."
},
"rpc(string,string,string)": {
"notice": "Performs an Ethereum JSON-RPC request to the given endpoint."
},
"rpcUrl(string)": {
"notice": "Returns the RPC url for the given alias."
},
"rpcUrlStructs()": {
"notice": "Returns all rpc urls and their aliases as structs."
},
"rpcUrls()": {
"notice": "Returns all rpc urls and their aliases `[alias, url][]`."
},
"serializeAddress(string,string,address)": {
"notice": "See `serializeJson`."
},
"serializeAddress(string,string,address[])": {
"notice": "See `serializeJson`."
},
"serializeBool(string,string,bool)": {
"notice": "See `serializeJson`."
},
"serializeBool(string,string,bool[])": {
"notice": "See `serializeJson`."
},
"serializeBytes(string,string,bytes)": {
"notice": "See `serializeJson`."
},
"serializeBytes(string,string,bytes[])": {
"notice": "See `serializeJson`."
},
"serializeBytes32(string,string,bytes32)": {
"notice": "See `serializeJson`."
},
"serializeBytes32(string,string,bytes32[])": {
"notice": "See `serializeJson`."
},
"serializeInt(string,string,int256)": {
"notice": "See `serializeJson`."
},
"serializeInt(string,string,int256[])": {
"notice": "See `serializeJson`."
},
"serializeJson(string,string)": {
"notice": "Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment."
},
"serializeJsonType(string,bytes)": {
"notice": "See `serializeJson`."
},
"serializeJsonType(string,string,string,bytes)": {
"notice": "See `serializeJson`."
},
"serializeString(string,string,string)": {
"notice": "See `serializeJson`."
},
"serializeString(string,string,string[])": {
"notice": "See `serializeJson`."
},
"serializeUint(string,string,uint256)": {
"notice": "See `serializeJson`."
},
"serializeUint(string,string,uint256[])": {
"notice": "See `serializeJson`."
},
"serializeUintToHex(string,string,uint256)": {
"notice": "See `serializeJson`."
},
"setArbitraryStorage(address)": {
"notice": "Utility cheatcode to set arbitrary storage for given target address."
},
"setArbitraryStorage(address,bool)": {
"notice": "Utility cheatcode to set arbitrary storage for given target address and overwrite any storage slots that have been previously set."
},
"setEnv(string,string)": {
"notice": "Sets environment variables."
},
"shuffle(uint256[])": {
"notice": "Randomly shuffles an array."
},
"sign((address,uint256,uint256,uint256),bytes32)": {
"notice": "Signs data with a `Wallet`."
},
"sign(address,bytes32)": {
"notice": "Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address."
},
"sign(bytes32)": {
"notice": "Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."
},
"sign(uint256,bytes32)": {
"notice": "Signs `digest` with `privateKey` using the secp256k1 curve."
},
"signAndAttachDelegation(address,uint256)": {
"notice": "Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction"
},
"signAndAttachDelegation(address,uint256,uint64)": {
"notice": "Sign an EIP-7702 authorization and designate the next call as an EIP-7702 transaction for specific nonce"
},
"signCompact((address,uint256,uint256,uint256),bytes32)": {
"notice": "Signs data with a `Wallet`. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes."
},
"signCompact(address,bytes32)": {
"notice": "Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. Raises error if none of the signers passed into the script have provided address."
},
"signCompact(bytes32)": {
"notice": "Signs `digest` with signer provided to script using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."
},
"signCompact(uint256,bytes32)": {
"notice": "Signs `digest` with `privateKey` using the secp256k1 curve. Returns a compact signature (`r`, `vs`) as per EIP-2098, where `vs` encodes both the signature's `s` value, and the recovery id `v` in a single bytes32. This format reduces the signature size from 65 to 64 bytes."
},
"signDelegation(address,uint256)": {
"notice": "Sign an EIP-7702 authorization for delegation"
},
"signDelegation(address,uint256,uint64)": {
"notice": "Sign an EIP-7702 authorization for delegation for specific nonce"
},
"signP256(uint256,bytes32)": {
"notice": "Signs `digest` with `privateKey` using the secp256r1 curve."
},
"sleep(uint256)": {
"notice": "Suspends execution of the main thread for `duration` milliseconds."
},
"sort(uint256[])": {
"notice": "Sorts an array in ascending order."
},
"split(string,string)": {
"notice": "Splits the given `string` into an array of strings divided by the `delimiter`."
},
"startBroadcast()": {
"notice": "Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."
},
"startBroadcast(address)": {
"notice": "Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain."
},
"startBroadcast(uint256)": {
"notice": "Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain."
},
"startDebugTraceRecording()": {
"notice": "Records the debug trace during the run."
},
"startMappingRecording()": {
"notice": "Starts recording all map SSTOREs for later retrieval."
},
"startStateDiffRecording()": {
"notice": "Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls"
},
"stopAndReturnDebugTraceRecording()": {
"notice": "Stop debug trace recording and returns the recorded debug trace."
},
"stopAndReturnStateDiff()": {
"notice": "Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."
},
"stopBroadcast()": {
"notice": "Stops collecting onchain transactions."
},
"stopMappingRecording()": {
"notice": "Stops recording all map SSTOREs for later retrieval and clears the recorded data."
},
"toBase64(bytes)": {
"notice": "Encodes a `bytes` value to a base64 string."
},
"toBase64(string)": {
"notice": "Encodes a `string` value to a base64 string."
},
"toBase64URL(bytes)": {
"notice": "Encodes a `bytes` value to a base64url string."
},
"toBase64URL(string)": {
"notice": "Encodes a `string` value to a base64url string."
},
"toLowercase(string)": {
"notice": "Converts the given `string` value to Lowercase."
},
"toString(address)": {
"notice": "Converts the given value to a `string`."
},
"toString(bool)": {
"notice": "Converts the given value to a `string`."
},
"toString(bytes)": {
"notice": "Converts the given value to a `string`."
},
"toString(bytes32)": {
"notice": "Converts the given value to a `string`."
},
"toString(int256)": {
"notice": "Converts the given value to a `string`."
},
"toString(uint256)": {
"notice": "Converts the given value to a `string`."
},
"toUppercase(string)": {
"notice": "Converts the given `string` value to Uppercase."
},
"trim(string)": {
"notice": "Trims leading and trailing whitespace from the given `string` value."
},
"tryFfi(string[])": {
"notice": "Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."
},
"unixTime()": {
"notice": "Returns the time since unix epoch in milliseconds."
},
"writeFile(string,string)": {
"notice": "Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."
},
"writeFileBinary(string,bytes)": {
"notice": "Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."
},
"writeJson(string,string)": {
"notice": "Write a serialized JSON object to a file. If the file exists, it will be overwritten."
},
"writeJson(string,string,string)": {
"notice": "Write a serialized JSON object to an **existing** JSON file, replacing a value with key = <value_key.> This is useful to replace a specific value of a JSON file, without having to parse the entire thing."
},
"writeLine(string,string)": {
"notice": "Writes line to file, creating a file if it does not exist. `path` is relative to the project root."
},
"writeToml(string,string)": {
"notice": "Takes serialized JSON, converts to TOML and write a serialized TOML to a file."
},
"writeToml(string,string,string)": {
"notice": "Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = <value_key.> This is useful to replace a specific value of a TOML file, without having to parse the entire thing."
}
},
"version": 1
}
},
"settings": {
"remappings": [
"@openzeppelin/=node_modules/@openzeppelin/",
"eth-gas-reporter/=node_modules/eth-gas-reporter/",
"forge-std/=lib/forge-std/src/",
"hardhat/=node_modules/hardhat/"
],
"optimizer": {
"enabled": true,
"runs": 10000
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"lib/forge-std/src/Vm.sol": "VmSafe"
},
"evmVersion": "cancun",
"libraries": {},
"viaIR": true
},
"sources": {
"lib/forge-std/src/Vm.sol": {
"keccak256": "0xd3225a46c515c33c053200970c0ad22560ab4edd938361ee89aa99c4b1ba0efa",
"urls": [
"bzz-raw://13f3ac3ed393208015b88eb9392f59d39e0e85916527f17004eb24610c36813c",
"dweb:/ipfs/QmU4YRC58KhoXcJH91o4Ut3P8SNhmC6B9spvzgKApk8ZSB"
],
"license": "MIT OR Apache-2.0"
}
},
"version": 1
}