{
  "contractName": "TestDaiUsdChainlinkAggregator",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "aggregator",
      "outputs": [
        {
          "internalType": "contract IChainlinkAccessControlAggregator",
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "maxAnswer",
      "outputs": [
        {
          "internalType": "int192",
          "name": "",
          "type": "int192"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "minAnswer",
      "outputs": [
        {
          "internalType": "int192",
          "name": "",
          "type": "int192"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "latestRoundData",
      "outputs": [
        {
          "internalType": "uint80",
          "name": "roundId",
          "type": "uint80"
        },
        {
          "internalType": "int256",
          "name": "answer",
          "type": "int256"
        },
        {
          "internalType": "uint256",
          "name": "startedAt",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "updatedAt",
          "type": "uint256"
        },
        {
          "internalType": "uint80",
          "name": "answeredInRound",
          "type": "uint80"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"aggregator\",\"outputs\":[{\"internalType\":\"contract IChainlinkAccessControlAggregator\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"maxAnswer\",\"outputs\":[{\"internalType\":\"int192\",\"name\":\"\",\"type\":\"int192\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"minAnswer\",\"outputs\":[{\"internalType\":\"int192\",\"name\":\"\",\"type\":\"int192\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Gets the latest price from the Chainlink Oracle Network. Amount of decimals depends on the base.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestDaiEthChainlinkAggregator.sol\":\"TestDaiUsdChainlinkAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[]},\"sources\":{\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IChainlinkAccessControlAggregator.sol\":{\"keccak256\":\"0xbb94dc91633d6fb20e1d7e2b5ce1f11346e89a6bfc8c3ac5d163c35a3e4ad60a\",\"urls\":[\"bzz-raw://264c7c039caf44b1866769feb237010651730d546b54bb6f2b7bc77cf3b6c9c9\",\"dweb:/ipfs/QmX8TTF8E2G8TT1yig6qHC8amWDwaq1GG6iaKYTTHsYsjo\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x0209c9f35dbe82857a6441d8d61f271baeb5098549eabf5fc6d33503d0d3e073\",\"urls\":[\"bzz-raw://2f6af7b5198548a9a5e3d8a30203d7cd003eae93cca22b8466c10e0dcfcbc367\",\"dweb:/ipfs/Qme3bQ58ZoQLYDoJQHnvEeQZqgqyWTFBYBmMoiem7LPXmz\"]},\"/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestDaiEthChainlinkAggregator.sol\":{\"keccak256\":\"0xcd7ed86868bdabcc4b89e609ea1634a99908951922a19b5710b0764c34a0bc9a\",\"urls\":[\"bzz-raw://80950a780131d9536f0a7da16380127c09109349749eaf8307769cd89eb59634\",\"dweb:/ipfs/QmX4HXR13k1UhG8wzpxu9j1L2X9f3eT7Ebyq8cRsVjze1o\"]}},\"version\":1}",
  "bytecode": "0x608060405234801561001057600080fd5b50610199806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063313ce56711610050578063313ce567146100be57806370da2f67146100dc578063feaf968c146100e457610067565b806322adbc781461006c578063245a7bfc1461008d575b600080fd5b61007461012b565b60408051601792830b90920b8252519081900360200190f35b610095610130565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100c6610134565b6040805160ff9092168252519081900360200190f35b610074610139565b6100ec610153565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b600190565b3090565b600890565b75ffffffffffffffffffffffffffffffffffffffffffff90565b60006305f767a0814281909192939456fea265627a7a72315820e437a9f823e880948b9be3f4f0aaa470cb8f3db130a4a5a80353c149f98be05264736f6c63430005100032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063313ce56711610050578063313ce567146100be57806370da2f67146100dc578063feaf968c146100e457610067565b806322adbc781461006c578063245a7bfc1461008d575b600080fd5b61007461012b565b60408051601792830b90920b8252519081900360200190f35b610095610130565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100c6610134565b6040805160ff9092168252519081900360200190f35b610074610139565b6100ec610153565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b600190565b3090565b600890565b75ffffffffffffffffffffffffffffffffffffffffffff90565b60006305f767a0814281909192939456fea265627a7a72315820e437a9f823e880948b9be3f4f0aaa470cb8f3db130a4a5a80353c149f98be05264736f6c63430005100032",
  "sourceMap": "937:949:117:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;937:949:117;;;;;;;",
  "deployedSourceMap": "937:949:117:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;937:949:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1521:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;1042:257;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1305:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1386:129;;;:::i;1604:280::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1521:77;1590:1;1521:77;:::o;1042:257::-;1286:4;1042:257;:::o;1305:75::-;1372:1;1305:75;:::o;1386:129::-;1455:53;1386:129;:::o;1604:280::-;1675:14;1844:9;1675:14;1858:15;1675:14;1604:280;;;;;:::o",
  "source": "/*\n\n    Copyright 2020 Dolomite.\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n*/\n\npragma solidity ^0.5.7;\n\nimport { IChainlinkAggregator } from \"../external/interfaces/IChainlinkAggregator.sol\";\nimport { IChainlinkAccessControlAggregator } from \"../external/interfaces/IChainlinkAccessControlAggregator.sol\";\n\n\n/**\n * @dev Gets the latest price from the Chainlink Oracle Network. Amount of decimals depends on the base.\n */\ncontract TestDaiUsdChainlinkAggregator is IChainlinkAggregator, IChainlinkAccessControlAggregator {\n\n    function aggregator() external view returns (IChainlinkAccessControlAggregator) {\n        // For the sake of simplicity, we implement the IChainlinkAccessControlAggregator interface here\n        return IChainlinkAccessControlAggregator(address(this));\n    }\n\n    function decimals() external view returns (uint8) {\n        return 8;\n    }\n\n    function maxAnswer() external view returns (int192) {\n        return 95780971304118053647396689196894323976171195136475135;\n    }\n\n    function minAnswer() external view returns (int192) {\n        return 1;\n    }\n\n    function latestRoundData()\n    external\n    view\n    returns (\n        uint80 roundId,\n        int256 answer,\n        uint256 startedAt,\n        uint256 updatedAt,\n        uint80 answeredInRound\n    ) {\n        // $1.001\n        return (0, 100100000, 0, block.timestamp, 0);\n    }\n}\n",
  "sourcePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestDaiEthChainlinkAggregator.sol",
  "ast": {
    "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestDaiEthChainlinkAggregator.sol",
    "exportedSymbols": {
      "TestDaiUsdChainlinkAggregator": [
        33325
      ]
    },
    "id": 33326,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 33258,
        "literals": [
          "solidity",
          "^",
          "0.5",
          ".7"
        ],
        "nodeType": "PragmaDirective",
        "src": "595:23:117"
      },
      {
        "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IChainlinkAggregator.sol",
        "file": "../external/interfaces/IChainlinkAggregator.sol",
        "id": 33260,
        "nodeType": "ImportDirective",
        "scope": 33326,
        "sourceUnit": 4191,
        "src": "620:87:117",
        "symbolAliases": [
          {
            "foreign": 33259,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IChainlinkAccessControlAggregator.sol",
        "file": "../external/interfaces/IChainlinkAccessControlAggregator.sol",
        "id": 33262,
        "nodeType": "ImportDirective",
        "scope": 33326,
        "sourceUnit": 4162,
        "src": "708:113:117",
        "symbolAliases": [
          {
            "foreign": 33261,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 33263,
              "name": "IChainlinkAggregator",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4190,
              "src": "979:20:117",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IChainlinkAggregator_$4190",
                "typeString": "contract IChainlinkAggregator"
              }
            },
            "id": 33264,
            "nodeType": "InheritanceSpecifier",
            "src": "979:20:117"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 33265,
              "name": "IChainlinkAccessControlAggregator",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4161,
              "src": "1001:33:117",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                "typeString": "contract IChainlinkAccessControlAggregator"
              }
            },
            "id": 33266,
            "nodeType": "InheritanceSpecifier",
            "src": "1001:33:117"
          }
        ],
        "contractDependencies": [
          4161,
          4190
        ],
        "contractKind": "contract",
        "documentation": "@dev Gets the latest price from the Chainlink Oracle Network. Amount of decimals depends on the base.",
        "fullyImplemented": true,
        "id": 33325,
        "linearizedBaseContracts": [
          33325,
          4161,
          4190
        ],
        "name": "TestDaiUsdChainlinkAggregator",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 33277,
              "nodeType": "Block",
              "src": "1122:177:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 33273,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38375,
                            "src": "1286:4:117",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TestDaiUsdChainlinkAggregator_$33325",
                              "typeString": "contract TestDaiUsdChainlinkAggregator"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_TestDaiUsdChainlinkAggregator_$33325",
                              "typeString": "contract TestDaiUsdChainlinkAggregator"
                            }
                          ],
                          "id": 33272,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1278:7:117",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 33274,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1278:13:117",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 33271,
                      "name": "IChainlinkAccessControlAggregator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4161,
                      "src": "1244:33:117",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_IChainlinkAccessControlAggregator_$4161_$",
                        "typeString": "type(contract IChainlinkAccessControlAggregator)"
                      }
                    },
                    "id": 33275,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1244:48:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                      "typeString": "contract IChainlinkAccessControlAggregator"
                    }
                  },
                  "functionReturnParameters": 33270,
                  "id": 33276,
                  "nodeType": "Return",
                  "src": "1237:55:117"
                }
              ]
            },
            "documentation": null,
            "id": 33278,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "aggregator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33267,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1061:2:117"
            },
            "returnParameters": {
              "id": 33270,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33269,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33278,
                  "src": "1087:33:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                    "typeString": "contract IChainlinkAccessControlAggregator"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 33268,
                    "name": "IChainlinkAccessControlAggregator",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4161,
                    "src": "1087:33:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                      "typeString": "contract IChainlinkAccessControlAggregator"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1086:35:117"
            },
            "scope": 33325,
            "src": "1042:257:117",
            "stateMutability": "view",
            "superFunction": 4171,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33285,
              "nodeType": "Block",
              "src": "1355:25:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "38",
                    "id": 33283,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1372:1:117",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_8_by_1",
                      "typeString": "int_const 8"
                    },
                    "value": "8"
                  },
                  "functionReturnParameters": 33282,
                  "id": 33284,
                  "nodeType": "Return",
                  "src": "1365:8:117"
                }
              ]
            },
            "documentation": null,
            "id": 33286,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33279,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1322:2:117"
            },
            "returnParameters": {
              "id": 33282,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33281,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33286,
                  "src": "1348:5:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 33280,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1348:5:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1347:7:117"
            },
            "scope": 33325,
            "src": "1305:75:117",
            "stateMutability": "view",
            "superFunction": 4176,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33293,
              "nodeType": "Block",
              "src": "1438:77:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "3935373830393731333034313138303533363437333936363839313936383934333233393736313731313935313336343735313335",
                    "id": 33291,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1455:53:117",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_95780971304118053647396689196894323976171195136475135_by_1",
                      "typeString": "int_const 9578...(45 digits omitted)...5135"
                    },
                    "value": "95780971304118053647396689196894323976171195136475135"
                  },
                  "functionReturnParameters": 33290,
                  "id": 33292,
                  "nodeType": "Return",
                  "src": "1448:60:117"
                }
              ]
            },
            "documentation": null,
            "id": 33294,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "maxAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33287,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1404:2:117"
            },
            "returnParameters": {
              "id": 33290,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33289,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33294,
                  "src": "1430:6:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int192",
                    "typeString": "int192"
                  },
                  "typeName": {
                    "id": 33288,
                    "name": "int192",
                    "nodeType": "ElementaryTypeName",
                    "src": "1430:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int192",
                      "typeString": "int192"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1429:8:117"
            },
            "scope": 33325,
            "src": "1386:129:117",
            "stateMutability": "view",
            "superFunction": 4160,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33301,
              "nodeType": "Block",
              "src": "1573:25:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "31",
                    "id": 33299,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1590:1:117",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_1_by_1",
                      "typeString": "int_const 1"
                    },
                    "value": "1"
                  },
                  "functionReturnParameters": 33298,
                  "id": 33300,
                  "nodeType": "Return",
                  "src": "1583:8:117"
                }
              ]
            },
            "documentation": null,
            "id": 33302,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "minAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33295,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1539:2:117"
            },
            "returnParameters": {
              "id": 33298,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33297,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33302,
                  "src": "1565:6:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int192",
                    "typeString": "int192"
                  },
                  "typeName": {
                    "id": 33296,
                    "name": "int192",
                    "nodeType": "ElementaryTypeName",
                    "src": "1565:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int192",
                      "typeString": "int192"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1564:8:117"
            },
            "scope": 33325,
            "src": "1521:77:117",
            "stateMutability": "view",
            "superFunction": 4155,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33323,
              "nodeType": "Block",
              "src": "1805:79:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 33315,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1841:1:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "313030313030303030",
                        "id": 33316,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1844:9:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100100000_by_1",
                          "typeString": "int_const 100100000"
                        },
                        "value": "100100000"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 33317,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1855:1:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 33318,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38097,
                          "src": "1858:5:117",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 33319,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1858:15:117",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 33320,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1875:1:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "id": 33321,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "1840:37:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_100100000_by_1_$_t_rational_0_by_1_$_t_uint256_$_t_rational_0_by_1_$",
                      "typeString": "tuple(int_const 0,int_const 100100000,int_const 0,uint256,int_const 0)"
                    }
                  },
                  "functionReturnParameters": 33314,
                  "id": 33322,
                  "nodeType": "Return",
                  "src": "1833:44:117"
                }
              ]
            },
            "documentation": null,
            "id": 33324,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestRoundData",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33303,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1628:2:117"
            },
            "returnParameters": {
              "id": 33314,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33305,
                  "name": "roundId",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1675:14:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint80",
                    "typeString": "uint80"
                  },
                  "typeName": {
                    "id": 33304,
                    "name": "uint80",
                    "nodeType": "ElementaryTypeName",
                    "src": "1675:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint80",
                      "typeString": "uint80"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33307,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1699:13:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 33306,
                    "name": "int256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1699:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33309,
                  "name": "startedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1722:17:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 33308,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1722:7:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33311,
                  "name": "updatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1749:17:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 33310,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1749:7:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33313,
                  "name": "answeredInRound",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1776:22:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint80",
                    "typeString": "uint80"
                  },
                  "typeName": {
                    "id": 33312,
                    "name": "uint80",
                    "nodeType": "ElementaryTypeName",
                    "src": "1776:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint80",
                      "typeString": "uint80"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1665:139:117"
            },
            "scope": 33325,
            "src": "1604:280:117",
            "stateMutability": "view",
            "superFunction": 4189,
            "visibility": "external"
          }
        ],
        "scope": 33326,
        "src": "937:949:117"
      }
    ],
    "src": "595:1292:117"
  },
  "legacyAST": {
    "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/testing/TestDaiEthChainlinkAggregator.sol",
    "exportedSymbols": {
      "TestDaiUsdChainlinkAggregator": [
        33325
      ]
    },
    "id": 33326,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 33258,
        "literals": [
          "solidity",
          "^",
          "0.5",
          ".7"
        ],
        "nodeType": "PragmaDirective",
        "src": "595:23:117"
      },
      {
        "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IChainlinkAggregator.sol",
        "file": "../external/interfaces/IChainlinkAggregator.sol",
        "id": 33260,
        "nodeType": "ImportDirective",
        "scope": 33326,
        "sourceUnit": 4191,
        "src": "620:87:117",
        "symbolAliases": [
          {
            "foreign": 33259,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/cdc218/projects/dolomite-protocol-v2/contracts/external/interfaces/IChainlinkAccessControlAggregator.sol",
        "file": "../external/interfaces/IChainlinkAccessControlAggregator.sol",
        "id": 33262,
        "nodeType": "ImportDirective",
        "scope": 33326,
        "sourceUnit": 4162,
        "src": "708:113:117",
        "symbolAliases": [
          {
            "foreign": 33261,
            "local": null
          }
        ],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 33263,
              "name": "IChainlinkAggregator",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4190,
              "src": "979:20:117",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IChainlinkAggregator_$4190",
                "typeString": "contract IChainlinkAggregator"
              }
            },
            "id": 33264,
            "nodeType": "InheritanceSpecifier",
            "src": "979:20:117"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 33265,
              "name": "IChainlinkAccessControlAggregator",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4161,
              "src": "1001:33:117",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                "typeString": "contract IChainlinkAccessControlAggregator"
              }
            },
            "id": 33266,
            "nodeType": "InheritanceSpecifier",
            "src": "1001:33:117"
          }
        ],
        "contractDependencies": [
          4161,
          4190
        ],
        "contractKind": "contract",
        "documentation": "@dev Gets the latest price from the Chainlink Oracle Network. Amount of decimals depends on the base.",
        "fullyImplemented": true,
        "id": 33325,
        "linearizedBaseContracts": [
          33325,
          4161,
          4190
        ],
        "name": "TestDaiUsdChainlinkAggregator",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "body": {
              "id": 33277,
              "nodeType": "Block",
              "src": "1122:177:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 33273,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 38375,
                            "src": "1286:4:117",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_TestDaiUsdChainlinkAggregator_$33325",
                              "typeString": "contract TestDaiUsdChainlinkAggregator"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_TestDaiUsdChainlinkAggregator_$33325",
                              "typeString": "contract TestDaiUsdChainlinkAggregator"
                            }
                          ],
                          "id": 33272,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1278:7:117",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": "address"
                        },
                        "id": 33274,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1278:13:117",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "id": 33271,
                      "name": "IChainlinkAccessControlAggregator",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4161,
                      "src": "1244:33:117",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_contract$_IChainlinkAccessControlAggregator_$4161_$",
                        "typeString": "type(contract IChainlinkAccessControlAggregator)"
                      }
                    },
                    "id": 33275,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1244:48:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                      "typeString": "contract IChainlinkAccessControlAggregator"
                    }
                  },
                  "functionReturnParameters": 33270,
                  "id": 33276,
                  "nodeType": "Return",
                  "src": "1237:55:117"
                }
              ]
            },
            "documentation": null,
            "id": 33278,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "aggregator",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33267,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1061:2:117"
            },
            "returnParameters": {
              "id": 33270,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33269,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33278,
                  "src": "1087:33:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                    "typeString": "contract IChainlinkAccessControlAggregator"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 33268,
                    "name": "IChainlinkAccessControlAggregator",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 4161,
                    "src": "1087:33:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IChainlinkAccessControlAggregator_$4161",
                      "typeString": "contract IChainlinkAccessControlAggregator"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1086:35:117"
            },
            "scope": 33325,
            "src": "1042:257:117",
            "stateMutability": "view",
            "superFunction": 4171,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33285,
              "nodeType": "Block",
              "src": "1355:25:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "38",
                    "id": 33283,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1372:1:117",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_8_by_1",
                      "typeString": "int_const 8"
                    },
                    "value": "8"
                  },
                  "functionReturnParameters": 33282,
                  "id": 33284,
                  "nodeType": "Return",
                  "src": "1365:8:117"
                }
              ]
            },
            "documentation": null,
            "id": 33286,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33279,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1322:2:117"
            },
            "returnParameters": {
              "id": 33282,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33281,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33286,
                  "src": "1348:5:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 33280,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "1348:5:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1347:7:117"
            },
            "scope": 33325,
            "src": "1305:75:117",
            "stateMutability": "view",
            "superFunction": 4176,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33293,
              "nodeType": "Block",
              "src": "1438:77:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "3935373830393731333034313138303533363437333936363839313936383934333233393736313731313935313336343735313335",
                    "id": 33291,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1455:53:117",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_95780971304118053647396689196894323976171195136475135_by_1",
                      "typeString": "int_const 9578...(45 digits omitted)...5135"
                    },
                    "value": "95780971304118053647396689196894323976171195136475135"
                  },
                  "functionReturnParameters": 33290,
                  "id": 33292,
                  "nodeType": "Return",
                  "src": "1448:60:117"
                }
              ]
            },
            "documentation": null,
            "id": 33294,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "maxAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33287,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1404:2:117"
            },
            "returnParameters": {
              "id": 33290,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33289,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33294,
                  "src": "1430:6:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int192",
                    "typeString": "int192"
                  },
                  "typeName": {
                    "id": 33288,
                    "name": "int192",
                    "nodeType": "ElementaryTypeName",
                    "src": "1430:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int192",
                      "typeString": "int192"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1429:8:117"
            },
            "scope": 33325,
            "src": "1386:129:117",
            "stateMutability": "view",
            "superFunction": 4160,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33301,
              "nodeType": "Block",
              "src": "1573:25:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "hexValue": "31",
                    "id": 33299,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "1590:1:117",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_1_by_1",
                      "typeString": "int_const 1"
                    },
                    "value": "1"
                  },
                  "functionReturnParameters": 33298,
                  "id": 33300,
                  "nodeType": "Return",
                  "src": "1583:8:117"
                }
              ]
            },
            "documentation": null,
            "id": 33302,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "minAnswer",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33295,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1539:2:117"
            },
            "returnParameters": {
              "id": 33298,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33297,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 33302,
                  "src": "1565:6:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int192",
                    "typeString": "int192"
                  },
                  "typeName": {
                    "id": 33296,
                    "name": "int192",
                    "nodeType": "ElementaryTypeName",
                    "src": "1565:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int192",
                      "typeString": "int192"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1564:8:117"
            },
            "scope": 33325,
            "src": "1521:77:117",
            "stateMutability": "view",
            "superFunction": 4155,
            "visibility": "external"
          },
          {
            "body": {
              "id": 33323,
              "nodeType": "Block",
              "src": "1805:79:117",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 33315,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1841:1:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "313030313030303030",
                        "id": 33316,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1844:9:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_100100000_by_1",
                          "typeString": "int_const 100100000"
                        },
                        "value": "100100000"
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 33317,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1855:1:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 33318,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 38097,
                          "src": "1858:5:117",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 33319,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "1858:15:117",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "30",
                        "id": 33320,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1875:1:117",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_0_by_1",
                          "typeString": "int_const 0"
                        },
                        "value": "0"
                      }
                    ],
                    "id": 33321,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "1840:37:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_100100000_by_1_$_t_rational_0_by_1_$_t_uint256_$_t_rational_0_by_1_$",
                      "typeString": "tuple(int_const 0,int_const 100100000,int_const 0,uint256,int_const 0)"
                    }
                  },
                  "functionReturnParameters": 33314,
                  "id": 33322,
                  "nodeType": "Return",
                  "src": "1833:44:117"
                }
              ]
            },
            "documentation": null,
            "id": 33324,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "latestRoundData",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 33303,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1628:2:117"
            },
            "returnParameters": {
              "id": 33314,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 33305,
                  "name": "roundId",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1675:14:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint80",
                    "typeString": "uint80"
                  },
                  "typeName": {
                    "id": 33304,
                    "name": "uint80",
                    "nodeType": "ElementaryTypeName",
                    "src": "1675:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint80",
                      "typeString": "uint80"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33307,
                  "name": "answer",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1699:13:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 33306,
                    "name": "int256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1699:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33309,
                  "name": "startedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1722:17:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 33308,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1722:7:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33311,
                  "name": "updatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1749:17:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 33310,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1749:7:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 33313,
                  "name": "answeredInRound",
                  "nodeType": "VariableDeclaration",
                  "scope": 33324,
                  "src": "1776:22:117",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint80",
                    "typeString": "uint80"
                  },
                  "typeName": {
                    "id": 33312,
                    "name": "uint80",
                    "nodeType": "ElementaryTypeName",
                    "src": "1776:6:117",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint80",
                      "typeString": "uint80"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1665:139:117"
            },
            "scope": 33325,
            "src": "1604:280:117",
            "stateMutability": "view",
            "superFunction": 4189,
            "visibility": "external"
          }
        ],
        "scope": 33326,
        "src": "937:949:117"
      }
    ],
    "src": "595:1292:117"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.16+commit.9c3226ce.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.0.23",
  "updatedAt": "2025-06-22T04:01:54.118Z",
  "devdoc": {
    "details": "Gets the latest price from the Chainlink Oracle Network. Amount of decimals depends on the base.",
    "methods": {}
  },
  "userdoc": {
    "methods": {}
  }
}