{
  "_format": "hh-sol-artifact-1",
  "contractName": "MultiStaticCall",
  "sourceName": "contracts/utils/MultiStaticCall.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "StaticCallReverted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bool",
          "name": "requireSuccess",
          "type": "bool"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "target",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct MultiStaticCall.Call[]",
          "name": "calls",
          "type": "tuple[]"
        }
      ],
      "name": "tryAggregate",
      "outputs": [
        {
          "components": [
            {
              "internalType": "bool",
              "name": "success",
              "type": "bool"
            },
            {
              "internalType": "bytes",
              "name": "returnData",
              "type": "bytes"
            }
          ],
          "internalType": "struct MultiStaticCall.Result[]",
          "name": "returnData",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bool",
          "name": "requireSuccess",
          "type": "bool"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "target",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct MultiStaticCall.Call[]",
          "name": "calls",
          "type": "tuple[]"
        }
      ],
      "name": "tryBlockAndAggregate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "components": [
            {
              "internalType": "bool",
              "name": "success",
              "type": "bool"
            },
            {
              "internalType": "bytes",
              "name": "returnData",
              "type": "bytes"
            }
          ],
          "internalType": "struct MultiStaticCall.Result[]",
          "name": "returnData",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60808060405234601557610614908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063399542e9146100695763bce38bd71461003257600080fd5b346100645761006061004c61004636610097565b916104d8565b604051918291602083526020830190610115565b0390f35b600080fd5b346100645761006061007d61004636610097565b604051918291438352604060208401526040830190610115565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610064576004358015158103610064579160243567ffffffffffffffff811161006457826023820112156100645780600401359267ffffffffffffffff84116100645760248460051b83010111610064576024019190565b9080602083519283815201916020808260051b8401019401926000925b82841061014157505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08282030183526020865180511515835201516040602083015280519081604084015260005b8281106101dc57505060206060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85600085879860019a0101520116010197019301940192919390610132565b806020809284010151606082870101520161018c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051906040820182811067ffffffffffffffff82111761024157604052565b6101f2565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761024157604052565b67ffffffffffffffff81116102415760051b60200190565b906102b46102af8361028a565b610246565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e2829461028a565b019060005b8281106102f357505050565b6020906102fe610221565b60008152606083820152828285010152016102e7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156103835760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc181360301821215610064570190565b610314565b3573ffffffffffffffffffffffffffffffffffffffff811681036100645790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610064570180359067ffffffffffffffff82116100645760200191813603831361006457565b908092918237016000815290565b3d1561045d573d9067ffffffffffffffff82116102415761045060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610246565b9182523d6000602084013e565b606090565b9183606094601f9273ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095168652604060208701528160408701528686013760008582860101520116010190565b80518210156103835760209160051b010190565b9291906104e4826102a2565b9360005b8381106104f55750505050565b610508610503828686610343565b610388565b610520610516838787610343565b60208101906103a9565b600080604094939451806105358186896103fa565b0390855afa92610543610408565b9286806105d6575b61058a575050509060019291610569610562610221565b9215158352565b602082015261057882896104c4565b5261058381886104c4565b50016104e8565b83519392841561059c57505050602001fd5b6105d2906040519384937f1199c44200000000000000000000000000000000000000000000000000000000855260048501610462565b0390fd5b50841561054b56fea26469706673582212201b803e4227b69d5d8aa5d03d967a67fe37c2690c9b49ff124cd13be168e0ccd864736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c8063399542e9146100695763bce38bd71461003257600080fd5b346100645761006061004c61004636610097565b916104d8565b604051918291602083526020830190610115565b0390f35b600080fd5b346100645761006061007d61004636610097565b604051918291438352604060208401526040830190610115565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610064576004358015158103610064579160243567ffffffffffffffff811161006457826023820112156100645780600401359267ffffffffffffffff84116100645760248460051b83010111610064576024019190565b9080602083519283815201916020808260051b8401019401926000925b82841061014157505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08282030183526020865180511515835201516040602083015280519081604084015260005b8281106101dc57505060206060837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85600085879860019a0101520116010197019301940192919390610132565b806020809284010151606082870101520161018c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051906040820182811067ffffffffffffffff82111761024157604052565b6101f2565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761024157604052565b67ffffffffffffffff81116102415760051b60200190565b906102b46102af8361028a565b610246565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06102e2829461028a565b019060005b8281106102f357505050565b6020906102fe610221565b60008152606083820152828285010152016102e7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156103835760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc181360301821215610064570190565b610314565b3573ffffffffffffffffffffffffffffffffffffffff811681036100645790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610064570180359067ffffffffffffffff82116100645760200191813603831361006457565b908092918237016000815290565b3d1561045d573d9067ffffffffffffffff82116102415761045060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601610246565b9182523d6000602084013e565b606090565b9183606094601f9273ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095168652604060208701528160408701528686013760008582860101520116010190565b80518210156103835760209160051b010190565b9291906104e4826102a2565b9360005b8381106104f55750505050565b610508610503828686610343565b610388565b610520610516838787610343565b60208101906103a9565b600080604094939451806105358186896103fa565b0390855afa92610543610408565b9286806105d6575b61058a575050509060019291610569610562610221565b9215158352565b602082015261057882896104c4565b5261058381886104c4565b50016104e8565b83519392841561059c57505050602001fd5b6105d2906040519384937f1199c44200000000000000000000000000000000000000000000000000000000855260048501610462565b0390fd5b50841561054b56fea26469706673582212201b803e4227b69d5d8aa5d03d967a67fe37c2690c9b49ff124cd13be168e0ccd864736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
