{
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "comment",
          "type": "string"
        }
      ],
      "name": "LogPriceDataBlockNumberSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "priceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "triggeredAt",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "depeggedAt",
          "type": "uint256"
        }
      ],
      "name": "LogPriceDataDepegged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "priceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "priceDeviation",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "currentPrice",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "lastPrice",
          "type": "uint256"
        }
      ],
      "name": "LogPriceDataDeviationExceeded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "priceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "timeDifference",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "currentCreatedAt",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "lastCreatedAt",
          "type": "uint256"
        }
      ],
      "name": "LogPriceDataHeartbeatExceeded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "priceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "createdAt",
          "type": "uint256"
        }
      ],
      "name": "LogPriceDataProcessed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "priceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "triggeredAt",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "recoveredAt",
          "type": "uint256"
        }
      ],
      "name": "LogPriceDataRecovered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "priceId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "price",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "triggeredAt",
          "type": "uint256"
        }
      ],
      "name": "LogPriceDataTriggered",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "updatedTriggeredAt",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "forcedDepegAt",
          "type": "uint256"
        }
      ],
      "name": "LogUsdcProviderForcedDepeg",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "resetDepegAt",
          "type": "uint256"
        }
      ],
      "name": "LogUsdcProviderResetDepeg",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "forceDepegForNextPriceInfo",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAggregatorAddress",
      "outputs": [
        {
          "internalType": "address",
          "name": "aggregatorAddress",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDecimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "aggregatorDecimals",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDepegPriceInfo",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "price",
              "type": "uint256"
            },
            {
              "internalType": "enum IPriceDataProvider.ComplianceState",
              "name": "compliance",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.StabilityState",
              "name": "stability",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.EventType",
              "name": "eventType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "triggeredAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "depeggedAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPriceDataProvider.PriceInfo",
          "name": "priceInfo",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDepeggedAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "depeggedAt",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDepeggedBlockNumber",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "blockNumber",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getDeviation",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "deviationLevel",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getHeartbeat",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "heartbeatSeconds",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getLatestPriceInfo",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "price",
              "type": "uint256"
            },
            {
              "internalType": "enum IPriceDataProvider.ComplianceState",
              "name": "compliance",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.StabilityState",
              "name": "stability",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.EventType",
              "name": "eventType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "triggeredAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "depeggedAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPriceDataProvider.PriceInfo",
          "name": "priceInfo",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getOwner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTargetPrice",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "targetPrice",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getToken",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getTriggeredAt",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "triggeredAt",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isMainnetProvider",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isNewPriceInfoEventAvailable",
      "outputs": [
        {
          "internalType": "bool",
          "name": "newEvent",
          "type": "bool"
        },
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "price",
              "type": "uint256"
            },
            {
              "internalType": "enum IPriceDataProvider.ComplianceState",
              "name": "compliance",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.StabilityState",
              "name": "stability",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.EventType",
              "name": "eventType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "triggeredAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "depeggedAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPriceDataProvider.PriceInfo",
          "name": "priceInfo",
          "type": "tuple"
        },
        {
          "internalType": "uint256",
          "name": "timeSinceEvent",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isTestnetProvider",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "processLatestPriceInfo",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "id",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "price",
              "type": "uint256"
            },
            {
              "internalType": "enum IPriceDataProvider.ComplianceState",
              "name": "compliance",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.StabilityState",
              "name": "stability",
              "type": "uint8"
            },
            {
              "internalType": "enum IPriceDataProvider.EventType",
              "name": "eventType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "triggeredAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "depeggedAt",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "createdAt",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPriceDataProvider.PriceInfo",
          "name": "priceInfo",
          "type": "tuple"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "resetDepeg",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint128",
          "name": "blockNumber",
          "type": "uint128"
        },
        {
          "internalType": "string",
          "name": "comment",
          "type": "string"
        }
      ],
      "name": "setDepeggedBlockNumber",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "55": "contracts/IPriceDataProvider.sol"
  },
  "ast": {
    "absolutePath": "contracts/IPriceDataProvider.sol",
    "exportedSymbols": {
      "IPriceDataProvider": [
        4897
      ]
    },
    "id": 4898,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4685,
        "literals": [
          "solidity",
          "0.8",
          ".2"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:22:55"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "interface",
        "fullyImplemented": false,
        "id": 4897,
        "linearizedBaseContracts": [
          4897
        ],
        "name": "IPriceDataProvider",
        "nameLocation": "73:18:55",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "canonicalName": "IPriceDataProvider.ComplianceState",
            "id": 4691,
            "members": [
              {
                "id": 4686,
                "name": "Undefined",
                "nameLocation": "130:9:55",
                "nodeType": "EnumValue",
                "src": "130:9:55"
              },
              {
                "id": 4687,
                "name": "Initializing",
                "nameLocation": "149:12:55",
                "nodeType": "EnumValue",
                "src": "149:12:55"
              },
              {
                "id": 4688,
                "name": "Valid",
                "nameLocation": "171:5:55",
                "nodeType": "EnumValue",
                "src": "171:5:55"
              },
              {
                "id": 4689,
                "name": "FailedOnce",
                "nameLocation": "186:10:55",
                "nodeType": "EnumValue",
                "src": "186:10:55"
              },
              {
                "id": 4690,
                "name": "FailedMultipleTimes",
                "nameLocation": "206:19:55",
                "nodeType": "EnumValue",
                "src": "206:19:55"
              }
            ],
            "name": "ComplianceState",
            "nameLocation": "104:15:55",
            "nodeType": "EnumDefinition",
            "src": "99:132:55"
          },
          {
            "canonicalName": "IPriceDataProvider.StabilityState",
            "id": 4697,
            "members": [
              {
                "id": 4692,
                "name": "Undefined",
                "nameLocation": "267:9:55",
                "nodeType": "EnumValue",
                "src": "267:9:55"
              },
              {
                "id": 4693,
                "name": "Initializing",
                "nameLocation": "286:12:55",
                "nodeType": "EnumValue",
                "src": "286:12:55"
              },
              {
                "id": 4694,
                "name": "Stable",
                "nameLocation": "308:6:55",
                "nodeType": "EnumValue",
                "src": "308:6:55"
              },
              {
                "id": 4695,
                "name": "Triggered",
                "nameLocation": "324:9:55",
                "nodeType": "EnumValue",
                "src": "324:9:55"
              },
              {
                "id": 4696,
                "name": "Depegged",
                "nameLocation": "343:8:55",
                "nodeType": "EnumValue",
                "src": "343:8:55"
              }
            ],
            "name": "StabilityState",
            "nameLocation": "242:14:55",
            "nodeType": "EnumDefinition",
            "src": "237:120:55"
          },
          {
            "canonicalName": "IPriceDataProvider.EventType",
            "id": 4703,
            "members": [
              {
                "id": 4698,
                "name": "Undefined",
                "nameLocation": "388:9:55",
                "nodeType": "EnumValue",
                "src": "388:9:55"
              },
              {
                "id": 4699,
                "name": "Update",
                "nameLocation": "407:6:55",
                "nodeType": "EnumValue",
                "src": "407:6:55"
              },
              {
                "id": 4700,
                "name": "TriggerEvent",
                "nameLocation": "423:12:55",
                "nodeType": "EnumValue",
                "src": "423:12:55"
              },
              {
                "id": 4701,
                "name": "RecoveryEvent",
                "nameLocation": "445:13:55",
                "nodeType": "EnumValue",
                "src": "445:13:55"
              },
              {
                "id": 4702,
                "name": "DepegEvent",
                "nameLocation": "468:10:55",
                "nodeType": "EnumValue",
                "src": "468:10:55"
              }
            ],
            "name": "EventType",
            "nameLocation": "368:9:55",
            "nodeType": "EnumDefinition",
            "src": "363:121:55"
          },
          {
            "anonymous": false,
            "id": 4713,
            "name": "LogPriceDataDeviationExceeded",
            "nameLocation": "496:29:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4712,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4705,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "priceId",
                  "nameLocation": "544:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4713,
                  "src": "536:15:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4704,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "536:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4707,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "priceDeviation",
                  "nameLocation": "569:14:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4713,
                  "src": "561:22:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4706,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "561:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4709,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "currentPrice",
                  "nameLocation": "601:12:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4713,
                  "src": "593:20:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4708,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "593:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4711,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "lastPrice",
                  "nameLocation": "631:9:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4713,
                  "src": "623:17:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4710,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "623:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "526:115:55"
            },
            "src": "490:152:55"
          },
          {
            "anonymous": false,
            "id": 4723,
            "name": "LogPriceDataHeartbeatExceeded",
            "nameLocation": "654:29:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4722,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4715,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "priceId",
                  "nameLocation": "702:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4723,
                  "src": "694:15:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4714,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "694:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4717,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "timeDifference",
                  "nameLocation": "727:14:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4723,
                  "src": "719:22:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4716,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "719:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4719,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "currentCreatedAt",
                  "nameLocation": "759:16:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4723,
                  "src": "751:24:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4718,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "751:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4721,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "lastCreatedAt",
                  "nameLocation": "793:13:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4723,
                  "src": "785:21:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4720,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "785:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "684:123:55"
            },
            "src": "648:160:55"
          },
          {
            "anonymous": false,
            "id": 4731,
            "name": "LogPriceDataTriggered",
            "nameLocation": "820:21:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4730,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4725,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "priceId",
                  "nameLocation": "860:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4731,
                  "src": "852:15:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4724,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "852:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4727,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "price",
                  "nameLocation": "885:5:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4731,
                  "src": "877:13:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4726,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "877:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4729,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "triggeredAt",
                  "nameLocation": "908:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4731,
                  "src": "900:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4728,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "900:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "842:78:55"
            },
            "src": "814:107:55"
          },
          {
            "anonymous": false,
            "id": 4741,
            "name": "LogPriceDataRecovered",
            "nameLocation": "933:21:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4740,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4733,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "priceId",
                  "nameLocation": "973:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4741,
                  "src": "965:15:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4732,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "965:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4735,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "price",
                  "nameLocation": "998:5:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4741,
                  "src": "990:13:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4734,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "990:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4737,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "triggeredAt",
                  "nameLocation": "1021:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4741,
                  "src": "1013:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4736,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1013:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4739,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "recoveredAt",
                  "nameLocation": "1050:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4741,
                  "src": "1042:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4738,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1042:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "955:107:55"
            },
            "src": "927:136:55"
          },
          {
            "anonymous": false,
            "id": 4751,
            "name": "LogPriceDataDepegged",
            "nameLocation": "1075:20:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4750,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4743,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "priceId",
                  "nameLocation": "1114:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4751,
                  "src": "1106:15:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4742,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1106:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4745,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "price",
                  "nameLocation": "1139:5:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4751,
                  "src": "1131:13:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4744,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1131:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4747,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "triggeredAt",
                  "nameLocation": "1162:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4751,
                  "src": "1154:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4746,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1154:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4749,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "depeggedAt",
                  "nameLocation": "1191:10:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4751,
                  "src": "1183:18:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4748,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1183:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1096:106:55"
            },
            "src": "1069:134:55"
          },
          {
            "anonymous": false,
            "id": 4759,
            "name": "LogPriceDataProcessed",
            "nameLocation": "1215:21:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4758,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4753,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "priceId",
                  "nameLocation": "1255:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4759,
                  "src": "1247:15:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4752,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1247:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4755,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "price",
                  "nameLocation": "1280:5:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4759,
                  "src": "1272:13:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4754,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1272:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4757,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "createdAt",
                  "nameLocation": "1303:9:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4759,
                  "src": "1295:17:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4756,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1295:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1237:76:55"
            },
            "src": "1209:105:55"
          },
          {
            "anonymous": false,
            "id": 4765,
            "name": "LogPriceDataBlockNumberSet",
            "nameLocation": "1326:26:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4764,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4761,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "blockNumber",
                  "nameLocation": "1370:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4765,
                  "src": "1362:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4760,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1362:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4763,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "comment",
                  "nameLocation": "1399:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4765,
                  "src": "1392:14:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4762,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1392:6:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1352:55:55"
            },
            "src": "1320:88:55"
          },
          {
            "anonymous": false,
            "id": 4771,
            "name": "LogUsdcProviderForcedDepeg",
            "nameLocation": "1420:26:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4770,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4767,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "updatedTriggeredAt",
                  "nameLocation": "1465:18:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4771,
                  "src": "1457:26:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4766,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1457:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4769,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "forcedDepegAt",
                  "nameLocation": "1501:13:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4771,
                  "src": "1493:21:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4768,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1493:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1447:68:55"
            },
            "src": "1414:102:55"
          },
          {
            "anonymous": false,
            "id": 4775,
            "name": "LogUsdcProviderResetDepeg",
            "nameLocation": "1528:25:55",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 4774,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4773,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "resetDepegAt",
                  "nameLocation": "1572:12:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4775,
                  "src": "1564:20:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4772,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1564:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1554:31:55"
            },
            "src": "1522:64:55"
          },
          {
            "canonicalName": "IPriceDataProvider.PriceInfo",
            "id": 4795,
            "members": [
              {
                "constant": false,
                "id": 4777,
                "mutability": "mutable",
                "name": "id",
                "nameLocation": "1627:2:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1619:10:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4776,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1619:7:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4779,
                "mutability": "mutable",
                "name": "price",
                "nameLocation": "1647:5:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1639:13:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4778,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1639:7:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4782,
                "mutability": "mutable",
                "name": "compliance",
                "nameLocation": "1678:10:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1662:26:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_ComplianceState_$4691",
                  "typeString": "enum IPriceDataProvider.ComplianceState"
                },
                "typeName": {
                  "id": 4781,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 4780,
                    "name": "ComplianceState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 4691,
                    "src": "1662:15:55"
                  },
                  "referencedDeclaration": 4691,
                  "src": "1662:15:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_ComplianceState_$4691",
                    "typeString": "enum IPriceDataProvider.ComplianceState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4785,
                "mutability": "mutable",
                "name": "stability",
                "nameLocation": "1713:9:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1698:24:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_StabilityState_$4697",
                  "typeString": "enum IPriceDataProvider.StabilityState"
                },
                "typeName": {
                  "id": 4784,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 4783,
                    "name": "StabilityState",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 4697,
                    "src": "1698:14:55"
                  },
                  "referencedDeclaration": 4697,
                  "src": "1698:14:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_StabilityState_$4697",
                    "typeString": "enum IPriceDataProvider.StabilityState"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4788,
                "mutability": "mutable",
                "name": "eventType",
                "nameLocation": "1742:9:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1732:19:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_enum$_EventType_$4703",
                  "typeString": "enum IPriceDataProvider.EventType"
                },
                "typeName": {
                  "id": 4787,
                  "nodeType": "UserDefinedTypeName",
                  "pathNode": {
                    "id": 4786,
                    "name": "EventType",
                    "nodeType": "IdentifierPath",
                    "referencedDeclaration": 4703,
                    "src": "1732:9:55"
                  },
                  "referencedDeclaration": 4703,
                  "src": "1732:9:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_enum$_EventType_$4703",
                    "typeString": "enum IPriceDataProvider.EventType"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4790,
                "mutability": "mutable",
                "name": "triggeredAt",
                "nameLocation": "1769:11:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1761:19:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4789,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1761:7:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4792,
                "mutability": "mutable",
                "name": "depeggedAt",
                "nameLocation": "1798:10:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1790:18:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4791,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1790:7:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4794,
                "mutability": "mutable",
                "name": "createdAt",
                "nameLocation": "1826:9:55",
                "nodeType": "VariableDeclaration",
                "scope": 4795,
                "src": "1818:17:55",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4793,
                  "name": "uint256",
                  "nodeType": "ElementaryTypeName",
                  "src": "1818:7:55",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "name": "PriceInfo",
            "nameLocation": "1599:9:55",
            "nodeType": "StructDefinition",
            "scope": 4897,
            "src": "1592:250:55",
            "visibility": "public"
          },
          {
            "functionSelector": "4abc6ed0",
            "id": 4801,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "processLatestPriceInfo",
            "nameLocation": "1857:22:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4796,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1879:2:55"
            },
            "returnParameters": {
              "id": 4800,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4799,
                  "mutability": "mutable",
                  "name": "priceInfo",
                  "nameLocation": "1933:9:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4801,
                  "src": "1916:26:55",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_PriceInfo_$4795_memory_ptr",
                    "typeString": "struct IPriceDataProvider.PriceInfo"
                  },
                  "typeName": {
                    "id": 4798,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4797,
                      "name": "PriceInfo",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4795,
                      "src": "1916:9:55"
                    },
                    "referencedDeclaration": 4795,
                    "src": "1916:9:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_PriceInfo_$4795_storage_ptr",
                      "typeString": "struct IPriceDataProvider.PriceInfo"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1915:28:55"
            },
            "scope": 4897,
            "src": "1848:96:55",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "1ce720e7",
            "id": 4804,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "forceDepegForNextPriceInfo",
            "nameLocation": "1983:26:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4802,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2009:2:55"
            },
            "returnParameters": {
              "id": 4803,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2028:0:55"
            },
            "scope": 4897,
            "src": "1974:55:55",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bfe43002",
            "id": 4807,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "resetDepeg",
            "nameLocation": "2068:10:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4805,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2078:2:55"
            },
            "returnParameters": {
              "id": 4806,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2097:0:55"
            },
            "scope": 4897,
            "src": "2059:39:55",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "073803e6",
            "id": 4817,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isNewPriceInfoEventAvailable",
            "nameLocation": "2113:28:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4808,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2141:2:55"
            },
            "returnParameters": {
              "id": 4816,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4810,
                  "mutability": "mutable",
                  "name": "newEvent",
                  "nameLocation": "2208:8:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4817,
                  "src": "2203:13:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4809,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2203:4:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4813,
                  "mutability": "mutable",
                  "name": "priceInfo",
                  "nameLocation": "2248:9:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4817,
                  "src": "2231:26:55",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_PriceInfo_$4795_memory_ptr",
                    "typeString": "struct IPriceDataProvider.PriceInfo"
                  },
                  "typeName": {
                    "id": 4812,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4811,
                      "name": "PriceInfo",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4795,
                      "src": "2231:9:55"
                    },
                    "referencedDeclaration": 4795,
                    "src": "2231:9:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_PriceInfo_$4795_storage_ptr",
                      "typeString": "struct IPriceDataProvider.PriceInfo"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4815,
                  "mutability": "mutable",
                  "name": "timeSinceEvent",
                  "nameLocation": "2279:14:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4817,
                  "src": "2271:22:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4814,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2271:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2189:105:55"
            },
            "scope": 4897,
            "src": "2104:191:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f008e03e",
            "id": 4823,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getLatestPriceInfo",
            "nameLocation": "2310:18:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4818,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2328:2:55"
            },
            "returnParameters": {
              "id": 4822,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4821,
                  "mutability": "mutable",
                  "name": "priceInfo",
                  "nameLocation": "2395:9:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4823,
                  "src": "2378:26:55",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_PriceInfo_$4795_memory_ptr",
                    "typeString": "struct IPriceDataProvider.PriceInfo"
                  },
                  "typeName": {
                    "id": 4820,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4819,
                      "name": "PriceInfo",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4795,
                      "src": "2378:9:55"
                    },
                    "referencedDeclaration": 4795,
                    "src": "2378:9:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_PriceInfo_$4795_storage_ptr",
                      "typeString": "struct IPriceDataProvider.PriceInfo"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2377:28:55"
            },
            "scope": 4897,
            "src": "2301:105:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "073dd79c",
            "id": 4829,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDepegPriceInfo",
            "nameLocation": "2421:17:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4824,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2438:2:55"
            },
            "returnParameters": {
              "id": 4828,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4827,
                  "mutability": "mutable",
                  "name": "priceInfo",
                  "nameLocation": "2505:9:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4829,
                  "src": "2488:26:55",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_PriceInfo_$4795_memory_ptr",
                    "typeString": "struct IPriceDataProvider.PriceInfo"
                  },
                  "typeName": {
                    "id": 4826,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 4825,
                      "name": "PriceInfo",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 4795,
                      "src": "2488:9:55"
                    },
                    "referencedDeclaration": 4795,
                    "src": "2488:9:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_PriceInfo_$4795_storage_ptr",
                      "typeString": "struct IPriceDataProvider.PriceInfo"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2487:28:55"
            },
            "scope": 4897,
            "src": "2412:104:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "944dc7f1",
            "id": 4836,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setDepeggedBlockNumber",
            "nameLocation": "2532:22:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4834,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4831,
                  "mutability": "mutable",
                  "name": "blockNumber",
                  "nameLocation": "2572:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4836,
                  "src": "2564:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint128",
                    "typeString": "uint128"
                  },
                  "typeName": {
                    "id": 4830,
                    "name": "uint128",
                    "nodeType": "ElementaryTypeName",
                    "src": "2564:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint128",
                      "typeString": "uint128"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4833,
                  "mutability": "mutable",
                  "name": "comment",
                  "nameLocation": "2607:7:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4836,
                  "src": "2593:21:55",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4832,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2593:6:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2554:66:55"
            },
            "returnParameters": {
              "id": 4835,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2638:0:55"
            },
            "scope": 4897,
            "src": "2523:116:55",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "46c3261a",
            "id": 4841,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDepeggedBlockNumber",
            "nameLocation": "2654:22:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4837,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2676:2:55"
            },
            "returnParameters": {
              "id": 4840,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4839,
                  "mutability": "mutable",
                  "name": "blockNumber",
                  "nameLocation": "2709:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4841,
                  "src": "2701:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4838,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2701:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2700:21:55"
            },
            "scope": 4897,
            "src": "2645:77:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bd01bb32",
            "id": 4846,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTargetPrice",
            "nameLocation": "2738:14:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4842,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2752:2:55"
            },
            "returnParameters": {
              "id": 4845,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4844,
                  "mutability": "mutable",
                  "name": "targetPrice",
                  "nameLocation": "2785:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4846,
                  "src": "2777:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4843,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2777:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2776:21:55"
            },
            "scope": 4897,
            "src": "2729:69:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8e2e09d2",
            "id": 4851,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getTriggeredAt",
            "nameLocation": "2813:14:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4847,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2827:2:55"
            },
            "returnParameters": {
              "id": 4850,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4849,
                  "mutability": "mutable",
                  "name": "triggeredAt",
                  "nameLocation": "2860:11:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4851,
                  "src": "2852:19:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4848,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2852:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2851:21:55"
            },
            "scope": 4897,
            "src": "2804:69:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "47d8e180",
            "id": 4856,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDepeggedAt",
            "nameLocation": "2887:13:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4852,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2900:2:55"
            },
            "returnParameters": {
              "id": 4855,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4854,
                  "mutability": "mutable",
                  "name": "depeggedAt",
                  "nameLocation": "2933:10:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4856,
                  "src": "2925:18:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4853,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2925:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2924:20:55"
            },
            "scope": 4897,
            "src": "2878:67:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "e8d6e0de",
            "id": 4861,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getAggregatorAddress",
            "nameLocation": "2960:20:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4857,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2980:2:55"
            },
            "returnParameters": {
              "id": 4860,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4859,
                  "mutability": "mutable",
                  "name": "aggregatorAddress",
                  "nameLocation": "3013:17:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4861,
                  "src": "3005:25:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4858,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3005:7:55",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3004:27:55"
            },
            "scope": 4897,
            "src": "2951:81:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "8d20ff14",
            "id": 4866,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getHeartbeat",
            "nameLocation": "3046:12:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4862,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3058:2:55"
            },
            "returnParameters": {
              "id": 4865,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4864,
                  "mutability": "mutable",
                  "name": "heartbeatSeconds",
                  "nameLocation": "3091:16:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4866,
                  "src": "3083:24:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4863,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3083:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3082:26:55"
            },
            "scope": 4897,
            "src": "3037:72:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "89ab3532",
            "id": 4871,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDeviation",
            "nameLocation": "3123:12:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4867,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3135:2:55"
            },
            "returnParameters": {
              "id": 4870,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4869,
                  "mutability": "mutable",
                  "name": "deviationLevel",
                  "nameLocation": "3168:14:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4871,
                  "src": "3160:22:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4868,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3160:7:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3159:24:55"
            },
            "scope": 4897,
            "src": "3114:70:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "f0141d84",
            "id": 4876,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDecimals",
            "nameLocation": "3198:11:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4872,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3209:2:55"
            },
            "returnParameters": {
              "id": 4875,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4874,
                  "mutability": "mutable",
                  "name": "aggregatorDecimals",
                  "nameLocation": "3240:18:55",
                  "nodeType": "VariableDeclaration",
                  "scope": 4876,
                  "src": "3234:24:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 4873,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "3234:5:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3233:26:55"
            },
            "scope": 4897,
            "src": "3189:71:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "21df0da7",
            "id": 4881,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getToken",
            "nameLocation": "3275:8:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4877,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3283:2:55"
            },
            "returnParameters": {
              "id": 4880,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4879,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4881,
                  "src": "3308:7:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4878,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3308:7:55",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3307:9:55"
            },
            "scope": 4897,
            "src": "3266:51:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "893d20e8",
            "id": 4886,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getOwner",
            "nameLocation": "3331:8:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4882,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3339:2:55"
            },
            "returnParameters": {
              "id": 4885,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4884,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4886,
                  "src": "3364:7:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4883,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3364:7:55",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3363:9:55"
            },
            "scope": 4897,
            "src": "3322:51:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "2a5c04a8",
            "id": 4891,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isMainnetProvider",
            "nameLocation": "3388:17:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4887,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3405:2:55"
            },
            "returnParameters": {
              "id": 4890,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4889,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4891,
                  "src": "3430:4:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4888,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3430:4:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3429:6:55"
            },
            "scope": 4897,
            "src": "3379:57:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "functionSelector": "bb27b34f",
            "id": 4896,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "isTestnetProvider",
            "nameLocation": "3450:17:55",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4892,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3467:2:55"
            },
            "returnParameters": {
              "id": 4895,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4894,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 4896,
                  "src": "3492:4:55",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 4893,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3492:4:55",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3491:6:55"
            },
            "scope": 4897,
            "src": "3441:57:55",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 4898,
        "src": "63:3437:55"
      }
    ],
    "src": "39:3462:55"
  },
  "bytecode": "",
  "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.2+commit.661d1103"
  },
  "contractName": "IPriceDataProvider",
  "coverageMap": {
    "branches": {},
    "statements": {}
  },
  "dependencies": [],
  "deployedBytecode": "",
  "deployedSourceMap": "",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "offset": [
    63,
    3500
  ],
  "opcodes": "",
  "pcMap": {},
  "sha1": "d6d209aca6a37ddfa23db2ae9ffc113f216dc881",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity 0.8.2;\n\ninterface IPriceDataProvider {\n\n    enum ComplianceState {\n        Undefined,\n        Initializing,\n        Valid,\n        FailedOnce,\n        FailedMultipleTimes\n    }\n\n    enum StabilityState {\n        Undefined,\n        Initializing,\n        Stable,\n        Triggered,\n        Depegged\n    }\n\n    enum EventType {\n        Undefined,\n        Update,\n        TriggerEvent,\n        RecoveryEvent,\n        DepegEvent\n    }\n\n    event LogPriceDataDeviationExceeded (\n        uint256 priceId,\n        uint256 priceDeviation,\n        uint256 currentPrice,\n        uint256 lastPrice);\n\n    event LogPriceDataHeartbeatExceeded (\n        uint256 priceId,\n        uint256 timeDifference,\n        uint256 currentCreatedAt,\n        uint256 lastCreatedAt);\n\n    event LogPriceDataTriggered (\n        uint256 priceId,\n        uint256 price,\n        uint256 triggeredAt);\n\n    event LogPriceDataRecovered (\n        uint256 priceId,\n        uint256 price,\n        uint256 triggeredAt,\n        uint256 recoveredAt);\n\n    event LogPriceDataDepegged (\n        uint256 priceId,\n        uint256 price,\n        uint256 triggeredAt,\n        uint256 depeggedAt);\n\n    event LogPriceDataProcessed (\n        uint256 priceId,\n        uint256 price,\n        uint256 createdAt);\n\n    event LogPriceDataBlockNumberSet(\n        uint256 blockNumber, \n        string comment);\n\n    event LogUsdcProviderForcedDepeg (\n        uint256 updatedTriggeredAt,\n        uint256 forcedDepegAt);\n\n    event LogUsdcProviderResetDepeg (\n        uint256 resetDepegAt);\n\n    struct PriceInfo {\n        uint256 id;\n        uint256 price;\n        ComplianceState compliance;\n        StabilityState stability;\n        EventType eventType;\n        uint256 triggeredAt;\n        uint256 depeggedAt;\n        uint256 createdAt;\n    }\n\n    function processLatestPriceInfo()\n        external \n        returns(PriceInfo memory priceInfo);\n\n    // only on testnets\n    function forceDepegForNextPriceInfo()\n        external;\n\n    // only on testnets\n    function resetDepeg()\n        external;\n\n    function isNewPriceInfoEventAvailable()\n        external\n        view\n        returns(\n            bool newEvent, \n            PriceInfo memory priceInfo,\n            uint256 timeSinceEvent);\n\n    function getLatestPriceInfo()\n        external\n        view \n        returns(PriceInfo memory priceInfo);\n\n    function getDepegPriceInfo()\n        external\n        view \n        returns(PriceInfo memory priceInfo);\n\n\n    function setDepeggedBlockNumber(\n        uint128 blockNumber,\n        string memory comment\n    ) \n        external;\n\n    function getDepeggedBlockNumber() external view returns(uint256 blockNumber);\n\n\n    function getTargetPrice() external view returns(uint256 targetPrice);\n\n    function getTriggeredAt() external view returns(uint256 triggeredAt);\n    function getDepeggedAt() external view returns(uint256 depeggedAt);\n\n    function getAggregatorAddress() external view returns(address aggregatorAddress);\n    function getHeartbeat() external view returns(uint256 heartbeatSeconds);\n    function getDeviation() external view returns(uint256 deviationLevel);\n    function getDecimals() external view returns(uint8 aggregatorDecimals);\n\n    function getToken() external view returns(address);\n    function getOwner() external view returns(address);\n\n    function isMainnetProvider() external view returns(bool);\n    function isTestnetProvider() external view returns(bool);\n}\n",
  "sourceMap": "",
  "sourcePath": "contracts/IPriceDataProvider.sol",
  "type": "interface"
}