{
  "contractName": "IWitPriceFeedsLegacy",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmOrigin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "evmSender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes4",
          "name": "erc2362Id4",
          "type": "bytes4"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "witOracleQueryId",
          "type": "uint256"
        }
      ],
      "name": "PullingUpdate",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "dataType",
      "outputs": [
        {
          "internalType": "enum Witnet.RadonDataTypes",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "defaultRadonSLA",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint8",
              "name": "minConsensusPercentage",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "witnessReward",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "witnessCollateral",
              "type": "uint64"
            },
            {
              "internalType": "uint64",
              "name": "minerCommitRevealFee",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv1",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "evmGasPrice",
          "type": "uint256"
        }
      ],
      "name": "estimateUpdateBaseFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "footprint",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "caption",
          "type": "string"
        }
      ],
      "name": "hash",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lastValidQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lastValidQueryResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "resultDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            }
          ],
          "internalType": "struct Witnet.QueryResponse",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestPrice",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "value",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus",
              "name": "latestStatus",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacySolver.Price",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4[]",
          "name": "feedIds",
          "type": "bytes4[]"
        }
      ],
      "name": "latestPrices",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint64",
              "name": "value",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "timestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "drTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "enum IWitPriceFeedsLegacySolver.LatestUpdateStatus",
              "name": "latestStatus",
              "type": "uint8"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacySolver.Price[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateQueryId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateQueryRequest",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "uint24",
              "name": "callbackGas",
              "type": "uint24"
            },
            {
              "internalType": "bytes",
              "name": "radonBytecode",
              "type": "bytes"
            },
            {
              "internalType": "Witnet.RadonHash",
              "name": "radonHash",
              "type": "bytes32"
            }
          ],
          "internalType": "struct Witnet.QueryRequest",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResponse",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "reporter",
              "type": "address"
            },
            {
              "internalType": "Witnet.Timestamp",
              "name": "resultTimestamp",
              "type": "uint64"
            },
            {
              "internalType": "Witnet.TransactionHash",
              "name": "resultDrTxHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "resultCborBytes",
              "type": "bytes"
            },
            {
              "internalType": "address",
              "name": "disputer",
              "type": "address"
            }
          ],
          "internalType": "struct Witnet.QueryResponse",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResponseStatus",
      "outputs": [
        {
          "internalType": "enum IWitOracleLegacy.QueryResponseStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "latestUpdateResultError",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "code",
              "type": "uint8"
            },
            {
              "internalType": "string",
              "name": "reason",
              "type": "string"
            }
          ],
          "internalType": "struct IWitOracleLegacy.ResultError",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "lookupCaption",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupDecimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "lookupPriceSolver",
      "outputs": [
        {
          "internalType": "address",
          "name": "solverAddress",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "solverDeps",
          "type": "string[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetBytecode",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetRadHash",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "lookupWitnetRetrievals",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "argsCount",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonRetrievalMethods",
              "name": "method",
              "type": "uint8"
            },
            {
              "internalType": "enum Witnet.RadonDataTypes",
              "name": "dataType",
              "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": "radonScript",
              "type": "bytes"
            }
          ],
          "internalType": "struct Witnet.RadonRetrieval[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "prefix",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "feedId",
          "type": "bytes4"
        }
      ],
      "name": "requestUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "usedFunds",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        },
        {
          "components": [
            {
              "internalType": "uint8",
              "name": "numWitnesses",
              "type": "uint8"
            },
            {
              "internalType": "uint64",
              "name": "unitaryReward",
              "type": "uint64"
            }
          ],
          "internalType": "struct IWitPriceFeedsLegacy.RadonSLAv2",
          "name": "",
          "type": "tuple"
        }
      ],
      "name": "requestUpdate",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "usedFunds",
          "type": "uint256"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "supportedFeeds",
      "outputs": [
        {
          "internalType": "bytes4[]",
          "name": "",
          "type": "bytes4[]"
        },
        {
          "internalType": "string[]",
          "name": "",
          "type": "string[]"
        },
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "name": "supportsCaption",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalFeeds",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "witnet",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmOrigin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"evmSender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"erc2362Id4\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"witOracleQueryId\",\"type\":\"uint256\"}],\"name\":\"PullingUpdate\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"dataType\",\"outputs\":[{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"defaultRadonSLA\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"minConsensusPercentage\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"witnessReward\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"witnessCollateral\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"minerCommitRevealFee\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv1\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"evmGasPrice\",\"type\":\"uint256\"}],\"name\":\"estimateUpdateBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"footprint\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"caption\",\"type\":\"string\"}],\"name\":\"hash\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lastValidQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lastValidQueryResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"resultDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.QueryResponse\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum IWitPriceFeedsLegacySolver.LatestUpdateStatus\",\"name\":\"latestStatus\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitPriceFeedsLegacySolver.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"feedIds\",\"type\":\"bytes4[]\"}],\"name\":\"latestPrices\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"value\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"timestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"drTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum IWitPriceFeedsLegacySolver.LatestUpdateStatus\",\"name\":\"latestStatus\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitPriceFeedsLegacySolver.Price[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateQueryId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateQueryRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"callbackGas\",\"type\":\"uint24\"},{\"internalType\":\"bytes\",\"name\":\"radonBytecode\",\"type\":\"bytes\"},{\"internalType\":\"Witnet.RadonHash\",\"name\":\"radonHash\",\"type\":\"bytes32\"}],\"internalType\":\"struct Witnet.QueryRequest\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResponse\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"Witnet.Timestamp\",\"name\":\"resultTimestamp\",\"type\":\"uint64\"},{\"internalType\":\"Witnet.TransactionHash\",\"name\":\"resultDrTxHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"resultCborBytes\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"internalType\":\"struct Witnet.QueryResponse\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResponseStatus\",\"outputs\":[{\"internalType\":\"enum IWitOracleLegacy.QueryResponseStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestUpdateResultError\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"code\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"internalType\":\"struct IWitOracleLegacy.ResultError\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"lookupCaption\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceSolver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"solverAddress\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"solverDeps\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetBytecode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetRadHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"lookupWitnetRetrievals\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"argsCount\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonRetrievalMethods\",\"name\":\"method\",\"type\":\"uint8\"},{\"internalType\":\"enum Witnet.RadonDataTypes\",\"name\":\"dataType\",\"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\":\"radonScript\",\"type\":\"bytes\"}],\"internalType\":\"struct Witnet.RadonRetrieval[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"prefix\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"requestUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"numWitnesses\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"unitaryReward\",\"type\":\"uint64\"}],\"internalType\":\"struct IWitPriceFeedsLegacy.RadonSLAv2\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"requestUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"usedFunds\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supportedFeeds\",\"outputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"\",\"type\":\"bytes4[]\"},{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"supportsCaption\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalFeeds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"witnet\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"events\":{\"PullingUpdate(address,address,bytes4,uint256)\":{\"notice\":\"A fresh update on the data feed identified as `erc2364Id4` has just been  requested and paid for by some `evmSender`, under command of the  `evmOrigin` externally owned account. \"}},\"kind\":\"user\",\"methods\":{\"dataType()\":{\"notice\":\"Primitive data type produced by successful data updates of all supported feeds (e.g. Witnet.RadonDataTypes.Integer in WitPriceFeeds).\"},\"footprint()\":{\"notice\":\"Returns a unique hash determined by the combination of data sources being used by  supported non-routed price feeds, and dependencies of all supported routed  price feeds. The footprint changes if any price feed is modified, added, removed  or if the dependency tree of any routed price feed is altered.\"},\"hash(string)\":{\"notice\":\"This pure function determines the ERC-2362 identifier of the given data feed  caption string, truncated to bytes4.\"},\"lastValidQueryId(bytes4)\":{\"notice\":\"Returns the query id (in the context of the WitOracle addressed by witOracle())  that solved the most recently updated value for the given feed.\"},\"lastValidQueryResponse(bytes4)\":{\"notice\":\"Returns the actual response from the Witnet oracle blockchain to the last  successful update for the given data feed.\"},\"latestUpdateQueryId(bytes4)\":{\"notice\":\"Returns the Witnet query id of the latest update attempt for the given data feed.\"},\"latestUpdateQueryRequest(bytes4)\":{\"notice\":\"Returns the actual request queried to the the Witnet oracle blockchain on the latest  update attempt for the given data feed.\"},\"lookupCaption(bytes4)\":{\"notice\":\"Returns the ERC-2362 caption of the given feed identifier, if known. \"},\"prefix()\":{\"notice\":\"ERC-2362 caption prefix shared by all supported feeds (e.g. \\\"Price-\\\" in WitPriceFeeds).\"},\"requestUpdate(bytes4)\":{\"notice\":\"Triggers a fresh update on the Witnet oracle blockchain for the given data feed,  using the defaultRadonSLA() security parameters.\"},\"supportedFeeds()\":{\"notice\":\"Returns the list of feed ERC-2362 ids, captions and RAD hashes of all currently supported  data feeds. The RAD hash of a data feed determines in a verifiable way the actual data sources  and off-chain computations solved by the Witnet oracle blockchain upon every data update.  The RAD hash value for a routed feed actually contains the address of the IWitnetPriceSolver  logic contract that solves it.\"},\"supportsCaption(string)\":{\"notice\":\"Tells whether the given ERC-2362 feed caption is currently supported.\"},\"totalFeeds()\":{\"notice\":\"Total number of data feeds, routed or not, that are currently supported.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol\":\"IWitPriceFeedsLegacy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/legacy/IWitOracleLegacy.sol\":{\"keccak256\":\"0xd2929c9aa5a02d261d6d1a068a6b7231ae58d8f81f081ba89f2d3267a31fbbb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://956b26323a02cf400c32012586954fc5dbc98b4d5b7a8b0533401cbda8619059\",\"dweb:/ipfs/QmSWdCRwL5t3atFM8osdaohLTqEEmY1FbnR6xrRCmw1GDM\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequest.sol\":{\"keccak256\":\"0x0fb3f0ba03f4f7a0214ecb36df26525564cf51a8a2176cba92c185af8a1d419e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://340b7bdb92c3259519fe120eb3061b393e7a5e9c1b576a2fe4eab020af466b64\",\"dweb:/ipfs/QmRt4wMX9WdxFwfdFMUZ3zKMAW1grS7qLk1x1PDMJdEAVU\"]},\"project:/contracts/interfaces/legacy/IWitOracleRequestTemplate.sol\":{\"keccak256\":\"0x9e065ef5880c64eefff5fcfb1347fde6684e0e311f8c2350a6aefdbd1f8b0f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://817de760c7cce9d00dcd4312aea6434d88abddf1c0e68ea7e8fb1e6c5165a445\",\"dweb:/ipfs/QmUNmtn85nFXbje2nRJQY2h65KJCVinDMMU6P2jQmo1Nij\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol\":{\"keccak256\":\"0x13222d4ec5a538477e792ff63338a12db2c0071d81a61aad7a046ad2880cefd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f564e6a69264f7e0679525022978f9833a0f1273ef606e554c2a18ba964d13\",\"dweb:/ipfs/QmaAVfsvnJQvYwdsnYSXAnbJWopp15PR3atXxCwZS3AANC\"]},\"project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolver.sol\":{\"keccak256\":\"0x9543c5a64bbd38a3d1af6d00badda31c8c1fc90412efc7894023277e1e6b7490\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab133acd1c20af1f676bf17017c77e4918338fdbad764660e42d892a5f412eaf\",\"dweb:/ipfs/QmeQFGuv3jm46R4bux8NaW56SbFWHvvBNCqFzfafgtWi1W\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"./IWitOracleLegacy.sol\";\r\nimport \"./IWitPriceFeedsLegacySolver.sol\";\r\n\r\ninterface IWitPriceFeedsLegacy {   \r\n\r\n    /// A fresh update on the data feed identified as `erc2364Id4` has just been \r\n    /// requested and paid for by some `evmSender`, under command of the \r\n    /// `evmOrigin` externally owned account. \r\n    event PullingUpdate(\r\n        address evmOrigin,\r\n        address evmSender,\r\n        bytes4  erc2362Id4,\r\n        uint256 witOracleQueryId\r\n    );\r\n\r\n    struct RadonSLAv1 {\r\n        uint8 numWitnesses;\r\n        uint8 minConsensusPercentage;\r\n        uint64 witnessReward;\r\n        uint64 witnessCollateral;\r\n        uint64 minerCommitRevealFee;\r\n    }\r\n\r\n    struct RadonSLAv2 {\r\n        uint8  numWitnesses;\r\n        uint64 unitaryReward;\r\n    }\r\n\r\n    /// Primitive data type produced by successful data updates of all supported\r\n    /// feeds (e.g. Witnet.RadonDataTypes.Integer in WitPriceFeeds).\r\n    function dataType() external view returns (Witnet.RadonDataTypes);\r\n    \r\n    function defaultRadonSLA() external view returns (RadonSLAv1 memory);\r\n\r\n    function estimateUpdateBaseFee(uint256 evmGasPrice) external view returns (uint);\r\n\r\n    /// Returns a unique hash determined by the combination of data sources being used by \r\n    /// supported non-routed price feeds, and dependencies of all supported routed \r\n    /// price feeds. The footprint changes if any price feed is modified, added, removed \r\n    /// or if the dependency tree of any routed price feed is altered.\r\n    function footprint() external view returns (bytes4);\r\n\r\n    /// This pure function determines the ERC-2362 identifier of the given data feed \r\n    /// caption string, truncated to bytes4.\r\n    function hash(string calldata caption) external pure returns (bytes4);\r\n\r\n    /// Returns the query id (in the context of the WitOracle addressed by witOracle()) \r\n    /// that solved the most recently updated value for the given feed.\r\n    function lastValidQueryId(bytes4 feedId) external view returns (uint256);\r\n\r\n    /// Returns the actual response from the Witnet oracle blockchain to the last \r\n    /// successful update for the given data feed.\r\n    function lastValidQueryResponse(bytes4 feedId) external view returns (Witnet.QueryResponse memory);\r\n\r\n    function latestPrice(bytes4 feedId) external view returns (IWitPriceFeedsLegacySolver.Price memory);\r\n    function latestPrices(bytes4[] calldata feedIds)  external view returns (IWitPriceFeedsLegacySolver.Price[] memory);\r\n\r\n    /// Returns the Witnet query id of the latest update attempt for the given data feed.\r\n    function latestUpdateQueryId(bytes4 feedId) external view returns (uint256);\r\n\r\n    /// Returns the actual request queried to the the Witnet oracle blockchain on the latest \r\n    /// update attempt for the given data feed.\r\n    function latestUpdateQueryRequest(bytes4 feedId) external view returns (Witnet.QueryRequest memory);\r\n\r\n    function latestUpdateResponse(bytes4 feedId) external view returns (Witnet.QueryResponse memory);\r\n    function latestUpdateResponseStatus(bytes4 feedId) external view returns (IWitOracleLegacy.QueryResponseStatus);\r\n    function latestUpdateResultError(bytes4 feedId) external view returns (IWitOracleLegacy.ResultError memory);\r\n\r\n    /// Returns the ERC-2362 caption of the given feed identifier, if known. \r\n    function lookupCaption(bytes4) external view returns (string memory);\r\n\r\n    function lookupDecimals(bytes4 feedId) external view returns (uint8);    \r\n    function lookupPriceSolver(bytes4 feedId) external view returns (\r\n            address solverAddress, \r\n            string[] memory solverDeps\r\n        );\r\n    \r\n    function lookupWitnetBytecode(bytes4) external view returns (bytes memory);\r\n    function lookupWitnetRadHash(bytes4) external view returns (bytes32);\r\n    function lookupWitnetRetrievals(bytes4) external view returns (Witnet.RadonRetrieval[] memory);\r\n    \r\n    /// ERC-2362 caption prefix shared by all supported feeds (e.g. \"Price-\" in WitPriceFeeds).\r\n    function prefix() external view returns (string memory);\r\n    \r\n    /// Triggers a fresh update on the Witnet oracle blockchain for the given data feed, \r\n    /// using the defaultRadonSLA() security parameters.\r\n    function requestUpdate(bytes4 feedId) external payable returns (uint256 usedFunds);\r\n    function requestUpdate(bytes4, RadonSLAv2 calldata) external payable returns (uint256 usedFunds);\r\n\r\n    /// Returns the list of feed ERC-2362 ids, captions and RAD hashes of all currently supported \r\n    /// data feeds. The RAD hash of a data feed determines in a verifiable way the actual data sources \r\n    /// and off-chain computations solved by the Witnet oracle blockchain upon every data update. \r\n    /// The RAD hash value for a routed feed actually contains the address of the IWitnetPriceSolver \r\n    /// logic contract that solves it.\r\n    function supportedFeeds() external view returns (bytes4[] memory, string[] memory, bytes32[] memory);\r\n\r\n    /// Tells whether the given ERC-2362 feed caption is currently supported.\r\n    function supportsCaption(string calldata) external view returns (bool);\r\n\r\n    /// Total number of data feeds, routed or not, that are currently supported.\r\n    function totalFeeds() external view returns (uint256);\r\n\r\n    function witnet() external view returns (address);\r\n}\r\n",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\interfaces\\legacy\\IWitPriceFeedsLegacy.sol",
  "ast": {
    "absolutePath": "project:/contracts/interfaces/legacy/IWitPriceFeedsLegacy.sol",
    "exportedSymbols": {
      "Bech32": [
        31372
      ],
      "IWitOracleLegacy": [
        28786
      ],
      "IWitOracleRadonRegistry": [
        27394
      ],
      "IWitOracleRequest": [
        28922
      ],
      "IWitOracleRequestTemplate": [
        29115
      ],
      "IWitPriceFeedsLegacy": [
        29361
      ],
      "IWitPriceFeedsLegacySolver": [
        29521
      ],
      "Secp256k1": [
        32535
      ],
      "Witnet": [
        40741
      ],
      "WitnetBuffer": [
        42631
      ],
      "WitnetCBOR": [
        44174
      ]
    },
    "id": 29362,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 29117,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:99"
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitOracleLegacy.sol",
        "file": "./IWitOracleLegacy.sol",
        "id": 29118,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 29362,
        "sourceUnit": 28787,
        "src": "70:32:99",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitPriceFeedsLegacySolver.sol",
        "file": "./IWitPriceFeedsLegacySolver.sol",
        "id": 29119,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 29362,
        "sourceUnit": 29522,
        "src": "104:42:99",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "IWitPriceFeedsLegacy",
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 29361,
        "linearizedBaseContracts": [
          29361
        ],
        "name": "IWitPriceFeedsLegacy",
        "nameLocation": "160:20:99",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": {
              "id": 29120,
              "nodeType": "StructuredDocumentation",
              "src": "193:200:99",
              "text": "A fresh update on the data feed identified as `erc2364Id4` has just been \n requested and paid for by some `evmSender`, under command of the \n `evmOrigin` externally owned account. "
            },
            "eventSelector": "0bd652a116bb5006c2e07594e8a3fe9b5ba51acf6cd9572568913fda51ad26c4",
            "id": 29130,
            "name": "PullingUpdate",
            "nameLocation": "405:13:99",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 29129,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29122,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "evmOrigin",
                  "nameLocation": "437:9:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29130,
                  "src": "429:17:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 29121,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "429:7:99",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 29124,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "evmSender",
                  "nameLocation": "465:9:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29130,
                  "src": "457:17:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 29123,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "457:7:99",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 29126,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "erc2362Id4",
                  "nameLocation": "493:10:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29130,
                  "src": "485:18:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29125,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "485:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 29128,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "witOracleQueryId",
                  "nameLocation": "522:16:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29130,
                  "src": "514:24:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29127,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "514:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "418:127:99"
            },
            "src": "399:147:99"
          },
          {
            "canonicalName": "IWitPriceFeedsLegacy.RadonSLAv1",
            "id": 29141,
            "members": [
              {
                "constant": false,
                "id": 29132,
                "mutability": "mutable",
                "name": "numWitnesses",
                "nameLocation": "589:12:99",
                "nodeType": "VariableDeclaration",
                "scope": 29141,
                "src": "583:18:99",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint8",
                  "typeString": "uint8"
                },
                "typeName": {
                  "id": 29131,
                  "name": "uint8",
                  "nodeType": "ElementaryTypeName",
                  "src": "583:5:99",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 29134,
                "mutability": "mutable",
                "name": "minConsensusPercentage",
                "nameLocation": "618:22:99",
                "nodeType": "VariableDeclaration",
                "scope": 29141,
                "src": "612:28:99",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint8",
                  "typeString": "uint8"
                },
                "typeName": {
                  "id": 29133,
                  "name": "uint8",
                  "nodeType": "ElementaryTypeName",
                  "src": "612:5:99",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 29136,
                "mutability": "mutable",
                "name": "witnessReward",
                "nameLocation": "658:13:99",
                "nodeType": "VariableDeclaration",
                "scope": 29141,
                "src": "651:20:99",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint64",
                  "typeString": "uint64"
                },
                "typeName": {
                  "id": 29135,
                  "name": "uint64",
                  "nodeType": "ElementaryTypeName",
                  "src": "651:6:99",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 29138,
                "mutability": "mutable",
                "name": "witnessCollateral",
                "nameLocation": "689:17:99",
                "nodeType": "VariableDeclaration",
                "scope": 29141,
                "src": "682:24:99",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint64",
                  "typeString": "uint64"
                },
                "typeName": {
                  "id": 29137,
                  "name": "uint64",
                  "nodeType": "ElementaryTypeName",
                  "src": "682:6:99",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 29140,
                "mutability": "mutable",
                "name": "minerCommitRevealFee",
                "nameLocation": "724:20:99",
                "nodeType": "VariableDeclaration",
                "scope": 29141,
                "src": "717:27:99",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint64",
                  "typeString": "uint64"
                },
                "typeName": {
                  "id": 29139,
                  "name": "uint64",
                  "nodeType": "ElementaryTypeName",
                  "src": "717:6:99",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RadonSLAv1",
            "nameLocation": "561:10:99",
            "nodeType": "StructDefinition",
            "scope": 29361,
            "src": "554:198:99",
            "visibility": "public"
          },
          {
            "canonicalName": "IWitPriceFeedsLegacy.RadonSLAv2",
            "id": 29146,
            "members": [
              {
                "constant": false,
                "id": 29143,
                "mutability": "mutable",
                "name": "numWitnesses",
                "nameLocation": "796:12:99",
                "nodeType": "VariableDeclaration",
                "scope": 29146,
                "src": "789:19:99",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint8",
                  "typeString": "uint8"
                },
                "typeName": {
                  "id": 29142,
                  "name": "uint8",
                  "nodeType": "ElementaryTypeName",
                  "src": "789:5:99",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 29145,
                "mutability": "mutable",
                "name": "unitaryReward",
                "nameLocation": "826:13:99",
                "nodeType": "VariableDeclaration",
                "scope": 29146,
                "src": "819:20:99",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint64",
                  "typeString": "uint64"
                },
                "typeName": {
                  "id": 29144,
                  "name": "uint64",
                  "nodeType": "ElementaryTypeName",
                  "src": "819:6:99",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "RadonSLAv2",
            "nameLocation": "767:10:99",
            "nodeType": "StructDefinition",
            "scope": 29361,
            "src": "760:87:99",
            "visibility": "public"
          },
          {
            "documentation": {
              "id": 29147,
              "nodeType": "StructuredDocumentation",
              "src": "855:146:99",
              "text": "Primitive data type produced by successful data updates of all supported\n feeds (e.g. Witnet.RadonDataTypes.Integer in WitPriceFeeds)."
            },
            "functionSelector": "6175ff00",
            "id": 29153,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "dataType",
            "nameLocation": "1016:8:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29148,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1024:2:99"
            },
            "returnParameters": {
              "id": 29152,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29151,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29153,
                  "src": "1050:21:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                    "typeString": "enum Witnet.RadonDataTypes"
                  },
                  "typeName": {
                    "id": 29150,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29149,
                      "name": "Witnet.RadonDataTypes",
                      "nameLocations": [
                        "1050:6:99",
                        "1057:14:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37720,
                      "src": "1050:21:99"
                    },
                    "referencedDeclaration": 37720,
                    "src": "1050:21:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_RadonDataTypes_$37720",
                      "typeString": "enum Witnet.RadonDataTypes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1049:23:99"
            },
            "scope": 29361,
            "src": "1007:66:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6d1178e5",
            "id": 29159,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "defaultRadonSLA",
            "nameLocation": "1094:15:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29154,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1109:2:99"
            },
            "returnParameters": {
              "id": 29158,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29157,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29159,
                  "src": "1135:17:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv1_$29141_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1"
                  },
                  "typeName": {
                    "id": 29156,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29155,
                      "name": "RadonSLAv1",
                      "nameLocations": [
                        "1135:10:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29141,
                      "src": "1135:10:99"
                    },
                    "referencedDeclaration": 29141,
                    "src": "1135:10:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv1_$29141_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv1"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1134:19:99"
            },
            "scope": 29361,
            "src": "1085:69:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c064d372",
            "id": 29166,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "estimateUpdateBaseFee",
            "nameLocation": "1171:21:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29162,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29161,
                  "mutability": "mutable",
                  "name": "evmGasPrice",
                  "nameLocation": "1201:11:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29166,
                  "src": "1193:19:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29160,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1193:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1192:21:99"
            },
            "returnParameters": {
              "id": 29165,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29164,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29166,
                  "src": "1237:4:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29163,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1237:4:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1236:6:99"
            },
            "scope": 29361,
            "src": "1162:81:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29167,
              "nodeType": "StructuredDocumentation",
              "src": "1251:334:99",
              "text": "Returns a unique hash determined by the combination of data sources being used by \n supported non-routed price feeds, and dependencies of all supported routed \n price feeds. The footprint changes if any price feed is modified, added, removed \n or if the dependency tree of any routed price feed is altered."
            },
            "functionSelector": "8a416ea9",
            "id": 29172,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "footprint",
            "nameLocation": "1600:9:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29168,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1609:2:99"
            },
            "returnParameters": {
              "id": 29171,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29170,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29172,
                  "src": "1635:6:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29169,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "1635:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1634:8:99"
            },
            "scope": 29361,
            "src": "1591:52:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29173,
              "nodeType": "StructuredDocumentation",
              "src": "1651:127:99",
              "text": "This pure function determines the ERC-2362 identifier of the given data feed \n caption string, truncated to bytes4."
            },
            "functionSelector": "b411ee94",
            "id": 29180,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "hash",
            "nameLocation": "1793:4:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29176,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29175,
                  "mutability": "mutable",
                  "name": "caption",
                  "nameLocation": "1814:7:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29180,
                  "src": "1798:23:99",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 29174,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1798:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1797:25:99"
            },
            "returnParameters": {
              "id": 29179,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29178,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29180,
                  "src": "1846:6:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29177,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "1846:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1845:8:99"
            },
            "scope": 29361,
            "src": "1784:70:99",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29181,
              "nodeType": "StructuredDocumentation",
              "src": "1862:157:99",
              "text": "Returns the query id (in the context of the WitOracle addressed by witOracle()) \n that solved the most recently updated value for the given feed."
            },
            "functionSelector": "029db958",
            "id": 29188,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryId",
            "nameLocation": "2034:16:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29184,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29183,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "2058:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29188,
                  "src": "2051:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29182,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2051:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2050:15:99"
            },
            "returnParameters": {
              "id": 29187,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29186,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29188,
                  "src": "2089:7:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29185,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2089:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2088:9:99"
            },
            "scope": 29361,
            "src": "2025:73:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29189,
              "nodeType": "StructuredDocumentation",
              "src": "2106:130:99",
              "text": "Returns the actual response from the Witnet oracle blockchain to the last \n successful update for the given data feed."
            },
            "functionSelector": "cfae6929",
            "id": 29197,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lastValidQueryResponse",
            "nameLocation": "2251:22:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29192,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29191,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "2281:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29197,
                  "src": "2274:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29190,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2274:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2273:15:99"
            },
            "returnParameters": {
              "id": 29196,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29195,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29197,
                  "src": "2312:27:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                    "typeString": "struct Witnet.QueryResponse"
                  },
                  "typeName": {
                    "id": 29194,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29193,
                      "name": "Witnet.QueryResponse",
                      "nameLocations": [
                        "2312:6:99",
                        "2319:13:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37365,
                      "src": "2312:20:99"
                    },
                    "referencedDeclaration": 37365,
                    "src": "2312:20:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_storage_ptr",
                      "typeString": "struct Witnet.QueryResponse"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2311:29:99"
            },
            "scope": 29361,
            "src": "2242:99:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "c3d98ea8",
            "id": 29205,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrice",
            "nameLocation": "2358:11:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29200,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29199,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "2377:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29205,
                  "src": "2370:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29198,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2370:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2369:15:99"
            },
            "returnParameters": {
              "id": 29204,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29203,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29205,
                  "src": "2408:39:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Price_$29489_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                  },
                  "typeName": {
                    "id": 29202,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29201,
                      "name": "IWitPriceFeedsLegacySolver.Price",
                      "nameLocations": [
                        "2408:26:99",
                        "2435:5:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29489,
                      "src": "2408:32:99"
                    },
                    "referencedDeclaration": 29489,
                    "src": "2408:32:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2407:41:99"
            },
            "scope": 29361,
            "src": "2349:100:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f9f34bb6",
            "id": 29215,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "latestPrices",
            "nameLocation": "2464:12:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29209,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29208,
                  "mutability": "mutable",
                  "name": "feedIds",
                  "nameLocation": "2495:7:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29215,
                  "src": "2477:25:99",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 29206,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "2477:6:99",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 29207,
                    "nodeType": "ArrayTypeName",
                    "src": "2477:8:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2476:27:99"
            },
            "returnParameters": {
              "id": 29214,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29213,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29215,
                  "src": "2528:41:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_Price_$29489_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 29211,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 29210,
                        "name": "IWitPriceFeedsLegacySolver.Price",
                        "nameLocations": [
                          "2528:26:99",
                          "2555:5:99"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 29489,
                        "src": "2528:32:99"
                      },
                      "referencedDeclaration": 29489,
                      "src": "2528:32:99",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Price_$29489_storage_ptr",
                        "typeString": "struct IWitPriceFeedsLegacySolver.Price"
                      }
                    },
                    "id": 29212,
                    "nodeType": "ArrayTypeName",
                    "src": "2528:34:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_Price_$29489_storage_$dyn_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacySolver.Price[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2527:43:99"
            },
            "scope": 29361,
            "src": "2455:116:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29216,
              "nodeType": "StructuredDocumentation",
              "src": "2579:85:99",
              "text": "Returns the Witnet query id of the latest update attempt for the given data feed."
            },
            "functionSelector": "5be93984",
            "id": 29223,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryId",
            "nameLocation": "2679:19:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29219,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29218,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "2706:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29223,
                  "src": "2699:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29217,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2699:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2698:15:99"
            },
            "returnParameters": {
              "id": 29222,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29221,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29223,
                  "src": "2737:7:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29220,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2737:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2736:9:99"
            },
            "scope": 29361,
            "src": "2670:76:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29224,
              "nodeType": "StructuredDocumentation",
              "src": "2754:138:99",
              "text": "Returns the actual request queried to the the Witnet oracle blockchain on the latest \n update attempt for the given data feed."
            },
            "functionSelector": "5c0d9d80",
            "id": 29232,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateQueryRequest",
            "nameLocation": "2907:24:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29227,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29226,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "2939:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29232,
                  "src": "2932:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29225,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2932:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2931:15:99"
            },
            "returnParameters": {
              "id": 29231,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29230,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29232,
                  "src": "2970:26:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryRequest_$37351_memory_ptr",
                    "typeString": "struct Witnet.QueryRequest"
                  },
                  "typeName": {
                    "id": 29229,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29228,
                      "name": "Witnet.QueryRequest",
                      "nameLocations": [
                        "2970:6:99",
                        "2977:12:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37351,
                      "src": "2970:19:99"
                    },
                    "referencedDeclaration": 37351,
                    "src": "2970:19:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryRequest_$37351_storage_ptr",
                      "typeString": "struct Witnet.QueryRequest"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2969:28:99"
            },
            "scope": 29361,
            "src": "2898:100:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "d3471e34",
            "id": 29240,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponse",
            "nameLocation": "3015:20:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29235,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29234,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3043:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29240,
                  "src": "3036:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29233,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3036:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3035:15:99"
            },
            "returnParameters": {
              "id": 29239,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29238,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29240,
                  "src": "3074:27:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_QueryResponse_$37365_memory_ptr",
                    "typeString": "struct Witnet.QueryResponse"
                  },
                  "typeName": {
                    "id": 29237,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29236,
                      "name": "Witnet.QueryResponse",
                      "nameLocations": [
                        "3074:6:99",
                        "3081:13:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 37365,
                      "src": "3074:20:99"
                    },
                    "referencedDeclaration": 37365,
                    "src": "3074:20:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_QueryResponse_$37365_storage_ptr",
                      "typeString": "struct Witnet.QueryResponse"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3073:29:99"
            },
            "scope": 29361,
            "src": "3006:97:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f14cb812",
            "id": 29248,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResponseStatus",
            "nameLocation": "3118:26:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29243,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29242,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3152:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29248,
                  "src": "3145:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29241,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3145:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3144:15:99"
            },
            "returnParameters": {
              "id": 29247,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29246,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29248,
                  "src": "3183:36:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                    "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                  },
                  "typeName": {
                    "id": 29245,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29244,
                      "name": "IWitOracleLegacy.QueryResponseStatus",
                      "nameLocations": [
                        "3183:16:99",
                        "3200:19:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28682,
                      "src": "3183:36:99"
                    },
                    "referencedDeclaration": 28682,
                    "src": "3183:36:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_enum$_QueryResponseStatus_$28682",
                      "typeString": "enum IWitOracleLegacy.QueryResponseStatus"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3182:38:99"
            },
            "scope": 29361,
            "src": "3109:112:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "49492ef1",
            "id": 29256,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "latestUpdateResultError",
            "nameLocation": "3236:23:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29251,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29250,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3267:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29256,
                  "src": "3260:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29249,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3260:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3259:15:99"
            },
            "returnParameters": {
              "id": 29255,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29254,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29256,
                  "src": "3298:35:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_ResultError_$28705_memory_ptr",
                    "typeString": "struct IWitOracleLegacy.ResultError"
                  },
                  "typeName": {
                    "id": 29253,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29252,
                      "name": "IWitOracleLegacy.ResultError",
                      "nameLocations": [
                        "3298:16:99",
                        "3315:11:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 28705,
                      "src": "3298:28:99"
                    },
                    "referencedDeclaration": 28705,
                    "src": "3298:28:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_ResultError_$28705_storage_ptr",
                      "typeString": "struct IWitOracleLegacy.ResultError"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3297:37:99"
            },
            "scope": 29361,
            "src": "3227:108:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29257,
              "nodeType": "StructuredDocumentation",
              "src": "3343:73:99",
              "text": "Returns the ERC-2362 caption of the given feed identifier, if known. "
            },
            "functionSelector": "ef1dff2b",
            "id": 29264,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lookupCaption",
            "nameLocation": "3431:13:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29260,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29259,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29264,
                  "src": "3445:6:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29258,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3445:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3444:8:99"
            },
            "returnParameters": {
              "id": 29263,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29262,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29264,
                  "src": "3476:13:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 29261,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "3476:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3475:15:99"
            },
            "scope": 29361,
            "src": "3422:69:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "6ab221f8",
            "id": 29271,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lookupDecimals",
            "nameLocation": "3508:14:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29267,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29266,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3530:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29271,
                  "src": "3523:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29265,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3523:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3522:15:99"
            },
            "returnParameters": {
              "id": 29270,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29269,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29271,
                  "src": "3561:5:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 29268,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "3561:5:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3560:7:99"
            },
            "scope": 29361,
            "src": "3499:69:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "384ac938",
            "id": 29281,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lookupPriceSolver",
            "nameLocation": "3587:17:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29274,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29273,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "3612:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29281,
                  "src": "3605:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29272,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3605:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3604:15:99"
            },
            "returnParameters": {
              "id": 29280,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29276,
                  "mutability": "mutable",
                  "name": "solverAddress",
                  "nameLocation": "3665:13:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29281,
                  "src": "3657:21:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 29275,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3657:7:99",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 29279,
                  "mutability": "mutable",
                  "name": "solverDeps",
                  "nameLocation": "3710:10:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29281,
                  "src": "3694:26:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 29277,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "3694:6:99",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 29278,
                    "nodeType": "ArrayTypeName",
                    "src": "3694:8:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3642:89:99"
            },
            "scope": 29361,
            "src": "3578:154:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "4efef9c0",
            "id": 29288,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetBytecode",
            "nameLocation": "3753:20:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29284,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29283,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29288,
                  "src": "3774:6:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29282,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3774:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3773:8:99"
            },
            "returnParameters": {
              "id": 29287,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29286,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29288,
                  "src": "3805:12:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 29285,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "3805:5:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3804:14:99"
            },
            "scope": 29361,
            "src": "3744:75:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8df3fdfd",
            "id": 29295,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRadHash",
            "nameLocation": "3834:19:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29291,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29290,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29295,
                  "src": "3854:6:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29289,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3854:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3853:8:99"
            },
            "returnParameters": {
              "id": 29294,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29293,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29295,
                  "src": "3885:7:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 29292,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3885:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3884:9:99"
            },
            "scope": 29361,
            "src": "3825:69:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "806d7e8f",
            "id": 29304,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "lookupWitnetRetrievals",
            "nameLocation": "3909:22:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29298,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29297,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29304,
                  "src": "3932:6:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29296,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "3932:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3931:8:99"
            },
            "returnParameters": {
              "id": 29303,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29302,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29304,
                  "src": "3963:30:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_memory_ptr_$dyn_memory_ptr",
                    "typeString": "struct Witnet.RadonRetrieval[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 29300,
                      "nodeType": "UserDefinedTypeName",
                      "pathNode": {
                        "id": 29299,
                        "name": "Witnet.RadonRetrieval",
                        "nameLocations": [
                          "3963:6:99",
                          "3970:14:99"
                        ],
                        "nodeType": "IdentifierPath",
                        "referencedDeclaration": 37795,
                        "src": "3963:21:99"
                      },
                      "referencedDeclaration": 37795,
                      "src": "3963:21:99",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_RadonRetrieval_$37795_storage_ptr",
                        "typeString": "struct Witnet.RadonRetrieval"
                      }
                    },
                    "id": 29301,
                    "nodeType": "ArrayTypeName",
                    "src": "3963:23:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_struct$_RadonRetrieval_$37795_storage_$dyn_storage_ptr",
                      "typeString": "struct Witnet.RadonRetrieval[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3962:32:99"
            },
            "scope": 29361,
            "src": "3900:95:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29305,
              "nodeType": "StructuredDocumentation",
              "src": "4007:91:99",
              "text": "ERC-2362 caption prefix shared by all supported feeds (e.g. \"Price-\" in WitPriceFeeds)."
            },
            "functionSelector": "75dadb32",
            "id": 29310,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "prefix",
            "nameLocation": "4113:6:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29306,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4119:2:99"
            },
            "returnParameters": {
              "id": 29309,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29308,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29310,
                  "src": "4145:13:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 29307,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4145:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4144:15:99"
            },
            "scope": 29361,
            "src": "4104:56:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29311,
              "nodeType": "StructuredDocumentation",
              "src": "4172:143:99",
              "text": "Triggers a fresh update on the Witnet oracle blockchain for the given data feed, \n using the defaultRadonSLA() security parameters."
            },
            "functionSelector": "3e088e12",
            "id": 29318,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "4330:13:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29314,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29313,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "4351:6:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29318,
                  "src": "4344:13:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29312,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "4344:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4343:15:99"
            },
            "returnParameters": {
              "id": 29317,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29316,
                  "mutability": "mutable",
                  "name": "usedFunds",
                  "nameLocation": "4393:9:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29318,
                  "src": "4385:17:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29315,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4385:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4384:19:99"
            },
            "scope": 29361,
            "src": "4321:83:99",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "abc86c6e",
            "id": 29328,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "requestUpdate",
            "nameLocation": "4419:13:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29324,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29320,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29328,
                  "src": "4433:6:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 29319,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "4433:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 29323,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29328,
                  "src": "4441:19:99",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_RadonSLAv2_$29146_calldata_ptr",
                    "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                  },
                  "typeName": {
                    "id": 29322,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 29321,
                      "name": "RadonSLAv2",
                      "nameLocations": [
                        "4441:10:99"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 29146,
                      "src": "4441:10:99"
                    },
                    "referencedDeclaration": 29146,
                    "src": "4441:10:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_RadonSLAv2_$29146_storage_ptr",
                      "typeString": "struct IWitPriceFeedsLegacy.RadonSLAv2"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4432:29:99"
            },
            "returnParameters": {
              "id": 29327,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29326,
                  "mutability": "mutable",
                  "name": "usedFunds",
                  "nameLocation": "4496:9:99",
                  "nodeType": "VariableDeclaration",
                  "scope": 29328,
                  "src": "4488:17:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29325,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "4488:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "4487:19:99"
            },
            "scope": 29361,
            "src": "4410:97:99",
            "stateMutability": "payable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29329,
              "nodeType": "StructuredDocumentation",
              "src": "4515:442:99",
              "text": "Returns the list of feed ERC-2362 ids, captions and RAD hashes of all currently supported \n data feeds. The RAD hash of a data feed determines in a verifiable way the actual data sources \n and off-chain computations solved by the Witnet oracle blockchain upon every data update. \n The RAD hash value for a routed feed actually contains the address of the IWitnetPriceSolver \n logic contract that solves it."
            },
            "functionSelector": "0306732e",
            "id": 29341,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "supportedFeeds",
            "nameLocation": "4972:14:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29330,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "4986:2:99"
            },
            "returnParameters": {
              "id": 29340,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29333,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29341,
                  "src": "5012:15:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 29331,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "5012:6:99",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 29332,
                    "nodeType": "ArrayTypeName",
                    "src": "5012:8:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 29336,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29341,
                  "src": "5029:15:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr",
                    "typeString": "string[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 29334,
                      "name": "string",
                      "nodeType": "ElementaryTypeName",
                      "src": "5029:6:99",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage_ptr",
                        "typeString": "string"
                      }
                    },
                    "id": 29335,
                    "nodeType": "ArrayTypeName",
                    "src": "5029:8:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                      "typeString": "string[]"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 29339,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29341,
                  "src": "5046:16:99",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 29337,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "5046:7:99",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 29338,
                    "nodeType": "ArrayTypeName",
                    "src": "5046:9:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5011:52:99"
            },
            "scope": 29361,
            "src": "4963:101:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29342,
              "nodeType": "StructuredDocumentation",
              "src": "5072:73:99",
              "text": "Tells whether the given ERC-2362 feed caption is currently supported."
            },
            "functionSelector": "c5010d17",
            "id": 29349,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "supportsCaption",
            "nameLocation": "5160:15:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29345,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29344,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29349,
                  "src": "5176:15:99",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 29343,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5176:6:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5175:17:99"
            },
            "returnParameters": {
              "id": 29348,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29347,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29349,
                  "src": "5216:4:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 29346,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "5216:4:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5215:6:99"
            },
            "scope": 29361,
            "src": "5151:71:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 29350,
              "nodeType": "StructuredDocumentation",
              "src": "5230:76:99",
              "text": "Total number of data feeds, routed or not, that are currently supported."
            },
            "functionSelector": "d6a3614f",
            "id": 29355,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "totalFeeds",
            "nameLocation": "5321:10:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29351,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5331:2:99"
            },
            "returnParameters": {
              "id": 29354,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29353,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29355,
                  "src": "5357:7:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 29352,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "5357:7:99",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5356:9:99"
            },
            "scope": 29361,
            "src": "5312:54:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "46d1d21a",
            "id": 29360,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "witnet",
            "nameLocation": "5383:6:99",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 29356,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5389:2:99"
            },
            "returnParameters": {
              "id": 29359,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 29358,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 29360,
                  "src": "5415:7:99",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 29357,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "5415:7:99",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "5414:9:99"
            },
            "scope": 29361,
            "src": "5374:50:99",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 29362,
        "src": "150:5277:99",
        "usedErrors": [],
        "usedEvents": [
          29130
        ]
      }
    ],
    "src": "35:5394:99"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.930Z",
  "devdoc": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "userdoc": {
    "events": {
      "PullingUpdate(address,address,bytes4,uint256)": {
        "notice": "A fresh update on the data feed identified as `erc2364Id4` has just been  requested and paid for by some `evmSender`, under command of the  `evmOrigin` externally owned account. "
      }
    },
    "kind": "user",
    "methods": {
      "dataType()": {
        "notice": "Primitive data type produced by successful data updates of all supported feeds (e.g. Witnet.RadonDataTypes.Integer in WitPriceFeeds)."
      },
      "footprint()": {
        "notice": "Returns a unique hash determined by the combination of data sources being used by  supported non-routed price feeds, and dependencies of all supported routed  price feeds. The footprint changes if any price feed is modified, added, removed  or if the dependency tree of any routed price feed is altered."
      },
      "hash(string)": {
        "notice": "This pure function determines the ERC-2362 identifier of the given data feed  caption string, truncated to bytes4."
      },
      "lastValidQueryId(bytes4)": {
        "notice": "Returns the query id (in the context of the WitOracle addressed by witOracle())  that solved the most recently updated value for the given feed."
      },
      "lastValidQueryResponse(bytes4)": {
        "notice": "Returns the actual response from the Witnet oracle blockchain to the last  successful update for the given data feed."
      },
      "latestUpdateQueryId(bytes4)": {
        "notice": "Returns the Witnet query id of the latest update attempt for the given data feed."
      },
      "latestUpdateQueryRequest(bytes4)": {
        "notice": "Returns the actual request queried to the the Witnet oracle blockchain on the latest  update attempt for the given data feed."
      },
      "lookupCaption(bytes4)": {
        "notice": "Returns the ERC-2362 caption of the given feed identifier, if known. "
      },
      "prefix()": {
        "notice": "ERC-2362 caption prefix shared by all supported feeds (e.g. \"Price-\" in WitPriceFeeds)."
      },
      "requestUpdate(bytes4)": {
        "notice": "Triggers a fresh update on the Witnet oracle blockchain for the given data feed,  using the defaultRadonSLA() security parameters."
      },
      "supportedFeeds()": {
        "notice": "Returns the list of feed ERC-2362 ids, captions and RAD hashes of all currently supported  data feeds. The RAD hash of a data feed determines in a verifiable way the actual data sources  and off-chain computations solved by the Witnet oracle blockchain upon every data update.  The RAD hash value for a routed feed actually contains the address of the IWitnetPriceSolver  logic contract that solves it."
      },
      "supportsCaption(string)": {
        "notice": "Tells whether the given ERC-2362 feed caption is currently supported."
      },
      "totalFeeds()": {
        "notice": "Total number of data feeds, routed or not, that are currently supported."
      }
    },
    "version": 1
  }
}