[
  {
    "type": "function",
    "name": "accesses",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "readSlots",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      },
      {
        "name": "writeSlots",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "addr",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "keyAddr",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbs",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbs",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbs",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbs",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbsDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbsDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbsDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqAbsDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRel",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRel",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRel",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRel",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRelDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRelDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRelDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertApproxEqRelDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "maxPercentDelta",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      },
      {
        "name": "right",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256[]",
        "internalType": "int256[]"
      },
      {
        "name": "right",
        "type": "int256[]",
        "internalType": "int256[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "right",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "right",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "right",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "right",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "right",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "right",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "right",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool[]",
        "internalType": "bool[]"
      },
      {
        "name": "right",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256[]",
        "internalType": "int256[]"
      },
      {
        "name": "right",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "right",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "right",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "right",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "right",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "string[]",
        "internalType": "string[]"
      },
      {
        "name": "right",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      },
      {
        "name": "right",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "right",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool[]",
        "internalType": "bool[]"
      },
      {
        "name": "right",
        "type": "bool[]",
        "internalType": "bool[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "right",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "string[]",
        "internalType": "string[]"
      },
      {
        "name": "right",
        "type": "string[]",
        "internalType": "string[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "right",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "right",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "right",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertFalse",
    "inputs": [
      {
        "name": "condition",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertFalse",
    "inputs": [
      {
        "name": "condition",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGe",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGe",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGe",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGe",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGt",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGt",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGt",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGt",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertGtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLe",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLe",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLe",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLe",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLeDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLt",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLt",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLt",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLt",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertLtDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      },
      {
        "name": "right",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256[]",
        "internalType": "int256[]"
      },
      {
        "name": "right",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "right",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "right",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "right",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool[]",
        "internalType": "bool[]"
      },
      {
        "name": "right",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "right",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "right",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "right",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bool[]",
        "internalType": "bool[]"
      },
      {
        "name": "right",
        "type": "bool[]",
        "internalType": "bool[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "right",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "right",
        "type": "address[]",
        "internalType": "address[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "right",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "right",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "right",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "right",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "right",
        "type": "uint256[]",
        "internalType": "uint256[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "right",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "right",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "string[]",
        "internalType": "string[]"
      },
      {
        "name": "right",
        "type": "string[]",
        "internalType": "string[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      },
      {
        "name": "right",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "string[]",
        "internalType": "string[]"
      },
      {
        "name": "right",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256[]",
        "internalType": "int256[]"
      },
      {
        "name": "right",
        "type": "int256[]",
        "internalType": "int256[]"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "bytes[]",
        "internalType": "bytes[]"
      },
      {
        "name": "right",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEq",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "right",
        "type": "int256",
        "internalType": "int256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertNotEqDecimal",
    "inputs": [
      {
        "name": "left",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "right",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "decimals",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertTrue",
    "inputs": [
      {
        "name": "condition",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assertTrue",
    "inputs": [
      {
        "name": "condition",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "error",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assume",
    "inputs": [
      {
        "name": "condition",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assumeNoRevert",
    "inputs": [],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assumeNoRevert",
    "inputs": [
      {
        "name": "potentialReverts",
        "type": "tuple[]",
        "internalType": "struct VmSafe.PotentialRevert[]",
        "components": [
          {
            "name": "reverter",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "partialMatch",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "revertData",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "assumeNoRevert",
    "inputs": [
      {
        "name": "potentialRevert",
        "type": "tuple",
        "internalType": "struct VmSafe.PotentialRevert",
        "components": [
          {
            "name": "reverter",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "partialMatch",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "revertData",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "attachBlob",
    "inputs": [
      {
        "name": "blob",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "attachDelegation",
    "inputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "attachDelegation",
    "inputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      },
      {
        "name": "crossChain",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "breakpoint",
    "inputs": [
      {
        "name": "char",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "breakpoint",
    "inputs": [
      {
        "name": "char",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "broadcast",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "broadcast",
    "inputs": [
      {
        "name": "signer",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "broadcast",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "broadcastRawTransaction",
    "inputs": [
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "closeFile",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "computeCreate2Address",
    "inputs": [
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "initCodeHash",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "computeCreate2Address",
    "inputs": [
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "initCodeHash",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "deployer",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "computeCreateAddress",
    "inputs": [
      {
        "name": "deployer",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "nonce",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "contains",
    "inputs": [
      {
        "name": "subject",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "search",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "copyFile",
    "inputs": [
      {
        "name": "from",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "to",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "copied",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "copyStorage",
    "inputs": [
      {
        "name": "from",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "to",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "createDir",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "recursive",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "createWallet",
    "inputs": [
      {
        "name": "walletLabel",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "wallet",
        "type": "tuple",
        "internalType": "struct VmSafe.Wallet",
        "components": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "publicKeyX",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "publicKeyY",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "privateKey",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "createWallet",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "wallet",
        "type": "tuple",
        "internalType": "struct VmSafe.Wallet",
        "components": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "publicKeyX",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "publicKeyY",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "privateKey",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "createWallet",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "walletLabel",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "wallet",
        "type": "tuple",
        "internalType": "struct VmSafe.Wallet",
        "components": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "publicKeyX",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "publicKeyY",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "privateKey",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "constructorArgs",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "constructorArgs",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "constructorArgs",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "salt",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deployCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "constructorArgs",
        "type": "bytes",
        "internalType": "bytes"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "deriveKey",
    "inputs": [
      {
        "name": "mnemonic",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "derivationPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "index",
        "type": "uint32",
        "internalType": "uint32"
      },
      {
        "name": "language",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "deriveKey",
    "inputs": [
      {
        "name": "mnemonic",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "index",
        "type": "uint32",
        "internalType": "uint32"
      },
      {
        "name": "language",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "deriveKey",
    "inputs": [
      {
        "name": "mnemonic",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "index",
        "type": "uint32",
        "internalType": "uint32"
      }
    ],
    "outputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "deriveKey",
    "inputs": [
      {
        "name": "mnemonic",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "derivationPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "index",
        "type": "uint32",
        "internalType": "uint32"
      }
    ],
    "outputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "eip712HashStruct",
    "inputs": [
      {
        "name": "bindingsPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeName",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "abiEncodedData",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "typeHash",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "eip712HashStruct",
    "inputs": [
      {
        "name": "typeNameOrDefinition",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "abiEncodedData",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "typeHash",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "eip712HashType",
    "inputs": [
      {
        "name": "bindingsPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeName",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "typeHash",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "eip712HashType",
    "inputs": [
      {
        "name": "typeNameOrDefinition",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "typeHash",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "eip712HashTypedData",
    "inputs": [
      {
        "name": "jsonData",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "ensNamehash",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "envAddress",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envAddress",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envBool",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envBool",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envBytes",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envBytes",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envBytes32",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envBytes32",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envExists",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envInt",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envInt",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envOr",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "defaultValue",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envString",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envString",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envUint",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "envUint",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delim",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "eth_getLogs",
    "inputs": [
      {
        "name": "fromBlock",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "toBlock",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "topics",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "outputs": [
      {
        "name": "logs",
        "type": "tuple[]",
        "internalType": "struct VmSafe.EthGetLogs[]",
        "components": [
          {
            "name": "emitter",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "topics",
            "type": "bytes32[]",
            "internalType": "bytes32[]"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "blockHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "blockNumber",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "transactionHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "transactionIndex",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "logIndex",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "removed",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "exists",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "ffi",
    "inputs": [
      {
        "name": "commandInput",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "foundryVersionAtLeast",
    "inputs": [
      {
        "name": "version",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "foundryVersionCmp",
    "inputs": [
      {
        "name": "version",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "fsMetadata",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "metadata",
        "type": "tuple",
        "internalType": "struct VmSafe.FsMetadata",
        "components": [
          {
            "name": "isDir",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "isSymlink",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "length",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "readOnly",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "modified",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "accessed",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "created",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getArtifactPathByCode",
    "inputs": [
      {
        "name": "code",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getArtifactPathByDeployedCode",
    "inputs": [
      {
        "name": "deployedCode",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getBlobBaseFee",
    "inputs": [],
    "outputs": [
      {
        "name": "blobBaseFee",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getBlockNumber",
    "inputs": [],
    "outputs": [
      {
        "name": "height",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getBlockTimestamp",
    "inputs": [],
    "outputs": [
      {
        "name": "timestamp",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getBroadcast",
    "inputs": [
      {
        "name": "contractName",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "chainId",
        "type": "uint64",
        "internalType": "uint64"
      },
      {
        "name": "txType",
        "type": "uint8",
        "internalType": "enum VmSafe.BroadcastTxType"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "tuple",
        "internalType": "struct VmSafe.BroadcastTxSummary",
        "components": [
          {
            "name": "txHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "txType",
            "type": "uint8",
            "internalType": "enum VmSafe.BroadcastTxType"
          },
          {
            "name": "contractAddress",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "blockNumber",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getBroadcasts",
    "inputs": [
      {
        "name": "contractName",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "chainId",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "tuple[]",
        "internalType": "struct VmSafe.BroadcastTxSummary[]",
        "components": [
          {
            "name": "txHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "txType",
            "type": "uint8",
            "internalType": "enum VmSafe.BroadcastTxType"
          },
          {
            "name": "contractAddress",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "blockNumber",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getBroadcasts",
    "inputs": [
      {
        "name": "contractName",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "chainId",
        "type": "uint64",
        "internalType": "uint64"
      },
      {
        "name": "txType",
        "type": "uint8",
        "internalType": "enum VmSafe.BroadcastTxType"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "tuple[]",
        "internalType": "struct VmSafe.BroadcastTxSummary[]",
        "components": [
          {
            "name": "txHash",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "txType",
            "type": "uint8",
            "internalType": "enum VmSafe.BroadcastTxType"
          },
          {
            "name": "contractAddress",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "blockNumber",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "success",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getChain",
    "inputs": [
      {
        "name": "chainAlias",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "chain",
        "type": "tuple",
        "internalType": "struct VmSafe.Chain",
        "components": [
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "chainId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "chainAlias",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "rpcUrl",
            "type": "string",
            "internalType": "string"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getChain",
    "inputs": [
      {
        "name": "chainId",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "chain",
        "type": "tuple",
        "internalType": "struct VmSafe.Chain",
        "components": [
          {
            "name": "name",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "chainId",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "chainAlias",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "rpcUrl",
            "type": "string",
            "internalType": "string"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "creationBytecode",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getDeployedCode",
    "inputs": [
      {
        "name": "artifactPath",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "runtimeBytecode",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getDeployment",
    "inputs": [
      {
        "name": "contractName",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "chainId",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getDeployment",
    "inputs": [
      {
        "name": "contractName",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddress",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getDeployments",
    "inputs": [
      {
        "name": "contractName",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "chainId",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "outputs": [
      {
        "name": "deployedAddresses",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getFoundryVersion",
    "inputs": [],
    "outputs": [
      {
        "name": "version",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getLabel",
    "inputs": [
      {
        "name": "account",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "currentLabel",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getMappingKeyAndParentOf",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "elementSlot",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "found",
        "type": "bool",
        "internalType": "bool"
      },
      {
        "name": "key",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "parent",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "getMappingLength",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "mappingSlot",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "length",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "getMappingSlotAt",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "mappingSlot",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "idx",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "value",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "getNonce",
    "inputs": [
      {
        "name": "account",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "nonce",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getNonce",
    "inputs": [
      {
        "name": "wallet",
        "type": "tuple",
        "internalType": "struct VmSafe.Wallet",
        "components": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "publicKeyX",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "publicKeyY",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "privateKey",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      }
    ],
    "outputs": [
      {
        "name": "nonce",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "getRecordedLogs",
    "inputs": [],
    "outputs": [
      {
        "name": "logs",
        "type": "tuple[]",
        "internalType": "struct VmSafe.Log[]",
        "components": [
          {
            "name": "topics",
            "type": "bytes32[]",
            "internalType": "bytes32[]"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "emitter",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "getStateDiff",
    "inputs": [],
    "outputs": [
      {
        "name": "diff",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getStateDiffJson",
    "inputs": [],
    "outputs": [
      {
        "name": "diff",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "getWallets",
    "inputs": [],
    "outputs": [
      {
        "name": "wallets",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "indexOf",
    "inputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "isContext",
    "inputs": [
      {
        "name": "context",
        "type": "uint8",
        "internalType": "enum VmSafe.ForgeContext"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "isDir",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "isFile",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "keyExists",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "keyExistsJson",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "keyExistsToml",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "label",
    "inputs": [
      {
        "name": "account",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "newLabel",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "lastCallGas",
    "inputs": [],
    "outputs": [
      {
        "name": "gas",
        "type": "tuple",
        "internalType": "struct VmSafe.Gas",
        "components": [
          {
            "name": "gasLimit",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "gasTotalUsed",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "gasMemoryUsed",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "gasRefunded",
            "type": "int64",
            "internalType": "int64"
          },
          {
            "name": "gasRemaining",
            "type": "uint64",
            "internalType": "uint64"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "load",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "slot",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "data",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "parseAddress",
    "inputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "parsedValue",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseBool",
    "inputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "parsedValue",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseBytes",
    "inputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "parsedValue",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseBytes32",
    "inputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "parsedValue",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseInt",
    "inputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "parsedValue",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJson",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "abiEncodedData",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJson",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "abiEncodedData",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonAddress",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonAddressArray",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonBool",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonBoolArray",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonBytes",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonBytes32",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonBytes32Array",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonBytesArray",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonInt",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonIntArray",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonKeys",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "keys",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonString",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonStringArray",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonType",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonType",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonTypeArray",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonUint",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseJsonUintArray",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseToml",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "abiEncodedData",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseToml",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "abiEncodedData",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlAddress",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlAddressArray",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlBool",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlBoolArray",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlBytes",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlBytes32",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlBytes32Array",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlBytesArray",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlInt",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlIntArray",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlKeys",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "keys",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlString",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlStringArray",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlType",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlType",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlTypeArray",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlUint",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseTomlUintArray",
    "inputs": [
      {
        "name": "toml",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "key",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "parseUint",
    "inputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "parsedValue",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "pauseGasMetering",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "pauseTracing",
    "inputs": [],
    "outputs": [],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "projectRoot",
    "inputs": [],
    "outputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "prompt",
    "inputs": [
      {
        "name": "promptText",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "promptAddress",
    "inputs": [
      {
        "name": "promptText",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "promptSecret",
    "inputs": [
      {
        "name": "promptText",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "promptSecretUint",
    "inputs": [
      {
        "name": "promptText",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "promptUint",
    "inputs": [
      {
        "name": "promptText",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "publicKeyP256",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "publicKeyX",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "publicKeyY",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "randomAddress",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "randomBool",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "randomBytes",
    "inputs": [
      {
        "name": "len",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "randomBytes4",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes4",
        "internalType": "bytes4"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "randomBytes8",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bytes8",
        "internalType": "bytes8"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "randomInt",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "randomInt",
    "inputs": [
      {
        "name": "bits",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "randomUint",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "randomUint",
    "inputs": [
      {
        "name": "bits",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "randomUint",
    "inputs": [
      {
        "name": "min",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "max",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "readDir",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "maxDepth",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "outputs": [
      {
        "name": "entries",
        "type": "tuple[]",
        "internalType": "struct VmSafe.DirEntry[]",
        "components": [
          {
            "name": "errorMessage",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "path",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "depth",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "isDir",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "isSymlink",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "readDir",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "maxDepth",
        "type": "uint64",
        "internalType": "uint64"
      },
      {
        "name": "followLinks",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [
      {
        "name": "entries",
        "type": "tuple[]",
        "internalType": "struct VmSafe.DirEntry[]",
        "components": [
          {
            "name": "errorMessage",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "path",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "depth",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "isDir",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "isSymlink",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "readDir",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "entries",
        "type": "tuple[]",
        "internalType": "struct VmSafe.DirEntry[]",
        "components": [
          {
            "name": "errorMessage",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "path",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "depth",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "isDir",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "isSymlink",
            "type": "bool",
            "internalType": "bool"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "readFile",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "data",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "readFileBinary",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "readLine",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "line",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "readLink",
    "inputs": [
      {
        "name": "linkPath",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "targetPath",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "record",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "recordLogs",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "rememberKey",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "keyAddr",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "rememberKeys",
    "inputs": [
      {
        "name": "mnemonic",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "derivationPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "count",
        "type": "uint32",
        "internalType": "uint32"
      }
    ],
    "outputs": [
      {
        "name": "keyAddrs",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "rememberKeys",
    "inputs": [
      {
        "name": "mnemonic",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "derivationPath",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "language",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "count",
        "type": "uint32",
        "internalType": "uint32"
      }
    ],
    "outputs": [
      {
        "name": "keyAddrs",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "removeDir",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "recursive",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "removeFile",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "replace",
    "inputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "from",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "to",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "output",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "resetGasMetering",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "resumeGasMetering",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "resumeTracing",
    "inputs": [],
    "outputs": [],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "rpc",
    "inputs": [
      {
        "name": "urlOrAlias",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "method",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "params",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "rpc",
    "inputs": [
      {
        "name": "method",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "params",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "rpcUrl",
    "inputs": [
      {
        "name": "rpcAlias",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "rpcUrlStructs",
    "inputs": [],
    "outputs": [
      {
        "name": "urls",
        "type": "tuple[]",
        "internalType": "struct VmSafe.Rpc[]",
        "components": [
          {
            "name": "key",
            "type": "string",
            "internalType": "string"
          },
          {
            "name": "url",
            "type": "string",
            "internalType": "string"
          }
        ]
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "rpcUrls",
    "inputs": [],
    "outputs": [
      {
        "name": "urls",
        "type": "string[2][]",
        "internalType": "string[2][]"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "serializeAddress",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "values",
        "type": "address[]",
        "internalType": "address[]"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeAddress",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeBool",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "values",
        "type": "bool[]",
        "internalType": "bool[]"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeBool",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeBytes",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "values",
        "type": "bytes[]",
        "internalType": "bytes[]"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeBytes",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeBytes32",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "values",
        "type": "bytes32[]",
        "internalType": "bytes32[]"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeBytes32",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeInt",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeInt",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "values",
        "type": "int256[]",
        "internalType": "int256[]"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeJson",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeJsonType",
    "inputs": [
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "serializeJsonType",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "typeDescription",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeString",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "values",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeString",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeUint",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeUint",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "values",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "serializeUintToHex",
    "inputs": [
      {
        "name": "objectKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setArbitraryStorage",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "overwrite",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setArbitraryStorage",
    "inputs": [
      {
        "name": "target",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "setEnv",
    "inputs": [
      {
        "name": "name",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "value",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "shuffle",
    "inputs": [
      {
        "name": "array",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "sign",
    "inputs": [
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "v",
        "type": "uint8",
        "internalType": "uint8"
      },
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "s",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "sign",
    "inputs": [
      {
        "name": "signer",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "v",
        "type": "uint8",
        "internalType": "uint8"
      },
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "s",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "sign",
    "inputs": [
      {
        "name": "wallet",
        "type": "tuple",
        "internalType": "struct VmSafe.Wallet",
        "components": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "publicKeyX",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "publicKeyY",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "privateKey",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "v",
        "type": "uint8",
        "internalType": "uint8"
      },
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "s",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "sign",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "v",
        "type": "uint8",
        "internalType": "uint8"
      },
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "s",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "signAndAttachDelegation",
    "inputs": [
      {
        "name": "implementation",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "signAndAttachDelegation",
    "inputs": [
      {
        "name": "implementation",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "nonce",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "outputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "signAndAttachDelegation",
    "inputs": [
      {
        "name": "implementation",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "crossChain",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "signCompact",
    "inputs": [
      {
        "name": "wallet",
        "type": "tuple",
        "internalType": "struct VmSafe.Wallet",
        "components": [
          {
            "name": "addr",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "publicKeyX",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "publicKeyY",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "privateKey",
            "type": "uint256",
            "internalType": "uint256"
          }
        ]
      },
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "vs",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "signCompact",
    "inputs": [
      {
        "name": "signer",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "vs",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "signCompact",
    "inputs": [
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "vs",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "signCompact",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "vs",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "signDelegation",
    "inputs": [
      {
        "name": "implementation",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "signDelegation",
    "inputs": [
      {
        "name": "implementation",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "crossChain",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "signDelegation",
    "inputs": [
      {
        "name": "implementation",
        "type": "address",
        "internalType": "address"
      },
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "nonce",
        "type": "uint64",
        "internalType": "uint64"
      }
    ],
    "outputs": [
      {
        "name": "signedDelegation",
        "type": "tuple",
        "internalType": "struct VmSafe.SignedDelegation",
        "components": [
          {
            "name": "v",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "r",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "s",
            "type": "bytes32",
            "internalType": "bytes32"
          },
          {
            "name": "nonce",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "implementation",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "signP256",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      },
      {
        "name": "digest",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "r",
        "type": "bytes32",
        "internalType": "bytes32"
      },
      {
        "name": "s",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "sleep",
    "inputs": [
      {
        "name": "duration",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "sort",
    "inputs": [
      {
        "name": "array",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256[]",
        "internalType": "uint256[]"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "split",
    "inputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "delimiter",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "outputs",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "startBroadcast",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "startBroadcast",
    "inputs": [
      {
        "name": "signer",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "startBroadcast",
    "inputs": [
      {
        "name": "privateKey",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "startDebugTraceRecording",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "startMappingRecording",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "startStateDiffRecording",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "stopAndReturnDebugTraceRecording",
    "inputs": [],
    "outputs": [
      {
        "name": "step",
        "type": "tuple[]",
        "internalType": "struct VmSafe.DebugStep[]",
        "components": [
          {
            "name": "stack",
            "type": "uint256[]",
            "internalType": "uint256[]"
          },
          {
            "name": "memoryInput",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "opcode",
            "type": "uint8",
            "internalType": "uint8"
          },
          {
            "name": "depth",
            "type": "uint64",
            "internalType": "uint64"
          },
          {
            "name": "isOutOfGas",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "contractAddr",
            "type": "address",
            "internalType": "address"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "stopAndReturnStateDiff",
    "inputs": [],
    "outputs": [
      {
        "name": "accountAccesses",
        "type": "tuple[]",
        "internalType": "struct VmSafe.AccountAccess[]",
        "components": [
          {
            "name": "chainInfo",
            "type": "tuple",
            "internalType": "struct VmSafe.ChainInfo",
            "components": [
              {
                "name": "forkId",
                "type": "uint256",
                "internalType": "uint256"
              },
              {
                "name": "chainId",
                "type": "uint256",
                "internalType": "uint256"
              }
            ]
          },
          {
            "name": "kind",
            "type": "uint8",
            "internalType": "enum VmSafe.AccountAccessKind"
          },
          {
            "name": "account",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "accessor",
            "type": "address",
            "internalType": "address"
          },
          {
            "name": "initialized",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "oldBalance",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "newBalance",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "deployedCode",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "value",
            "type": "uint256",
            "internalType": "uint256"
          },
          {
            "name": "data",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "reverted",
            "type": "bool",
            "internalType": "bool"
          },
          {
            "name": "storageAccesses",
            "type": "tuple[]",
            "internalType": "struct VmSafe.StorageAccess[]",
            "components": [
              {
                "name": "account",
                "type": "address",
                "internalType": "address"
              },
              {
                "name": "slot",
                "type": "bytes32",
                "internalType": "bytes32"
              },
              {
                "name": "isWrite",
                "type": "bool",
                "internalType": "bool"
              },
              {
                "name": "previousValue",
                "type": "bytes32",
                "internalType": "bytes32"
              },
              {
                "name": "newValue",
                "type": "bytes32",
                "internalType": "bytes32"
              },
              {
                "name": "reverted",
                "type": "bool",
                "internalType": "bool"
              }
            ]
          },
          {
            "name": "depth",
            "type": "uint64",
            "internalType": "uint64"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "stopBroadcast",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "stopMappingRecording",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "stopRecord",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "toBase64",
    "inputs": [
      {
        "name": "data",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toBase64",
    "inputs": [
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toBase64URL",
    "inputs": [
      {
        "name": "data",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toBase64URL",
    "inputs": [
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toLowercase",
    "inputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "output",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toString",
    "inputs": [
      {
        "name": "value",
        "type": "address",
        "internalType": "address"
      }
    ],
    "outputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toString",
    "inputs": [
      {
        "name": "value",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toString",
    "inputs": [
      {
        "name": "value",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toString",
    "inputs": [
      {
        "name": "value",
        "type": "bool",
        "internalType": "bool"
      }
    ],
    "outputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toString",
    "inputs": [
      {
        "name": "value",
        "type": "int256",
        "internalType": "int256"
      }
    ],
    "outputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toString",
    "inputs": [
      {
        "name": "value",
        "type": "bytes32",
        "internalType": "bytes32"
      }
    ],
    "outputs": [
      {
        "name": "stringifiedValue",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "toUppercase",
    "inputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "output",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "trim",
    "inputs": [
      {
        "name": "input",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [
      {
        "name": "output",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "tryFfi",
    "inputs": [
      {
        "name": "commandInput",
        "type": "string[]",
        "internalType": "string[]"
      }
    ],
    "outputs": [
      {
        "name": "result",
        "type": "tuple",
        "internalType": "struct VmSafe.FfiResult",
        "components": [
          {
            "name": "exitCode",
            "type": "int32",
            "internalType": "int32"
          },
          {
            "name": "stdout",
            "type": "bytes",
            "internalType": "bytes"
          },
          {
            "name": "stderr",
            "type": "bytes",
            "internalType": "bytes"
          }
        ]
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "unixTime",
    "inputs": [],
    "outputs": [
      {
        "name": "milliseconds",
        "type": "uint256",
        "internalType": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "writeFile",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "data",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "writeFileBinary",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "data",
        "type": "bytes",
        "internalType": "bytes"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "writeJson",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "writeJson",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "writeLine",
    "inputs": [
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "data",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "writeToml",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "valueKey",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "writeToml",
    "inputs": [
      {
        "name": "json",
        "type": "string",
        "internalType": "string"
      },
      {
        "name": "path",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  }
]