{
  "_format": "hh-sol-artifact-1",
  "contractName": "WitnetRequestBytecodes",
  "sourceName": "contracts/WitnetRequestBytecodes.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "UnknownRadonReducer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "UnknownRadonRequest",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "UnknownRadonRetrieval",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "NewDataProvider",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "NewRadHash",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "NewRadonReducerHash",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "NewRadonRetrievalHash",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "bytecodeOf",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "radBytecode",
          "type": "bytes"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "sla",
          "type": "tuple"
        }
      ],
      "name": "bytecodeOf",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "committeeSize",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessingFeeNanoWit",
              "type": "uint64"
            }
          ],
          "internalType": "struct WitnetV2.RadonSLA",
          "name": "sla",
          "type": "tuple"
        }
      ],
      "name": "bytecodeOf",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "class",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "hashOf",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "lookupDataProvider",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "authority",
          "type": "string"
        }
      ],
      "name": "lookupDataProviderIndex",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "offset",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "lookupDataProviderSources",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonReducer",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRequestAggregator",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRequestResultDataType",
      "outputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRequestResultMaxSize",
      "outputs": [
        {
          "internalType": "uint16",
          "name": "",
          "type": "uint16"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRequestSources",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRequestSourcesCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRequestTally",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRetrieval",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataRequestMethods",
              "name": "method",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "resultDataType",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "url",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "body",
              "type": "string"
            },
            {
              "internalType": "string[2][]",
              "name": "headers",
              "type": "string[2][]"
            },
            {
              "internalType": "bytes",
              "name": "script",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRetrievalArgsCount",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "name": "lookupRadonRetrievalResultDataType",
      "outputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "specs",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalDataProviders",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum Witnet.RadonReducerOpcodes",
              "name": "opcode",
              "type": "uint8"
            },
            {
              "components": [
                {
                  "internalType": "enum Witnet.RadonFilterOpcodes",
                  "name": "opcode",
                  "type": "uint8"
                },
                {
                  "internalType": "bytes",
                  "name": "args",
                  "type": "bytes"
                }
              ],
              "internalType": "struct Witnet.RadonFilter[]",
              "name": "filters",
              "type": "tuple[]"
            }
          ],
          "internalType": "struct Witnet.RadonReducer",
          "name": "reducer",
          "type": "tuple"
        }
      ],
      "name": "verifyRadonReducer",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32[]",
          "name": "sources",
          "type": "bytes32[]"
        },
        {
          "internalType": "bytes32",
          "name": "aggregator",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "tally",
          "type": "bytes32"
        },
        {
          "internalType": "uint16",
          "name": "resultMaxSize",
          "type": "uint16"
        },
        {
          "internalType": "string[][]",
          "name": "args",
          "type": "string[][]"
        }
      ],
      "name": "verifyRadonRequest",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "radHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "enum Witnet.RadonDataRequestMethods",
          "name": "requestMethod",
          "type": "uint8"
        },
        {
          "internalType": "string",
          "name": "requestURL",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "requestBody",
          "type": "string"
        },
        {
          "internalType": "string[2][]",
          "name": "requestHeaders",
          "type": "string[2][]"
        },
        {
          "internalType": "bytes",
          "name": "requestRadonScript",
          "type": "bytes"
        }
      ],
      "name": "verifyRadonRetrieval",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "hash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
