{
  "contractName": "IWitPriceFeedsTypes",
  "abi": [],
  "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IWitPriceFeedsTypes.sol\":\"IWitPriceFeedsTypes\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitPriceFeedsTypes.sol\":{\"keccak256\":\"0x68e2189e863f50e8d0aad8394a526df00c1e626886c23aa24c915427e5285e46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5ff40355d4144e7c08f033b55e9ef1b5994bbd83bbfbd7a41129b141f164194\",\"dweb:/ipfs/QmXMhM7GXaVXnCQ1VFB4kPhbhbfktuNFKqMGXMtWLgUk3d\"]},\"project:/contracts/interfaces/legacy/IWitPyth.sol\":{\"keccak256\":\"0xa06a34a5e553beae7dbe09a5d1049557190511e696a1b855ab5e1196a06048a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2c814b7be5539147c0ba1b55f6cddcad382d5e5e9f9de545d2d428c1989c7de\",\"dweb:/ipfs/QmY8KSV3PW2FBQVzXidLQ21KvDJ1v6y8WHaV8uxsqThJCC\"]},\"project:/contracts/interfaces/legacy/IWitPythErrors.sol\":{\"keccak256\":\"0x7d10dfd625a4914e4017cde140397f9f236f726ea82b4feed1d889f852866c1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bbf8dc2bbac36cf0a141f7062b6ed8143cffaee7969a1afc3cf0d1971e8cf18\",\"dweb:/ipfs/QmbLiZwggZwhiTLJurBkAu492xAZZ9MXWiknsuGnLYNXhP\"]},\"project:/contracts/interfaces/legacy/IWitPythEvents.sol\":{\"keccak256\":\"0xacca21f4bb4d740de63f4f2e469e8313b1d8f9a7d2340efcc17981c3510c2800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b0493082593838fbc4df2431c1983a82165ae1f17215e988951c0c1ef3882\",\"dweb:/ipfs/QmNUX9K3UqxiR9igT87iLja8h3u7htp83ZhAGZ6UgD3BZP\"]},\"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.17 <0.9.0;\r\n\r\nimport {Witnet} from \"../libs/Witnet.sol\";\r\nimport {IWitPyth} from \"./legacy/IWitPyth.sol\";\r\n\r\ninterface IWitPriceFeedsTypes {\r\n\r\n    enum Mappers {\r\n        None,\r\n        Fallback,\r\n        Hottest,\r\n        Product,\r\n        Inverse\r\n    }\r\n\r\n    enum Oracles {\r\n        Witnet,\r\n        ERC2362,\r\n        Chainlink,\r\n        Pyth\r\n    }\r\n\r\n    struct Price {\r\n        int8 exponent;\r\n        uint64 price;\r\n        int56  deltaPrice;\r\n        Witnet.Timestamp timestamp;\r\n        Witnet.TransactionHash trail;\r\n    }\r\n\r\n    struct Info {\r\n        IWitPyth.ID id;\r\n        int8 exponent;\r\n        string symbol;\r\n        Mapper mapper;\r\n        Oracle oracle;\r\n        UpdateConditions updateConditions;\r\n        Price lastUpdate;\r\n    }\r\n\r\n    struct Mapper {\r\n        Mappers class;\r\n        string[] deps;\r\n    }\r\n\r\n    struct Oracle {\r\n        Oracles class;\r\n        address target;\r\n        bytes32 sources;\r\n    }\r\n\r\n    struct UpdateConditions {\r\n        uint24 callbackGas;\r\n        bool   computeEma;\r\n        uint24 cooldownSecs;\r\n        uint24 heartbeatSecs;\r\n        uint16 maxDeviation1000;\r\n        uint16 minWitnesses;\r\n    }\r\n\r\n    type ID4 is bytes4;\r\n}",
  "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\interfaces\\IWitPriceFeedsTypes.sol",
  "ast": {
    "absolutePath": "project:/contracts/interfaces/IWitPriceFeedsTypes.sol",
    "exportedSymbols": {
      "IWitPriceFeedsTypes": [
        28156
      ],
      "IWitPyth": [
        29643
      ],
      "Witnet": [
        40741
      ]
    },
    "id": 28157,
    "license": "MIT",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 28077,
        "literals": [
          "solidity",
          ">=",
          "0.8",
          ".17",
          "<",
          "0.9",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "35:32:84"
      },
      {
        "absolutePath": "project:/contracts/libs/Witnet.sol",
        "file": "../libs/Witnet.sol",
        "id": 28079,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 28157,
        "sourceUnit": 40742,
        "src": "71:42:84",
        "symbolAliases": [
          {
            "foreign": {
              "id": 28078,
              "name": "Witnet",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 40741,
              "src": "79:6:84",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "project:/contracts/interfaces/legacy/IWitPyth.sol",
        "file": "./legacy/IWitPyth.sol",
        "id": 28081,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 28157,
        "sourceUnit": 29644,
        "src": "115:47:84",
        "symbolAliases": [
          {
            "foreign": {
              "id": 28080,
              "name": "IWitPyth",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "referencedDeclaration": 29643,
              "src": "123:8:84",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "IWitPriceFeedsTypes",
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": true,
        "id": 28156,
        "linearizedBaseContracts": [
          28156
        ],
        "name": "IWitPriceFeedsTypes",
        "nameLocation": "176:19:84",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "IWitPriceFeedsTypes.Mappers",
            "id": 28087,
            "members": [
              {
                "id": 28082,
                "name": "None",
                "nameLocation": "229:4:84",
                "nodeType": "EnumValue",
                "src": "229:4:84"
              },
              {
                "id": 28083,
                "name": "Fallback",
                "nameLocation": "244:8:84",
                "nodeType": "EnumValue",
                "src": "244:8:84"
              },
              {
                "id": 28084,
                "name": "Hottest",
                "nameLocation": "263:7:84",
                "nodeType": "EnumValue",
                "src": "263:7:84"
              },
              {
                "id": 28085,
                "name": "Product",
                "nameLocation": "281:7:84",
                "nodeType": "EnumValue",
                "src": "281:7:84"
              },
              {
                "id": 28086,
                "name": "Inverse",
                "nameLocation": "299:7:84",
                "nodeType": "EnumValue",
                "src": "299:7:84"
              }
            ],
            "name": "Mappers",
            "nameLocation": "210:7:84",
            "nodeType": "EnumDefinition",
            "src": "205:108:84"
          },
          {
            "canonicalName": "IWitPriceFeedsTypes.Oracles",
            "id": 28092,
            "members": [
              {
                "id": 28088,
                "name": "Witnet",
                "nameLocation": "345:6:84",
                "nodeType": "EnumValue",
                "src": "345:6:84"
              },
              {
                "id": 28089,
                "name": "ERC2362",
                "nameLocation": "362:7:84",
                "nodeType": "EnumValue",
                "src": "362:7:84"
              },
              {
                "id": 28090,
                "name": "Chainlink",
                "nameLocation": "380:9:84",
                "nodeType": "EnumValue",
                "src": "380:9:84"
              },
              {
                "id": 28091,
                "name": "Pyth",
                "nameLocation": "400:4:84",
                "nodeType": "EnumValue",
                "src": "400:4:84"
              }
            ],
            "name": "Oracles",
            "nameLocation": "326:7:84",
            "nodeType": "EnumDefinition",
            "src": "321:90:84"
          },
          {
            "canonicalName": "IWitPriceFeedsTypes.Price",
            "id": 28105,
            "members": [
              {
                "constant": false,
                "id": 28094,
                "mutability": "mutable",
                "name": "exponent",
                "nameLocation": "448:8:84",
                "nodeType": "VariableDeclaration",
                "scope": 28105,
                "src": "443:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_int8",
                  "typeString": "int8"
                },
                "typeName": {
                  "id": 28093,
                  "name": "int8",
                  "nodeType": "ElementaryTypeName",
                  "src": "443:4:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int8",
                    "typeString": "int8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28096,
                "mutability": "mutable",
                "name": "price",
                "nameLocation": "474:5:84",
                "nodeType": "VariableDeclaration",
                "scope": 28105,
                "src": "467:12:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint64",
                  "typeString": "uint64"
                },
                "typeName": {
                  "id": 28095,
                  "name": "uint64",
                  "nodeType": "ElementaryTypeName",
                  "src": "467:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint64",
                    "typeString": "uint64"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28098,
                "mutability": "mutable",
                "name": "deltaPrice",
                "nameLocation": "497:10:84",
                "nodeType": "VariableDeclaration",
                "scope": 28105,
                "src": "490:17:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_int56",
                  "typeString": "int56"
                },
                "typeName": {
                  "id": 28097,
                  "name": "int56",
                  "nodeType": "ElementaryTypeName",
                  "src": "490:5:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int56",
                    "typeString": "int56"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28101,
                "mutability": "mutable",
                "name": "timestamp",
                "nameLocation": "535:9:84",
                "nodeType": "VariableDeclaration",
                "scope": 28105,
                "src": "518:26:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                  "typeString": "Witnet.Timestamp"
                },
                "typeName": {
                  "id": 28100,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28099,
                    "name": "Witnet.Timestamp",
                    "nameLocations": [
                      "518:6:84",
                      "525:9:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 37157,
                    "src": "518:16:84"
                  },
                  "referencedDeclaration": 37157,
                  "src": "518:16:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_Timestamp_$37157",
                    "typeString": "Witnet.Timestamp"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28104,
                "mutability": "mutable",
                "name": "trail",
                "nameLocation": "578:5:84",
                "nodeType": "VariableDeclaration",
                "scope": 28105,
                "src": "555:28:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                  "typeString": "Witnet.TransactionHash"
                },
                "typeName": {
                  "id": 28103,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28102,
                    "name": "Witnet.TransactionHash",
                    "nameLocations": [
                      "555:6:84",
                      "562:15:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 37159,
                    "src": "555:22:84"
                  },
                  "referencedDeclaration": 37159,
                  "src": "555:22:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_TransactionHash_$37159",
                    "typeString": "Witnet.TransactionHash"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Price",
            "nameLocation": "426:5:84",
            "nodeType": "StructDefinition",
            "scope": 28156,
            "src": "419:172:84",
            "visibility": "public"
          },
          {
            "canonicalName": "IWitPriceFeedsTypes.Info",
            "id": 28125,
            "members": [
              {
                "constant": false,
                "id": 28108,
                "mutability": "mutable",
                "name": "id",
                "nameLocation": "634:2:84",
                "nodeType": "VariableDeclaration",
                "scope": 28125,
                "src": "622:14:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_userDefinedValueType$_ID_$29561",
                  "typeString": "IWitPyth.ID"
                },
                "typeName": {
                  "id": 28107,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28106,
                    "name": "IWitPyth.ID",
                    "nameLocations": [
                      "622:8:84",
                      "631:2:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 29561,
                    "src": "622:11:84"
                  },
                  "referencedDeclaration": 29561,
                  "src": "622:11:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_userDefinedValueType$_ID_$29561",
                    "typeString": "IWitPyth.ID"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28110,
                "mutability": "mutable",
                "name": "exponent",
                "nameLocation": "652:8:84",
                "nodeType": "VariableDeclaration",
                "scope": 28125,
                "src": "647:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_int8",
                  "typeString": "int8"
                },
                "typeName": {
                  "id": 28109,
                  "name": "int8",
                  "nodeType": "ElementaryTypeName",
                  "src": "647:4:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int8",
                    "typeString": "int8"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28112,
                "mutability": "mutable",
                "name": "symbol",
                "nameLocation": "678:6:84",
                "nodeType": "VariableDeclaration",
                "scope": 28125,
                "src": "671:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 28111,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "671:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28115,
                "mutability": "mutable",
                "name": "mapper",
                "nameLocation": "702:6:84",
                "nodeType": "VariableDeclaration",
                "scope": 28125,
                "src": "695:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Mapper_$28132_storage_ptr",
                  "typeString": "struct IWitPriceFeedsTypes.Mapper"
                },
                "typeName": {
                  "id": 28114,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28113,
                    "name": "Mapper",
                    "nameLocations": [
                      "695:6:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 28132,
                    "src": "695:6:84"
                  },
                  "referencedDeclaration": 28132,
                  "src": "695:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Mapper_$28132_storage_ptr",
                    "typeString": "struct IWitPriceFeedsTypes.Mapper"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28118,
                "mutability": "mutable",
                "name": "oracle",
                "nameLocation": "726:6:84",
                "nodeType": "VariableDeclaration",
                "scope": 28125,
                "src": "719:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Oracle_$28140_storage_ptr",
                  "typeString": "struct IWitPriceFeedsTypes.Oracle"
                },
                "typeName": {
                  "id": 28117,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28116,
                    "name": "Oracle",
                    "nameLocations": [
                      "719:6:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 28140,
                    "src": "719:6:84"
                  },
                  "referencedDeclaration": 28140,
                  "src": "719:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Oracle_$28140_storage_ptr",
                    "typeString": "struct IWitPriceFeedsTypes.Oracle"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28121,
                "mutability": "mutable",
                "name": "updateConditions",
                "nameLocation": "760:16:84",
                "nodeType": "VariableDeclaration",
                "scope": 28125,
                "src": "743:33:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_UpdateConditions_$28153_storage_ptr",
                  "typeString": "struct IWitPriceFeedsTypes.UpdateConditions"
                },
                "typeName": {
                  "id": 28120,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28119,
                    "name": "UpdateConditions",
                    "nameLocations": [
                      "743:16:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 28153,
                    "src": "743:16:84"
                  },
                  "referencedDeclaration": 28153,
                  "src": "743:16:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_UpdateConditions_$28153_storage_ptr",
                    "typeString": "struct IWitPriceFeedsTypes.UpdateConditions"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28124,
                "mutability": "mutable",
                "name": "lastUpdate",
                "nameLocation": "793:10:84",
                "nodeType": "VariableDeclaration",
                "scope": 28125,
                "src": "787:16:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Price_$28105_storage_ptr",
                  "typeString": "struct IWitPriceFeedsTypes.Price"
                },
                "typeName": {
                  "id": 28123,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28122,
                    "name": "Price",
                    "nameLocations": [
                      "787:5:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 28105,
                    "src": "787:5:84"
                  },
                  "referencedDeclaration": 28105,
                  "src": "787:5:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Price_$28105_storage_ptr",
                    "typeString": "struct IWitPriceFeedsTypes.Price"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Info",
            "nameLocation": "606:4:84",
            "nodeType": "StructDefinition",
            "scope": 28156,
            "src": "599:212:84",
            "visibility": "public"
          },
          {
            "canonicalName": "IWitPriceFeedsTypes.Mapper",
            "id": 28132,
            "members": [
              {
                "constant": false,
                "id": 28128,
                "mutability": "mutable",
                "name": "class",
                "nameLocation": "852:5:84",
                "nodeType": "VariableDeclaration",
                "scope": 28132,
                "src": "844:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_Mappers_$28087",
                  "typeString": "enum IWitPriceFeedsTypes.Mappers"
                },
                "typeName": {
                  "id": 28127,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28126,
                    "name": "Mappers",
                    "nameLocations": [
                      "844:7:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 28087,
                    "src": "844:7:84"
                  },
                  "referencedDeclaration": 28087,
                  "src": "844:7:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Mappers_$28087",
                    "typeString": "enum IWitPriceFeedsTypes.Mappers"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28131,
                "mutability": "mutable",
                "name": "deps",
                "nameLocation": "877:4:84",
                "nodeType": "VariableDeclaration",
                "scope": 28132,
                "src": "868:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                  "typeString": "string[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 28129,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "868:6:84",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "id": 28130,
                  "nodeType": "ArrayTypeName",
                  "src": "868:8:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                    "typeString": "string[]"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Mapper",
            "nameLocation": "826:6:84",
            "nodeType": "StructDefinition",
            "scope": 28156,
            "src": "819:70:84",
            "visibility": "public"
          },
          {
            "canonicalName": "IWitPriceFeedsTypes.Oracle",
            "id": 28140,
            "members": [
              {
                "constant": false,
                "id": 28135,
                "mutability": "mutable",
                "name": "class",
                "nameLocation": "930:5:84",
                "nodeType": "VariableDeclaration",
                "scope": 28140,
                "src": "922:13:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_Oracles_$28092",
                  "typeString": "enum IWitPriceFeedsTypes.Oracles"
                },
                "typeName": {
                  "id": 28134,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 28133,
                    "name": "Oracles",
                    "nameLocations": [
                      "922:7:84"
                    ],
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 28092,
                    "src": "922:7:84"
                  },
                  "referencedDeclaration": 28092,
                  "src": "922:7:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_Oracles_$28092",
                    "typeString": "enum IWitPriceFeedsTypes.Oracles"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28137,
                "mutability": "mutable",
                "name": "target",
                "nameLocation": "954:6:84",
                "nodeType": "VariableDeclaration",
                "scope": 28140,
                "src": "946:14:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                },
                "typeName": {
                  "id": 28136,
                  "name": "address",
                  "nodeType": "ElementaryTypeName",
                  "src": "946:7:84",
                  "stateMutability": "nonpayable",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28139,
                "mutability": "mutable",
                "name": "sources",
                "nameLocation": "979:7:84",
                "nodeType": "VariableDeclaration",
                "scope": 28140,
                "src": "971:15:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bytes32",
                  "typeString": "bytes32"
                },
                "typeName": {
                  "id": 28138,
                  "name": "bytes32",
                  "nodeType": "ElementaryTypeName",
                  "src": "971:7:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "Oracle",
            "nameLocation": "904:6:84",
            "nodeType": "StructDefinition",
            "scope": 28156,
            "src": "897:97:84",
            "visibility": "public"
          },
          {
            "canonicalName": "IWitPriceFeedsTypes.UpdateConditions",
            "id": 28153,
            "members": [
              {
                "constant": false,
                "id": 28142,
                "mutability": "mutable",
                "name": "callbackGas",
                "nameLocation": "1044:11:84",
                "nodeType": "VariableDeclaration",
                "scope": 28153,
                "src": "1037:18:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint24",
                  "typeString": "uint24"
                },
                "typeName": {
                  "id": 28141,
                  "name": "uint24",
                  "nodeType": "ElementaryTypeName",
                  "src": "1037:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28144,
                "mutability": "mutable",
                "name": "computeEma",
                "nameLocation": "1073:10:84",
                "nodeType": "VariableDeclaration",
                "scope": 28153,
                "src": "1066:17:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 28143,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "1066:4:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28146,
                "mutability": "mutable",
                "name": "cooldownSecs",
                "nameLocation": "1101:12:84",
                "nodeType": "VariableDeclaration",
                "scope": 28153,
                "src": "1094:19:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint24",
                  "typeString": "uint24"
                },
                "typeName": {
                  "id": 28145,
                  "name": "uint24",
                  "nodeType": "ElementaryTypeName",
                  "src": "1094:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28148,
                "mutability": "mutable",
                "name": "heartbeatSecs",
                "nameLocation": "1131:13:84",
                "nodeType": "VariableDeclaration",
                "scope": 28153,
                "src": "1124:20:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint24",
                  "typeString": "uint24"
                },
                "typeName": {
                  "id": 28147,
                  "name": "uint24",
                  "nodeType": "ElementaryTypeName",
                  "src": "1124:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint24",
                    "typeString": "uint24"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28150,
                "mutability": "mutable",
                "name": "maxDeviation1000",
                "nameLocation": "1162:16:84",
                "nodeType": "VariableDeclaration",
                "scope": 28153,
                "src": "1155:23:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint16",
                  "typeString": "uint16"
                },
                "typeName": {
                  "id": 28149,
                  "name": "uint16",
                  "nodeType": "ElementaryTypeName",
                  "src": "1155:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 28152,
                "mutability": "mutable",
                "name": "minWitnesses",
                "nameLocation": "1196:12:84",
                "nodeType": "VariableDeclaration",
                "scope": 28153,
                "src": "1189:19:84",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint16",
                  "typeString": "uint16"
                },
                "typeName": {
                  "id": 28151,
                  "name": "uint16",
                  "nodeType": "ElementaryTypeName",
                  "src": "1189:6:84",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint16",
                    "typeString": "uint16"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "UpdateConditions",
            "nameLocation": "1009:16:84",
            "nodeType": "StructDefinition",
            "scope": 28156,
            "src": "1002:214:84",
            "visibility": "public"
          },
          {
            "canonicalName": "IWitPriceFeedsTypes.ID4",
            "id": 28155,
            "name": "ID4",
            "nameLocation": "1229:3:84",
            "nodeType": "UserDefinedValueTypeDefinition",
            "src": "1224:19:84",
            "underlyingType": {
              "id": 28154,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "1236:6:84",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            }
          }
        ],
        "scope": 28157,
        "src": "166:1080:84",
        "usedErrors": [],
        "usedEvents": []
      }
    ],
    "src": "35:1211:84"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.30+commit.73712a01.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.16",
  "updatedAt": "2025-10-15T14:34:45.914Z",
  "devdoc": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}