creation_sourcecode: {{
    "language": "Solidity",
    "sources": {
      "contracts/internal/BatchRead.sol": {
        "content": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.19;\n\ncontract BatchRead {\n    struct Read {\n        address to;\n        bytes data;\n    }\n\n    function batchRead(Read[] calldata data) external view returns (bytes[] memory) {\n        bytes[] memory results = new bytes[](data.length);\n        for (uint256 i; i < data.length; i++) {\n            (bool success, bytes memory result) = data[i].to.staticcall(data[i].data);\n            require(success, \"Static call failed\");\n            results[i] = result;\n        }\n\n        return results;\n    }\n\n    function balance(address addr) external view returns (uint256) {\n        return addr.balance;\n    }\n}\n"
      }
    },
    "settings": {
      "optimizer": {
        "enabled": true,
        "runs": 500
      },
      "outputSelection": {
        "*": {
          "*": [
            "evm.bytecode",
            "evm.deployedBytecode",
            "devdoc",
            "userdoc",
            "metadata",
            "abi"
          ]
        }
      },
      "libraries": {}
    }
  }}