{
  "contractName": "WitnetPriceFeedsData",
  "abi": [],
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"WitnetFeeds data model.\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/data/WitnetPriceFeedsData.sol\":\"WitnetPriceFeedsData\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/data/WitnetPriceFeedsData.sol\":{\"keccak256\":\"0x8cc848254deb42ab5c6d29d02c312c42cbee2b88f9dfed4289f990faa9079787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23922b87c483c75397f5a5a8837ac8feef98517893dc4f38ec3f8f830263f15c\",\"dweb:/ipfs/QmUk9Re19ft1qqpPbG4RDMuZRe9Cj7dChHhhVmvjeH3GLj\"]}},\"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\n/// @title WitnetFeeds data model.\r\n/// @author The Witnet Foundation.\r\nabstract contract WitnetPriceFeedsData {\r\n    \r\n    bytes32 private constant _WITNET_FEEDS_DATA_SLOTHASH =\r\n        /* keccak256(\"io.witnet.feeds.data\") */\r\n        0xe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff;\r\n\r\n    struct Storage {\r\n        bytes32 reserved;\r\n        bytes4[] ids;\r\n        mapping (bytes4 => Record) records;\r\n    }\r\n\r\n    struct Record {\r\n        string  caption;\r\n        uint8   decimals;\r\n        uint256 index;\r\n        uint256 lastValidQueryId;\r\n        uint256 latestUpdateQueryId;\r\n        bytes32 radHash;\r\n        address solver;         // logic contract address for reducing values on routed feeds.\r\n        int256  solverReductor; // as to reduce resulting number of decimals on routed feeds.\r\n        bytes32 solverDepsFlag; // as to store ids of up to 8 depending feeds.\r\n    }\r\n\r\n    // ================================================================================================\r\n    // --- Internal functions -------------------------------------------------------------------------\r\n    \r\n    /// @notice Returns storage pointer to where Storage data is located. \r\n    function __storage()\r\n      internal pure\r\n      returns (Storage storage _ptr)\r\n    {\r\n        assembly {\r\n            _ptr.slot := _WITNET_FEEDS_DATA_SLOTHASH\r\n        }\r\n    }\r\n\r\n    /// @notice Returns storage pointer to where Record for given feedId is located.\r\n    function __records_(bytes4 feedId) internal view returns (Record storage) {\r\n        return __storage().records[feedId];\r\n    }\r\n\r\n    /// @notice Returns array of feed ids from which given feed's value depends.\r\n    /// @dev Returns empty array on either unsupported or not-routed feeds.\r\n    /// @dev The maximum number of dependencies is hard-limited to 8, as to limit number\r\n    /// @dev of SSTORE operations (`__storage().records[feedId].solverDepsFlag`), \r\n    /// @dev no matter the actual number of depending feeds involved.\r\n    function _depsOf(bytes4 feedId) internal view returns (bytes4[] memory _deps) {\r\n        bytes32 _solverDepsFlag = __storage().records[feedId].solverDepsFlag;\r\n        _deps = new bytes4[](8);\r\n        uint _len;\r\n        for (_len = 0; _len < 8; _len ++) {\r\n            _deps[_len] = bytes4(_solverDepsFlag);\r\n            if (_deps[_len] == 0) {\r\n                break;\r\n            } else {\r\n                _solverDepsFlag <<= 32;\r\n            }\r\n        }\r\n        assembly {\r\n            // reset length to actual number of dependencies:\r\n            mstore(_deps, _len)\r\n        }\r\n    }\r\n}",
  "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\data\\WitnetPriceFeedsData.sol",
  "ast": {
    "absolutePath": "project:/contracts/data/WitnetPriceFeedsData.sol",
    "exportedSymbols": {
      "WitnetPriceFeedsData": [
        12523
      ]
    },
    "id": 12524,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 12398,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".0",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:31:42"
      },
      {
        "abstract": true,
        "baseContracts": [],
        "canonicalName": "WitnetPriceFeedsData",
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": {
          "id": 12399,
          "nodeType": "StructuredDocumentation",
          "src": "70:72:42",
          "text": "@title WitnetFeeds data model.\n @author The Witnet Foundation."
        },
        "fullyImplemented": true,
        "id": 12523,
        "linearizedBaseContracts": [
          12523
        ],
        "name": "WitnetPriceFeedsData",
        "nameLocation": "160:20:42",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 12402,
            "mutability": "constant",
            "name": "_WITNET_FEEDS_DATA_SLOTHASH",
            "nameLocation": "219:27:42",
            "nodeType": "VariableDeclaration",
            "scope": 12523,
            "src": "194:179:42",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes32",
              "typeString": "bytes32"
            },
            "typeName": {
              "id": 12400,
              "name": "bytes32",
              "nodeType": "ElementaryTypeName",
              "src": "194:7:42",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes32",
                "typeString": "bytes32"
              }
            },
            "value": {
              "hexValue": "307865333665613837633438333430663263323363396531633966373266356335313635313834653735363833613464326131393134386535393634633164316666",
              "id": 12401,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "307:66:42",
              "typeDescriptions": {
                "typeIdentifier": "t_rational_102870532649550640918916337984399476240450370322567595419840603618230916993535_by_1",
                "typeString": "int_const 1028...(70 digits omitted)...3535"
              },
              "value": "0xe36ea87c48340f2c23c9e1c9f72f5c5165184e75683a4d2a19148e5964c1d1ff"
            },
            "visibility": "private"
          },
          {
            "canonicalName": "WitnetPriceFeedsData.Storage",
            "id": 12413,
            "members": [
              {
                "constant": false,
                "id": 12404,
                "mutability": "mutable",
                "name": "reserved",
                "nameLocation": "416:8:42",
                "nodeType": "VariableDeclaration",
                "scope": 12413,
                "src": "408:16:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 12403,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "408:7:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12407,
                "mutability": "mutable",
                "name": "ids",
                "nameLocation": "444:3:42",
                "nodeType": "VariableDeclaration",
                "scope": 12413,
                "src": "435:12:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                  "typeString": "bytes4[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 12405,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "435:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "id": 12406,
                  "nodeType": "ArrayTypeName",
                  "src": "435:8:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                    "typeString": "bytes4[]"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12412,
                "mutability": "mutable",
                "name": "records",
                "nameLocation": "485:7:42",
                "nodeType": "VariableDeclaration",
                "scope": 12413,
                "src": "458:34:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$12432_storage_$",
                  "typeString": "mapping(bytes4 => struct WitnetPriceFeedsData.Record)"
                },
                "typeName": {
                  "id": 12411,
                  "keyName": "",
                  "keyNameLocation": "-1:-1:-1",
                  "keyType": {
                    "id": 12408,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "467:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "nodeType": "Mapping",
                  "src": "458:26:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$12432_storage_$",
                    "typeString": "mapping(bytes4 => struct WitnetPriceFeedsData.Record)"
                  },
                  "valueName": "",
                  "valueNameLocation": "-1:-1:-1",
                  "valueType": {
                    "id": 12410,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12409,
                      "name": "Record",
                      "nameLocations": [
                        "477:6:42"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12432,
                      "src": "477:6:42"
                    },
                    "referencedDeclaration": 12432,
                    "src": "477:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Record"
                    }
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Storage",
            "nameLocation": "389:7:42",
            "nodeType": "StructDefinition",
            "scope": 12523,
            "src": "382:118:42",
            "visibility": "public"
          },
          {
            "canonicalName": "WitnetPriceFeedsData.Record",
            "id": 12432,
            "members": [
              {
                "constant": false,
                "id": 12415,
                "mutability": "mutable",
                "name": "caption",
                "nameLocation": "541:7:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "533:15:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 12414,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "533:6:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12417,
                "mutability": "mutable",
                "name": "decimals",
                "nameLocation": "567:8:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "559:16:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint8",
                  "typeString": "uint8"
                },
                "typeName": {
                  "id": 12416,
                  "name": "uint8",
                  "nodeType": "ElementaryTypeName",
                  "src": "559:5:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12419,
                "mutability": "mutable",
                "name": "index",
                "nameLocation": "594:5:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "586:13:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12418,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "586:7:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12421,
                "mutability": "mutable",
                "name": "lastValidQueryId",
                "nameLocation": "618:16:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "610:24:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12420,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "610:7:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12423,
                "mutability": "mutable",
                "name": "latestUpdateQueryId",
                "nameLocation": "653:19:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "645:27:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 12422,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "645:7:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12425,
                "mutability": "mutable",
                "name": "radHash",
                "nameLocation": "691:7:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "683:15:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 12424,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "683:7:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12427,
                "mutability": "mutable",
                "name": "solver",
                "nameLocation": "717:6:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "709:14:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 12426,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "709:7:42",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12429,
                "mutability": "mutable",
                "name": "solverReductor",
                "nameLocation": "813:14:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "805:22:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_int256",
                  "typeString": "int256"
                },
                "typeName": {
                  "id": 12428,
                  "name": "int256",
                  "nodeType": "ElementaryTypeName",
                  "src": "805:6:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 12431,
                "mutability": "mutable",
                "name": "solverDepsFlag",
                "nameLocation": "908:14:42",
                "nodeType": "VariableDeclaration",
                "scope": 12432,
                "src": "900:22:42",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 12430,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "900:7:42",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Record",
            "nameLocation": "515:6:42",
            "nodeType": "StructDefinition",
            "scope": 12523,
            "src": "508:469:42",
            "visibility": "public"
          },
          {
            "body": {
              "id": 12440,
              "nodeType": "Block",
              "src": "1362:93:42",
              "statements": [
                {
                  "AST": {
                    "nativeSrc": "1382:66:42",
                    "nodeType": "YulBlock",
                    "src": "1382:66:42",
                    "statements": [
                      {
                        "nativeSrc": "1397:40:42",
                        "nodeType": "YulAssignment",
                        "src": "1397:40:42",
                        "value": {
                          "name": "_WITNET_FEEDS_DATA_SLOTHASH",
                          "nativeSrc": "1410:27:42",
                          "nodeType": "YulIdentifier",
                          "src": "1410:27:42"
                        },
                        "variableNames": [
                          {
                            "name": "_ptr.slot",
                            "nativeSrc": "1397:9:42",
                            "nodeType": "YulIdentifier",
                            "src": "1397:9:42"
                          }
                        ]
                      }
                    ]
                  },
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 12402,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "1410:27:42",
                      "valueSize": 1
                    },
                    {
                      "declaration": 12437,
                      "isOffset": false,
                      "isSlot": true,
                      "src": "1397:9:42",
                      "suffix": "slot",
                      "valueSize": 1
                    }
                  ],
                  "id": 12439,
                  "nodeType": "InlineAssembly",
                  "src": "1373:75:42"
                }
              ]
            },
            "documentation": {
              "id": 12433,
              "nodeType": "StructuredDocumentation",
              "src": "1201:70:42",
              "text": "@notice Returns storage pointer to where Storage data is located. "
            },
            "id": 12441,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__storage",
            "nameLocation": "1286:9:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12434,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1295:2:42"
            },
            "returnParameters": {
              "id": 12438,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12437,
                  "mutability": "mutable",
                  "name": "_ptr",
                  "nameLocation": "1351:4:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 12441,
                  "src": "1335:20:42",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                    "typeString": "struct WitnetPriceFeedsData.Storage"
                  },
                  "typeName": {
                    "id": 12436,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12435,
                      "name": "Storage",
                      "nameLocations": [
                        "1335:7:42"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12413,
                      "src": "1335:7:42"
                    },
                    "referencedDeclaration": 12413,
                    "src": "1335:7:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Storage"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1334:22:42"
            },
            "scope": 12523,
            "src": "1277:178:42",
            "stateMutability": "pure",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12456,
              "nodeType": "Block",
              "src": "1623:53:42",
              "statements": [
                {
                  "expression": {
                    "baseExpression": {
                      "expression": {
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "id": 12450,
                          "name": "__storage",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12441,
                          "src": "1641:9:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                            "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                          }
                        },
                        "id": 12451,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "nameLocations": [],
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1641:11:42",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                          "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                        }
                      },
                      "id": 12452,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberLocation": "1653:7:42",
                      "memberName": "records",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12412,
                      "src": "1641:19:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$12432_storage_$",
                        "typeString": "mapping(bytes4 => struct WitnetPriceFeedsData.Record storage ref)"
                      }
                    },
                    "id": 12454,
                    "indexExpression": {
                      "id": 12453,
                      "name": "feedId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12444,
                      "src": "1661:6:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1641:27:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage",
                      "typeString": "struct WitnetPriceFeedsData.Record storage ref"
                    }
                  },
                  "functionReturnParameters": 12449,
                  "id": 12455,
                  "nodeType": "Return",
                  "src": "1634:34:42"
                }
              ]
            },
            "documentation": {
              "id": 12442,
              "nodeType": "StructuredDocumentation",
              "src": "1463:80:42",
              "text": "@notice Returns storage pointer to where Record for given feedId is located."
            },
            "id": 12457,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "__records_",
            "nameLocation": "1558:10:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12445,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12444,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "1576:6:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 12457,
                  "src": "1569:13:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 12443,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "1569:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1568:15:42"
            },
            "returnParameters": {
              "id": 12449,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12448,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 12457,
                  "src": "1607:14:42",
                  "stateVariable": false,
                  "storageLocation": "storage",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                    "typeString": "struct WitnetPriceFeedsData.Record"
                  },
                  "typeName": {
                    "id": 12447,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 12446,
                      "name": "Record",
                      "nameLocations": [
                        "1607:6:42"
                      ],
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 12432,
                      "src": "1607:6:42"
                    },
                    "referencedDeclaration": 12432,
                    "src": "1607:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Record_$12432_storage_ptr",
                      "typeString": "struct WitnetPriceFeedsData.Record"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1606:16:42"
            },
            "scope": 12523,
            "src": "1549:127:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 12521,
              "nodeType": "Block",
              "src": "2166:515:42",
              "statements": [
                {
                  "assignments": [
                    12467
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 12467,
                      "mutability": "mutable",
                      "name": "_solverDepsFlag",
                      "nameLocation": "2185:15:42",
                      "nodeType": "VariableDeclaration",
                      "scope": 12521,
                      "src": "2177:23:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      },
                      "typeName": {
                        "id": 12466,
                        "name": "bytes32",
                        "nodeType": "ElementaryTypeName",
                        "src": "2177:7:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 12474,
                  "initialValue": {
                    "expression": {
                      "baseExpression": {
                        "expression": {
                          "arguments": [],
                          "expression": {
                            "argumentTypes": [],
                            "id": 12468,
                            "name": "__storage",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 12441,
                            "src": "2203:9:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_Storage_$12413_storage_ptr_$",
                              "typeString": "function () pure returns (struct WitnetPriceFeedsData.Storage storage pointer)"
                            }
                          },
                          "id": 12469,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "nameLocations": [],
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2203:11:42",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Storage_$12413_storage_ptr",
                            "typeString": "struct WitnetPriceFeedsData.Storage storage pointer"
                          }
                        },
                        "id": 12470,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberLocation": "2215:7:42",
                        "memberName": "records",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 12412,
                        "src": "2203:19:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes4_$_t_struct$_Record_$12432_storage_$",
                          "typeString": "mapping(bytes4 => struct WitnetPriceFeedsData.Record storage ref)"
                        }
                      },
                      "id": 12472,
                      "indexExpression": {
                        "id": 12471,
                        "name": "feedId",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12460,
                        "src": "2223:6:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes4",
                          "typeString": "bytes4"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "2203:27:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Record_$12432_storage",
                        "typeString": "struct WitnetPriceFeedsData.Record storage ref"
                      }
                    },
                    "id": 12473,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberLocation": "2231:14:42",
                    "memberName": "solverDepsFlag",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 12431,
                    "src": "2203:42:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2177:68:42"
                },
                {
                  "expression": {
                    "id": 12481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 12475,
                      "name": "_deps",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12464,
                      "src": "2256:5:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "arguments": [
                        {
                          "hexValue": "38",
                          "id": 12479,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2277:1:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_8_by_1",
                            "typeString": "int_const 8"
                          },
                          "value": "8"
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_rational_8_by_1",
                            "typeString": "int_const 8"
                          }
                        ],
                        "id": 12478,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "lValueRequested": false,
                        "nodeType": "NewExpression",
                        "src": "2264:12:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_bytes4_$dyn_memory_ptr_$",
                          "typeString": "function (uint256) pure returns (bytes4[] memory)"
                        },
                        "typeName": {
                          "baseType": {
                            "id": 12476,
                            "name": "bytes4",
                            "nodeType": "ElementaryTypeName",
                            "src": "2268:6:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "id": 12477,
                          "nodeType": "ArrayTypeName",
                          "src": "2268:8:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                            "typeString": "bytes4[]"
                          }
                        }
                      },
                      "id": 12480,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "nameLocations": [],
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "2264:15:42",
                      "tryCall": false,
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                        "typeString": "bytes4[] memory"
                      }
                    },
                    "src": "2256:23:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                      "typeString": "bytes4[] memory"
                    }
                  },
                  "id": 12482,
                  "nodeType": "ExpressionStatement",
                  "src": "2256:23:42"
                },
                {
                  "assignments": [
                    12484
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 12484,
                      "mutability": "mutable",
                      "name": "_len",
                      "nameLocation": "2295:4:42",
                      "nodeType": "VariableDeclaration",
                      "scope": 12521,
                      "src": "2290:9:42",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 12483,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "2290:4:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 12485,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2290:9:42"
                },
                {
                  "body": {
                    "id": 12518,
                    "nodeType": "Block",
                    "src": "2344:203:42",
                    "statements": [
                      {
                        "expression": {
                          "id": 12503,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "baseExpression": {
                              "id": 12496,
                              "name": "_deps",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12464,
                              "src": "2359:5:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                "typeString": "bytes4[] memory"
                              }
                            },
                            "id": 12498,
                            "indexExpression": {
                              "id": 12497,
                              "name": "_len",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12484,
                              "src": "2365:4:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "2359:11:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "id": 12501,
                                "name": "_solverDepsFlag",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 12467,
                                "src": "2380:15:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              ],
                              "id": 12500,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "2373:6:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_bytes4_$",
                                "typeString": "type(bytes4)"
                              },
                              "typeName": {
                                "id": 12499,
                                "name": "bytes4",
                                "nodeType": "ElementaryTypeName",
                                "src": "2373:6:42",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 12502,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "nameLocations": [],
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2373:23:42",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "src": "2359:37:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          }
                        },
                        "id": 12504,
                        "nodeType": "ExpressionStatement",
                        "src": "2359:37:42"
                      },
                      {
                        "condition": {
                          "commonType": {
                            "typeIdentifier": "t_bytes4",
                            "typeString": "bytes4"
                          },
                          "id": 12509,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "baseExpression": {
                              "id": 12505,
                              "name": "_deps",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12464,
                              "src": "2415:5:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                                "typeString": "bytes4[] memory"
                              }
                            },
                            "id": 12507,
                            "indexExpression": {
                              "id": 12506,
                              "name": "_len",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 12484,
                              "src": "2421:4:42",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "2415:11:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_bytes4",
                              "typeString": "bytes4"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "==",
                          "rightExpression": {
                            "hexValue": "30",
                            "id": 12508,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "2430:1:42",
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "2415:16:42",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 12516,
                          "nodeType": "Block",
                          "src": "2479:57:42",
                          "statements": [
                            {
                              "expression": {
                                "id": 12514,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftHandSide": {
                                  "id": 12512,
                                  "name": "_solverDepsFlag",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 12467,
                                  "src": "2498:15:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                  }
                                },
                                "nodeType": "Assignment",
                                "operator": "<<=",
                                "rightHandSide": {
                                  "hexValue": "3332",
                                  "id": 12513,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": true,
                                  "kind": "number",
                                  "lValueRequested": false,
                                  "nodeType": "Literal",
                                  "src": "2518:2:42",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_rational_32_by_1",
                                    "typeString": "int_const 32"
                                  },
                                  "value": "32"
                                },
                                "src": "2498:22:42",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bytes32",
                                  "typeString": "bytes32"
                                }
                              },
                              "id": 12515,
                              "nodeType": "ExpressionStatement",
                              "src": "2498:22:42"
                            }
                          ]
                        },
                        "id": 12517,
                        "nodeType": "IfStatement",
                        "src": "2411:125:42",
                        "trueBody": {
                          "id": 12511,
                          "nodeType": "Block",
                          "src": "2433:40:42",
                          "statements": [
                            {
                              "id": 12510,
                              "nodeType": "Break",
                              "src": "2452:5:42"
                            }
                          ]
                        }
                      }
                    ]
                  },
                  "condition": {
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 12492,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "id": 12490,
                      "name": "_len",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 12484,
                      "src": "2325:4:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "hexValue": "38",
                      "id": 12491,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "2332:1:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_8_by_1",
                        "typeString": "int_const 8"
                      },
                      "value": "8"
                    },
                    "src": "2325:8:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 12519,
                  "initializationExpression": {
                    "expression": {
                      "id": 12488,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "id": 12486,
                        "name": "_len",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12484,
                        "src": "2315:4:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "hexValue": "30",
                        "id": 12487,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2322:1:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      "src": "2315:8:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 12489,
                    "nodeType": "ExpressionStatement",
                    "src": "2315:8:42"
                  },
                  "isSimpleCounterLoop": true,
                  "loopExpression": {
                    "expression": {
                      "id": 12494,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "2335:7:42",
                      "subExpression": {
                        "id": 12493,
                        "name": "_len",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 12484,
                        "src": "2335:4:42",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 12495,
                    "nodeType": "ExpressionStatement",
                    "src": "2335:7:42"
                  },
                  "nodeType": "ForStatement",
                  "src": "2310:237:42"
                },
                {
                  "AST": {
                    "nativeSrc": "2566:108:42",
                    "nodeType": "YulBlock",
                    "src": "2566:108:42",
                    "statements": [
                      {
                        "expression": {
                          "arguments": [
                            {
                              "name": "_deps",
                              "nativeSrc": "2651:5:42",
                              "nodeType": "YulIdentifier",
                              "src": "2651:5:42"
                            },
                            {
                              "name": "_len",
                              "nativeSrc": "2658:4:42",
                              "nodeType": "YulIdentifier",
                              "src": "2658:4:42"
                            }
                          ],
                          "functionName": {
                            "name": "mstore",
                            "nativeSrc": "2644:6:42",
                            "nodeType": "YulIdentifier",
                            "src": "2644:6:42"
                          },
                          "nativeSrc": "2644:19:42",
                          "nodeType": "YulFunctionCall",
                          "src": "2644:19:42"
                        },
                        "nativeSrc": "2644:19:42",
                        "nodeType": "YulExpressionStatement",
                        "src": "2644:19:42"
                      }
                    ]
                  },
                  "evmVersion": "paris",
                  "externalReferences": [
                    {
                      "declaration": 12464,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "2651:5:42",
                      "valueSize": 1
                    },
                    {
                      "declaration": 12484,
                      "isOffset": false,
                      "isSlot": false,
                      "src": "2658:4:42",
                      "valueSize": 1
                    }
                  ],
                  "id": 12520,
                  "nodeType": "InlineAssembly",
                  "src": "2557:117:42"
                }
              ]
            },
            "documentation": {
              "id": 12458,
              "nodeType": "StructuredDocumentation",
              "src": "1684:398:42",
              "text": "@notice Returns array of feed ids from which given feed's value depends.\n @dev Returns empty array on either unsupported or not-routed feeds.\n @dev The maximum number of dependencies is hard-limited to 8, as to limit number\n @dev of SSTORE operations (`__storage().records[feedId].solverDepsFlag`), \n @dev no matter the actual number of depending feeds involved."
            },
            "id": 12522,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_depsOf",
            "nameLocation": "2097:7:42",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 12461,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12460,
                  "mutability": "mutable",
                  "name": "feedId",
                  "nameLocation": "2112:6:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 12522,
                  "src": "2105:13:42",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes4",
                    "typeString": "bytes4"
                  },
                  "typeName": {
                    "id": 12459,
                    "name": "bytes4",
                    "nodeType": "ElementaryTypeName",
                    "src": "2105:6:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes4",
                      "typeString": "bytes4"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2104:15:42"
            },
            "returnParameters": {
              "id": 12465,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 12464,
                  "mutability": "mutable",
                  "name": "_deps",
                  "nameLocation": "2159:5:42",
                  "nodeType": "VariableDeclaration",
                  "scope": 12522,
                  "src": "2143:21:42",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes4_$dyn_memory_ptr",
                    "typeString": "bytes4[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 12462,
                      "name": "bytes4",
                      "nodeType": "ElementaryTypeName",
                      "src": "2143:6:42",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes4",
                        "typeString": "bytes4"
                      }
                    },
                    "id": 12463,
                    "nodeType": "ArrayTypeName",
                    "src": "2143:8:42",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr",
                      "typeString": "bytes4[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2142:23:42"
            },
            "scope": 12523,
            "src": "2088:593:42",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "internal"
          }
        ],
        "scope": 12524,
        "src": "142:2542:42",
        "usedErrors": [],
        "usedEvents": []
      }
    ],
    "src": "35:2649:42"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.25+commit.b61c2a91.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2024-12-05T09:36:04.488Z",
  "devdoc": {
    "author": "The Witnet Foundation.",
    "kind": "dev",
    "methods": {},
    "title": "WitnetFeeds data model.",
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}