github.com/diadata-org/diadata@v1.4.593/pkg/dia/scraper/blockchain-scrapers/blockchains/ethereum/diaOracleService/DIAOracle.json (about)

     1  {
     2    "contractName": "DIAOracle",
     3    "abi": [
     4      {
     5        "inputs": [],
     6        "stateMutability": "nonpayable",
     7        "type": "constructor"
     8      },
     9      {
    10        "anonymous": false,
    11        "inputs": [
    12          {
    13            "indexed": false,
    14            "internalType": "string",
    15            "name": "key",
    16            "type": "string"
    17          },
    18          {
    19            "indexed": false,
    20            "internalType": "uint128",
    21            "name": "value",
    22            "type": "uint128"
    23          },
    24          {
    25            "indexed": false,
    26            "internalType": "uint128",
    27            "name": "timestamp",
    28            "type": "uint128"
    29          }
    30        ],
    31        "name": "OracleUpdate",
    32        "type": "event"
    33      },
    34      {
    35        "anonymous": false,
    36        "inputs": [
    37          {
    38            "indexed": false,
    39            "internalType": "address",
    40            "name": "newUpdater",
    41            "type": "address"
    42          }
    43        ],
    44        "name": "UpdaterAddressChange",
    45        "type": "event"
    46      },
    47      {
    48        "inputs": [
    49          {
    50            "internalType": "string",
    51            "name": "",
    52            "type": "string"
    53          }
    54        ],
    55        "name": "values",
    56        "outputs": [
    57          {
    58            "internalType": "uint256",
    59            "name": "",
    60            "type": "uint256"
    61          }
    62        ],
    63        "stateMutability": "view",
    64        "type": "function"
    65      },
    66      {
    67        "inputs": [
    68          {
    69            "internalType": "string",
    70            "name": "key",
    71            "type": "string"
    72          },
    73          {
    74            "internalType": "uint128",
    75            "name": "value",
    76            "type": "uint128"
    77          },
    78          {
    79            "internalType": "uint128",
    80            "name": "timestamp",
    81            "type": "uint128"
    82          }
    83        ],
    84        "name": "setValue",
    85        "outputs": [],
    86        "stateMutability": "nonpayable",
    87        "type": "function"
    88      },
    89      {
    90        "inputs": [
    91          {
    92            "internalType": "string",
    93            "name": "key",
    94            "type": "string"
    95          }
    96        ],
    97        "name": "getValue",
    98        "outputs": [
    99          {
   100            "internalType": "uint128",
   101            "name": "",
   102            "type": "uint128"
   103          },
   104          {
   105            "internalType": "uint128",
   106            "name": "",
   107            "type": "uint128"
   108          }
   109        ],
   110        "stateMutability": "view",
   111        "type": "function"
   112      },
   113      {
   114        "inputs": [
   115          {
   116            "internalType": "address",
   117            "name": "newOracleUpdaterAddress",
   118            "type": "address"
   119          }
   120        ],
   121        "name": "updateOracleUpdaterAddress",
   122        "outputs": [],
   123        "stateMutability": "nonpayable",
   124        "type": "function"
   125      }
   126    ],
   127    "metadata": "{\"compiler\":{\"version\":\"0.7.4+commit.3f05b770\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"timestamp\",\"type\":\"uint128\"}],\"name\":\"OracleUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newUpdater\",\"type\":\"address\"}],\"name\":\"UpdaterAddressChange\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"getValue\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"uint128\",\"name\":\"value\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"timestamp\",\"type\":\"uint128\"}],\"name\":\"setValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOracleUpdaterAddress\",\"type\":\"address\"}],\"name\":\"updateOracleUpdaterAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"values\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/DIAOracle.sol\":\"DIAOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/DIAOracle.sol\":{\"keccak256\":\"0x5829855de1e326bf86c5f8b70959014848accc15df5dacabdd3dc55ec5e6b9e4\",\"urls\":[\"bzz-raw://d13044ad71eb514f959e6b00ada7ccf4b9c67db6c7ead26997f5eb51bef33715\",\"dweb:/ipfs/QmWxTydr98dNyWYoBsj9xZ6P4RiDur49F9VaM8HQ7t1idv\"]}},\"version\":1}",
   128    "bytecode": "0x608060405234801561001057600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610713806100616000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635a9ade8b146100515780636aa45efc146101205780637898e0c214610164578063960384a014610257575b600080fd5b61010a6004803603602081101561006757600080fd5b810190808035906020019064010000000081111561008457600080fd5b82018360208201111561009657600080fd5b803590602001918460018302840111640100000000831117156100b857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610351565b6040518082815260200191505060405180910390f35b6101626004803603602081101561013657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061037f565b005b6102556004803603606081101561017a57600080fd5b810190808035906020019064010000000081111561019757600080fd5b8201836020820111156101a957600080fd5b803590602001918460018302840111640100000000831117156101cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919050505061046a565b005b6103106004803603602081101561026d57600080fd5b810190808035906020019064010000000081111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460018302840111640100000000831117156102be57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610637565b60405180836fffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b6000818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103d957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f121e958a4cadf7f8dadefa22cc019700365240223668418faebed197da07089f81604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c457600080fd5b6000816fffffffffffffffffffffffffffffffff166080846fffffffffffffffffffffffffffffffff16901b019050806000856040518082805190602001908083835b6020831061052a5780518252602082019150602081019050602083039250610507565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055507fa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee22917828484846040518080602001846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156105f55780820151818401526020810190506105da565b50505050905090810190601f1680156106225780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150505050565b600080600080846040518082805190602001908083835b60208310610671578051825260208201915060208101905060208303925061064e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050600070010000000000000000000000000000000082816106c357fe5b0690506000608083901c905080829450945050505091509156fea26469706673582212207c3735889b60a63f7f058773fe186f4265fc884cd792efba600772d7229f1d4964736f6c63430007040033",
   129    "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635a9ade8b146100515780636aa45efc146101205780637898e0c214610164578063960384a014610257575b600080fd5b61010a6004803603602081101561006757600080fd5b810190808035906020019064010000000081111561008457600080fd5b82018360208201111561009657600080fd5b803590602001918460018302840111640100000000831117156100b857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610351565b6040518082815260200191505060405180910390f35b6101626004803603602081101561013657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061037f565b005b6102556004803603606081101561017a57600080fd5b810190808035906020019064010000000081111561019757600080fd5b8201836020820111156101a957600080fd5b803590602001918460018302840111640100000000831117156101cb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080356fffffffffffffffffffffffffffffffff16906020019092919080356fffffffffffffffffffffffffffffffff16906020019092919050505061046a565b005b6103106004803603602081101561026d57600080fd5b810190808035906020019064010000000081111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460018302840111640100000000831117156102be57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610637565b60405180836fffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff1681526020019250505060405180910390f35b6000818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103d957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f121e958a4cadf7f8dadefa22cc019700365240223668418faebed197da07089f81604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c457600080fd5b6000816fffffffffffffffffffffffffffffffff166080846fffffffffffffffffffffffffffffffff16901b019050806000856040518082805190602001908083835b6020831061052a5780518252602082019150602081019050602083039250610507565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020819055507fa7fc99ed7617309ee23f63ae90196a1e490d362e6f6a547a59bc809ee22917828484846040518080602001846fffffffffffffffffffffffffffffffff168152602001836fffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156105f55780820151818401526020810190506105da565b50505050905090810190601f1680156106225780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150505050565b600080600080846040518082805190602001908083835b60208310610671578051825260208201915060208101905060208303925061064e565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020549050600070010000000000000000000000000000000082816106c357fe5b0690506000608083901c905080829450945050505091509156fea26469706673582212207c3735889b60a63f7f058773fe186f4265fc884cd792efba600772d7229f1d4964736f6c63430007040033",
   130    "immutableReferences": {},
   131    "generatedSources": [],
   132    "deployedGeneratedSources": [],
   133    "sourceMap": "24:1097:0:-:0;;;255:57;;;;;;;;;;295:10;279:13;;:26;;;;;;;;;;;;;;;;;;24:1097;;;;;;",
   134    "deployedSourceMap": "24:1097:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;881:238;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;322:277;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;609:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;881:238::-;989:13;;;;;;;;;;;975:27;;:10;:27;;;967:36;;;;;;1029:23;1013:13;;:39;;;;;;;;;;;;;;;;;;1067:45;1088:23;1067:45;;;;;;;;;;;;;;;;;;;;881:238;:::o;322:277::-;432:13;;;;;;;;;;;418:27;;:10;:27;;;410:36;;;;;;456:14;503:9;473:39;;496:3;485:5;475:16;;474:25;;473:39;456:56;;536:6;522;529:3;522:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;;557:35;570:3;575:5;582:9;557:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;322:277;;;;:::o;609:262::-;667:7;676;695:14;712:6;719:3;712:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;695:28;;733:17;772:6;763;:15;;;;;;733:46;;789:13;825:3;815:6;:13;;789:40;;847:5;854:9;839:25;;;;;;;609:262;;;:::o",
   135    "source": "pragma solidity 0.7.4;\n\ncontract DIAOracle {\n    mapping (string => uint256) public values;\n    address oracleUpdater;\n    \n    event OracleUpdate(string key, uint128 value, uint128 timestamp);\n    event UpdaterAddressChange(address newUpdater);\n    \n    constructor() {\n        oracleUpdater = msg.sender;\n    }\n    \n    function setValue(string memory key, uint128 value, uint128 timestamp) public {\n        require(msg.sender == oracleUpdater);\n        uint256 cValue = (((uint256)(value)) << 128) + timestamp;\n        values[key] = cValue;\n        emit OracleUpdate(key, value, timestamp);\n    }\n    \n    function getValue(string memory key) public view returns (uint128, uint128) {\n        uint256 cValue = values[key];\n        uint128 timestamp = (uint128)(cValue % 2**128);\n        uint128 value = (uint128)(cValue >> 128);\n        return (value, timestamp);\n    }\n    \n    function updateOracleUpdaterAddress(address newOracleUpdaterAddress) public {\n        require(msg.sender == oracleUpdater);\n        oracleUpdater = newOracleUpdaterAddress;\n        emit UpdaterAddressChange(newOracleUpdaterAddress);\n    }\n}\n",
   136    "sourcePath": "/tmp/foo/contracts/DIAOracle.sol",
   137    "ast": {
   138      "absolutePath": "project:/contracts/DIAOracle.sol",
   139      "exportedSymbols": {
   140        "DIAOracle": [
   141          135
   142        ]
   143      },
   144      "id": 136,
   145      "nodeType": "SourceUnit",
   146      "nodes": [
   147        {
   148          "id": 1,
   149          "literals": [
   150            "solidity",
   151            "0.7",
   152            ".4"
   153          ],
   154          "nodeType": "PragmaDirective",
   155          "src": "0:22:0"
   156        },
   157        {
   158          "abstract": false,
   159          "baseContracts": [],
   160          "contractDependencies": [],
   161          "contractKind": "contract",
   162          "fullyImplemented": true,
   163          "id": 135,
   164          "linearizedBaseContracts": [
   165            135
   166          ],
   167          "name": "DIAOracle",
   168          "nodeType": "ContractDefinition",
   169          "nodes": [
   170            {
   171              "constant": false,
   172              "functionSelector": "5a9ade8b",
   173              "id": 5,
   174              "mutability": "mutable",
   175              "name": "values",
   176              "nodeType": "VariableDeclaration",
   177              "scope": 135,
   178              "src": "49:41:0",
   179              "stateVariable": true,
   180              "storageLocation": "default",
   181              "typeDescriptions": {
   182                "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$",
   183                "typeString": "mapping(string => uint256)"
   184              },
   185              "typeName": {
   186                "id": 4,
   187                "keyType": {
   188                  "id": 2,
   189                  "name": "string",
   190                  "nodeType": "ElementaryTypeName",
   191                  "src": "58:6:0",
   192                  "typeDescriptions": {
   193                    "typeIdentifier": "t_string_storage_ptr",
   194                    "typeString": "string"
   195                  }
   196                },
   197                "nodeType": "Mapping",
   198                "src": "49:27:0",
   199                "typeDescriptions": {
   200                  "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$",
   201                  "typeString": "mapping(string => uint256)"
   202                },
   203                "valueType": {
   204                  "id": 3,
   205                  "name": "uint256",
   206                  "nodeType": "ElementaryTypeName",
   207                  "src": "68:7:0",
   208                  "typeDescriptions": {
   209                    "typeIdentifier": "t_uint256",
   210                    "typeString": "uint256"
   211                  }
   212                }
   213              },
   214              "visibility": "public"
   215            },
   216            {
   217              "constant": false,
   218              "id": 7,
   219              "mutability": "mutable",
   220              "name": "oracleUpdater",
   221              "nodeType": "VariableDeclaration",
   222              "scope": 135,
   223              "src": "96:21:0",
   224              "stateVariable": true,
   225              "storageLocation": "default",
   226              "typeDescriptions": {
   227                "typeIdentifier": "t_address",
   228                "typeString": "address"
   229              },
   230              "typeName": {
   231                "id": 6,
   232                "name": "address",
   233                "nodeType": "ElementaryTypeName",
   234                "src": "96:7:0",
   235                "stateMutability": "nonpayable",
   236                "typeDescriptions": {
   237                  "typeIdentifier": "t_address",
   238                  "typeString": "address"
   239                }
   240              },
   241              "visibility": "internal"
   242            },
   243            {
   244              "anonymous": false,
   245              "id": 15,
   246              "name": "OracleUpdate",
   247              "nodeType": "EventDefinition",
   248              "parameters": {
   249                "id": 14,
   250                "nodeType": "ParameterList",
   251                "parameters": [
   252                  {
   253                    "constant": false,
   254                    "id": 9,
   255                    "indexed": false,
   256                    "mutability": "mutable",
   257                    "name": "key",
   258                    "nodeType": "VariableDeclaration",
   259                    "scope": 15,
   260                    "src": "147:10:0",
   261                    "stateVariable": false,
   262                    "storageLocation": "default",
   263                    "typeDescriptions": {
   264                      "typeIdentifier": "t_string_memory_ptr",
   265                      "typeString": "string"
   266                    },
   267                    "typeName": {
   268                      "id": 8,
   269                      "name": "string",
   270                      "nodeType": "ElementaryTypeName",
   271                      "src": "147:6:0",
   272                      "typeDescriptions": {
   273                        "typeIdentifier": "t_string_storage_ptr",
   274                        "typeString": "string"
   275                      }
   276                    },
   277                    "visibility": "internal"
   278                  },
   279                  {
   280                    "constant": false,
   281                    "id": 11,
   282                    "indexed": false,
   283                    "mutability": "mutable",
   284                    "name": "value",
   285                    "nodeType": "VariableDeclaration",
   286                    "scope": 15,
   287                    "src": "159:13:0",
   288                    "stateVariable": false,
   289                    "storageLocation": "default",
   290                    "typeDescriptions": {
   291                      "typeIdentifier": "t_uint128",
   292                      "typeString": "uint128"
   293                    },
   294                    "typeName": {
   295                      "id": 10,
   296                      "name": "uint128",
   297                      "nodeType": "ElementaryTypeName",
   298                      "src": "159:7:0",
   299                      "typeDescriptions": {
   300                        "typeIdentifier": "t_uint128",
   301                        "typeString": "uint128"
   302                      }
   303                    },
   304                    "visibility": "internal"
   305                  },
   306                  {
   307                    "constant": false,
   308                    "id": 13,
   309                    "indexed": false,
   310                    "mutability": "mutable",
   311                    "name": "timestamp",
   312                    "nodeType": "VariableDeclaration",
   313                    "scope": 15,
   314                    "src": "174:17:0",
   315                    "stateVariable": false,
   316                    "storageLocation": "default",
   317                    "typeDescriptions": {
   318                      "typeIdentifier": "t_uint128",
   319                      "typeString": "uint128"
   320                    },
   321                    "typeName": {
   322                      "id": 12,
   323                      "name": "uint128",
   324                      "nodeType": "ElementaryTypeName",
   325                      "src": "174:7:0",
   326                      "typeDescriptions": {
   327                        "typeIdentifier": "t_uint128",
   328                        "typeString": "uint128"
   329                      }
   330                    },
   331                    "visibility": "internal"
   332                  }
   333                ],
   334                "src": "146:46:0"
   335              },
   336              "src": "128:65:0"
   337            },
   338            {
   339              "anonymous": false,
   340              "id": 19,
   341              "name": "UpdaterAddressChange",
   342              "nodeType": "EventDefinition",
   343              "parameters": {
   344                "id": 18,
   345                "nodeType": "ParameterList",
   346                "parameters": [
   347                  {
   348                    "constant": false,
   349                    "id": 17,
   350                    "indexed": false,
   351                    "mutability": "mutable",
   352                    "name": "newUpdater",
   353                    "nodeType": "VariableDeclaration",
   354                    "scope": 19,
   355                    "src": "225:18:0",
   356                    "stateVariable": false,
   357                    "storageLocation": "default",
   358                    "typeDescriptions": {
   359                      "typeIdentifier": "t_address",
   360                      "typeString": "address"
   361                    },
   362                    "typeName": {
   363                      "id": 16,
   364                      "name": "address",
   365                      "nodeType": "ElementaryTypeName",
   366                      "src": "225:7:0",
   367                      "stateMutability": "nonpayable",
   368                      "typeDescriptions": {
   369                        "typeIdentifier": "t_address",
   370                        "typeString": "address"
   371                      }
   372                    },
   373                    "visibility": "internal"
   374                  }
   375                ],
   376                "src": "224:20:0"
   377              },
   378              "src": "198:47:0"
   379            },
   380            {
   381              "body": {
   382                "id": 27,
   383                "nodeType": "Block",
   384                "src": "269:43:0",
   385                "statements": [
   386                  {
   387                    "expression": {
   388                      "id": 25,
   389                      "isConstant": false,
   390                      "isLValue": false,
   391                      "isPure": false,
   392                      "lValueRequested": false,
   393                      "leftHandSide": {
   394                        "id": 22,
   395                        "name": "oracleUpdater",
   396                        "nodeType": "Identifier",
   397                        "overloadedDeclarations": [],
   398                        "referencedDeclaration": 7,
   399                        "src": "279:13:0",
   400                        "typeDescriptions": {
   401                          "typeIdentifier": "t_address",
   402                          "typeString": "address"
   403                        }
   404                      },
   405                      "nodeType": "Assignment",
   406                      "operator": "=",
   407                      "rightHandSide": {
   408                        "expression": {
   409                          "id": 23,
   410                          "name": "msg",
   411                          "nodeType": "Identifier",
   412                          "overloadedDeclarations": [],
   413                          "referencedDeclaration": -15,
   414                          "src": "295:3:0",
   415                          "typeDescriptions": {
   416                            "typeIdentifier": "t_magic_message",
   417                            "typeString": "msg"
   418                          }
   419                        },
   420                        "id": 24,
   421                        "isConstant": false,
   422                        "isLValue": false,
   423                        "isPure": false,
   424                        "lValueRequested": false,
   425                        "memberName": "sender",
   426                        "nodeType": "MemberAccess",
   427                        "src": "295:10:0",
   428                        "typeDescriptions": {
   429                          "typeIdentifier": "t_address_payable",
   430                          "typeString": "address payable"
   431                        }
   432                      },
   433                      "src": "279:26:0",
   434                      "typeDescriptions": {
   435                        "typeIdentifier": "t_address",
   436                        "typeString": "address"
   437                      }
   438                    },
   439                    "id": 26,
   440                    "nodeType": "ExpressionStatement",
   441                    "src": "279:26:0"
   442                  }
   443                ]
   444              },
   445              "id": 28,
   446              "implemented": true,
   447              "kind": "constructor",
   448              "modifiers": [],
   449              "name": "",
   450              "nodeType": "FunctionDefinition",
   451              "parameters": {
   452                "id": 20,
   453                "nodeType": "ParameterList",
   454                "parameters": [],
   455                "src": "266:2:0"
   456              },
   457              "returnParameters": {
   458                "id": 21,
   459                "nodeType": "ParameterList",
   460                "parameters": [],
   461                "src": "269:0:0"
   462              },
   463              "scope": 135,
   464              "src": "255:57:0",
   465              "stateMutability": "nonpayable",
   466              "virtual": false,
   467              "visibility": "public"
   468            },
   469            {
   470              "body": {
   471                "id": 70,
   472                "nodeType": "Block",
   473                "src": "400:199:0",
   474                "statements": [
   475                  {
   476                    "expression": {
   477                      "arguments": [
   478                        {
   479                          "commonType": {
   480                            "typeIdentifier": "t_address",
   481                            "typeString": "address"
   482                          },
   483                          "id": 41,
   484                          "isConstant": false,
   485                          "isLValue": false,
   486                          "isPure": false,
   487                          "lValueRequested": false,
   488                          "leftExpression": {
   489                            "expression": {
   490                              "id": 38,
   491                              "name": "msg",
   492                              "nodeType": "Identifier",
   493                              "overloadedDeclarations": [],
   494                              "referencedDeclaration": -15,
   495                              "src": "418:3:0",
   496                              "typeDescriptions": {
   497                                "typeIdentifier": "t_magic_message",
   498                                "typeString": "msg"
   499                              }
   500                            },
   501                            "id": 39,
   502                            "isConstant": false,
   503                            "isLValue": false,
   504                            "isPure": false,
   505                            "lValueRequested": false,
   506                            "memberName": "sender",
   507                            "nodeType": "MemberAccess",
   508                            "src": "418:10:0",
   509                            "typeDescriptions": {
   510                              "typeIdentifier": "t_address_payable",
   511                              "typeString": "address payable"
   512                            }
   513                          },
   514                          "nodeType": "BinaryOperation",
   515                          "operator": "==",
   516                          "rightExpression": {
   517                            "id": 40,
   518                            "name": "oracleUpdater",
   519                            "nodeType": "Identifier",
   520                            "overloadedDeclarations": [],
   521                            "referencedDeclaration": 7,
   522                            "src": "432:13:0",
   523                            "typeDescriptions": {
   524                              "typeIdentifier": "t_address",
   525                              "typeString": "address"
   526                            }
   527                          },
   528                          "src": "418:27:0",
   529                          "typeDescriptions": {
   530                            "typeIdentifier": "t_bool",
   531                            "typeString": "bool"
   532                          }
   533                        }
   534                      ],
   535                      "expression": {
   536                        "argumentTypes": [
   537                          {
   538                            "typeIdentifier": "t_bool",
   539                            "typeString": "bool"
   540                          }
   541                        ],
   542                        "id": 37,
   543                        "name": "require",
   544                        "nodeType": "Identifier",
   545                        "overloadedDeclarations": [
   546                          -18,
   547                          -18
   548                        ],
   549                        "referencedDeclaration": -18,
   550                        "src": "410:7:0",
   551                        "typeDescriptions": {
   552                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
   553                          "typeString": "function (bool) pure"
   554                        }
   555                      },
   556                      "id": 42,
   557                      "isConstant": false,
   558                      "isLValue": false,
   559                      "isPure": false,
   560                      "kind": "functionCall",
   561                      "lValueRequested": false,
   562                      "names": [],
   563                      "nodeType": "FunctionCall",
   564                      "src": "410:36:0",
   565                      "tryCall": false,
   566                      "typeDescriptions": {
   567                        "typeIdentifier": "t_tuple$__$",
   568                        "typeString": "tuple()"
   569                      }
   570                    },
   571                    "id": 43,
   572                    "nodeType": "ExpressionStatement",
   573                    "src": "410:36:0"
   574                  },
   575                  {
   576                    "assignments": [
   577                      45
   578                    ],
   579                    "declarations": [
   580                      {
   581                        "constant": false,
   582                        "id": 45,
   583                        "mutability": "mutable",
   584                        "name": "cValue",
   585                        "nodeType": "VariableDeclaration",
   586                        "scope": 70,
   587                        "src": "456:14:0",
   588                        "stateVariable": false,
   589                        "storageLocation": "default",
   590                        "typeDescriptions": {
   591                          "typeIdentifier": "t_uint256",
   592                          "typeString": "uint256"
   593                        },
   594                        "typeName": {
   595                          "id": 44,
   596                          "name": "uint256",
   597                          "nodeType": "ElementaryTypeName",
   598                          "src": "456:7:0",
   599                          "typeDescriptions": {
   600                            "typeIdentifier": "t_uint256",
   601                            "typeString": "uint256"
   602                          }
   603                        },
   604                        "visibility": "internal"
   605                      }
   606                    ],
   607                    "id": 57,
   608                    "initialValue": {
   609                      "commonType": {
   610                        "typeIdentifier": "t_uint256",
   611                        "typeString": "uint256"
   612                      },
   613                      "id": 56,
   614                      "isConstant": false,
   615                      "isLValue": false,
   616                      "isPure": false,
   617                      "lValueRequested": false,
   618                      "leftExpression": {
   619                        "components": [
   620                          {
   621                            "commonType": {
   622                              "typeIdentifier": "t_uint256",
   623                              "typeString": "uint256"
   624                            },
   625                            "id": 53,
   626                            "isConstant": false,
   627                            "isLValue": false,
   628                            "isPure": false,
   629                            "lValueRequested": false,
   630                            "leftExpression": {
   631                              "components": [
   632                                {
   633                                  "arguments": [
   634                                    {
   635                                      "id": 49,
   636                                      "name": "value",
   637                                      "nodeType": "Identifier",
   638                                      "overloadedDeclarations": [],
   639                                      "referencedDeclaration": 32,
   640                                      "src": "485:5:0",
   641                                      "typeDescriptions": {
   642                                        "typeIdentifier": "t_uint128",
   643                                        "typeString": "uint128"
   644                                      }
   645                                    }
   646                                  ],
   647                                  "expression": {
   648                                    "argumentTypes": [
   649                                      {
   650                                        "typeIdentifier": "t_uint128",
   651                                        "typeString": "uint128"
   652                                      }
   653                                    ],
   654                                    "components": [
   655                                      {
   656                                        "id": 47,
   657                                        "isConstant": false,
   658                                        "isLValue": false,
   659                                        "isPure": true,
   660                                        "lValueRequested": false,
   661                                        "nodeType": "ElementaryTypeNameExpression",
   662                                        "src": "476:7:0",
   663                                        "typeDescriptions": {
   664                                          "typeIdentifier": "t_type$_t_uint256_$",
   665                                          "typeString": "type(uint256)"
   666                                        },
   667                                        "typeName": {
   668                                          "id": 46,
   669                                          "name": "uint256",
   670                                          "nodeType": "ElementaryTypeName",
   671                                          "src": "476:7:0",
   672                                          "typeDescriptions": {}
   673                                        }
   674                                      }
   675                                    ],
   676                                    "id": 48,
   677                                    "isConstant": false,
   678                                    "isInlineArray": false,
   679                                    "isLValue": false,
   680                                    "isPure": true,
   681                                    "lValueRequested": false,
   682                                    "nodeType": "TupleExpression",
   683                                    "src": "475:9:0",
   684                                    "typeDescriptions": {
   685                                      "typeIdentifier": "t_type$_t_uint256_$",
   686                                      "typeString": "type(uint256)"
   687                                    }
   688                                  },
   689                                  "id": 50,
   690                                  "isConstant": false,
   691                                  "isLValue": false,
   692                                  "isPure": false,
   693                                  "kind": "typeConversion",
   694                                  "lValueRequested": false,
   695                                  "names": [],
   696                                  "nodeType": "FunctionCall",
   697                                  "src": "475:16:0",
   698                                  "tryCall": false,
   699                                  "typeDescriptions": {
   700                                    "typeIdentifier": "t_uint256",
   701                                    "typeString": "uint256"
   702                                  }
   703                                }
   704                              ],
   705                              "id": 51,
   706                              "isConstant": false,
   707                              "isInlineArray": false,
   708                              "isLValue": false,
   709                              "isPure": false,
   710                              "lValueRequested": false,
   711                              "nodeType": "TupleExpression",
   712                              "src": "474:18:0",
   713                              "typeDescriptions": {
   714                                "typeIdentifier": "t_uint256",
   715                                "typeString": "uint256"
   716                              }
   717                            },
   718                            "nodeType": "BinaryOperation",
   719                            "operator": "<<",
   720                            "rightExpression": {
   721                              "hexValue": "313238",
   722                              "id": 52,
   723                              "isConstant": false,
   724                              "isLValue": false,
   725                              "isPure": true,
   726                              "kind": "number",
   727                              "lValueRequested": false,
   728                              "nodeType": "Literal",
   729                              "src": "496:3:0",
   730                              "typeDescriptions": {
   731                                "typeIdentifier": "t_rational_128_by_1",
   732                                "typeString": "int_const 128"
   733                              },
   734                              "value": "128"
   735                            },
   736                            "src": "474:25:0",
   737                            "typeDescriptions": {
   738                              "typeIdentifier": "t_uint256",
   739                              "typeString": "uint256"
   740                            }
   741                          }
   742                        ],
   743                        "id": 54,
   744                        "isConstant": false,
   745                        "isInlineArray": false,
   746                        "isLValue": false,
   747                        "isPure": false,
   748                        "lValueRequested": false,
   749                        "nodeType": "TupleExpression",
   750                        "src": "473:27:0",
   751                        "typeDescriptions": {
   752                          "typeIdentifier": "t_uint256",
   753                          "typeString": "uint256"
   754                        }
   755                      },
   756                      "nodeType": "BinaryOperation",
   757                      "operator": "+",
   758                      "rightExpression": {
   759                        "id": 55,
   760                        "name": "timestamp",
   761                        "nodeType": "Identifier",
   762                        "overloadedDeclarations": [],
   763                        "referencedDeclaration": 34,
   764                        "src": "503:9:0",
   765                        "typeDescriptions": {
   766                          "typeIdentifier": "t_uint128",
   767                          "typeString": "uint128"
   768                        }
   769                      },
   770                      "src": "473:39:0",
   771                      "typeDescriptions": {
   772                        "typeIdentifier": "t_uint256",
   773                        "typeString": "uint256"
   774                      }
   775                    },
   776                    "nodeType": "VariableDeclarationStatement",
   777                    "src": "456:56:0"
   778                  },
   779                  {
   780                    "expression": {
   781                      "id": 62,
   782                      "isConstant": false,
   783                      "isLValue": false,
   784                      "isPure": false,
   785                      "lValueRequested": false,
   786                      "leftHandSide": {
   787                        "baseExpression": {
   788                          "id": 58,
   789                          "name": "values",
   790                          "nodeType": "Identifier",
   791                          "overloadedDeclarations": [],
   792                          "referencedDeclaration": 5,
   793                          "src": "522:6:0",
   794                          "typeDescriptions": {
   795                            "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$",
   796                            "typeString": "mapping(string memory => uint256)"
   797                          }
   798                        },
   799                        "id": 60,
   800                        "indexExpression": {
   801                          "id": 59,
   802                          "name": "key",
   803                          "nodeType": "Identifier",
   804                          "overloadedDeclarations": [],
   805                          "referencedDeclaration": 30,
   806                          "src": "529:3:0",
   807                          "typeDescriptions": {
   808                            "typeIdentifier": "t_string_memory_ptr",
   809                            "typeString": "string memory"
   810                          }
   811                        },
   812                        "isConstant": false,
   813                        "isLValue": true,
   814                        "isPure": false,
   815                        "lValueRequested": true,
   816                        "nodeType": "IndexAccess",
   817                        "src": "522:11:0",
   818                        "typeDescriptions": {
   819                          "typeIdentifier": "t_uint256",
   820                          "typeString": "uint256"
   821                        }
   822                      },
   823                      "nodeType": "Assignment",
   824                      "operator": "=",
   825                      "rightHandSide": {
   826                        "id": 61,
   827                        "name": "cValue",
   828                        "nodeType": "Identifier",
   829                        "overloadedDeclarations": [],
   830                        "referencedDeclaration": 45,
   831                        "src": "536:6:0",
   832                        "typeDescriptions": {
   833                          "typeIdentifier": "t_uint256",
   834                          "typeString": "uint256"
   835                        }
   836                      },
   837                      "src": "522:20:0",
   838                      "typeDescriptions": {
   839                        "typeIdentifier": "t_uint256",
   840                        "typeString": "uint256"
   841                      }
   842                    },
   843                    "id": 63,
   844                    "nodeType": "ExpressionStatement",
   845                    "src": "522:20:0"
   846                  },
   847                  {
   848                    "eventCall": {
   849                      "arguments": [
   850                        {
   851                          "id": 65,
   852                          "name": "key",
   853                          "nodeType": "Identifier",
   854                          "overloadedDeclarations": [],
   855                          "referencedDeclaration": 30,
   856                          "src": "570:3:0",
   857                          "typeDescriptions": {
   858                            "typeIdentifier": "t_string_memory_ptr",
   859                            "typeString": "string memory"
   860                          }
   861                        },
   862                        {
   863                          "id": 66,
   864                          "name": "value",
   865                          "nodeType": "Identifier",
   866                          "overloadedDeclarations": [],
   867                          "referencedDeclaration": 32,
   868                          "src": "575:5:0",
   869                          "typeDescriptions": {
   870                            "typeIdentifier": "t_uint128",
   871                            "typeString": "uint128"
   872                          }
   873                        },
   874                        {
   875                          "id": 67,
   876                          "name": "timestamp",
   877                          "nodeType": "Identifier",
   878                          "overloadedDeclarations": [],
   879                          "referencedDeclaration": 34,
   880                          "src": "582:9:0",
   881                          "typeDescriptions": {
   882                            "typeIdentifier": "t_uint128",
   883                            "typeString": "uint128"
   884                          }
   885                        }
   886                      ],
   887                      "expression": {
   888                        "argumentTypes": [
   889                          {
   890                            "typeIdentifier": "t_string_memory_ptr",
   891                            "typeString": "string memory"
   892                          },
   893                          {
   894                            "typeIdentifier": "t_uint128",
   895                            "typeString": "uint128"
   896                          },
   897                          {
   898                            "typeIdentifier": "t_uint128",
   899                            "typeString": "uint128"
   900                          }
   901                        ],
   902                        "id": 64,
   903                        "name": "OracleUpdate",
   904                        "nodeType": "Identifier",
   905                        "overloadedDeclarations": [],
   906                        "referencedDeclaration": 15,
   907                        "src": "557:12:0",
   908                        "typeDescriptions": {
   909                          "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint128_$_t_uint128_$returns$__$",
   910                          "typeString": "function (string memory,uint128,uint128)"
   911                        }
   912                      },
   913                      "id": 68,
   914                      "isConstant": false,
   915                      "isLValue": false,
   916                      "isPure": false,
   917                      "kind": "functionCall",
   918                      "lValueRequested": false,
   919                      "names": [],
   920                      "nodeType": "FunctionCall",
   921                      "src": "557:35:0",
   922                      "tryCall": false,
   923                      "typeDescriptions": {
   924                        "typeIdentifier": "t_tuple$__$",
   925                        "typeString": "tuple()"
   926                      }
   927                    },
   928                    "id": 69,
   929                    "nodeType": "EmitStatement",
   930                    "src": "552:40:0"
   931                  }
   932                ]
   933              },
   934              "functionSelector": "7898e0c2",
   935              "id": 71,
   936              "implemented": true,
   937              "kind": "function",
   938              "modifiers": [],
   939              "name": "setValue",
   940              "nodeType": "FunctionDefinition",
   941              "parameters": {
   942                "id": 35,
   943                "nodeType": "ParameterList",
   944                "parameters": [
   945                  {
   946                    "constant": false,
   947                    "id": 30,
   948                    "mutability": "mutable",
   949                    "name": "key",
   950                    "nodeType": "VariableDeclaration",
   951                    "scope": 71,
   952                    "src": "340:17:0",
   953                    "stateVariable": false,
   954                    "storageLocation": "memory",
   955                    "typeDescriptions": {
   956                      "typeIdentifier": "t_string_memory_ptr",
   957                      "typeString": "string"
   958                    },
   959                    "typeName": {
   960                      "id": 29,
   961                      "name": "string",
   962                      "nodeType": "ElementaryTypeName",
   963                      "src": "340:6:0",
   964                      "typeDescriptions": {
   965                        "typeIdentifier": "t_string_storage_ptr",
   966                        "typeString": "string"
   967                      }
   968                    },
   969                    "visibility": "internal"
   970                  },
   971                  {
   972                    "constant": false,
   973                    "id": 32,
   974                    "mutability": "mutable",
   975                    "name": "value",
   976                    "nodeType": "VariableDeclaration",
   977                    "scope": 71,
   978                    "src": "359:13:0",
   979                    "stateVariable": false,
   980                    "storageLocation": "default",
   981                    "typeDescriptions": {
   982                      "typeIdentifier": "t_uint128",
   983                      "typeString": "uint128"
   984                    },
   985                    "typeName": {
   986                      "id": 31,
   987                      "name": "uint128",
   988                      "nodeType": "ElementaryTypeName",
   989                      "src": "359:7:0",
   990                      "typeDescriptions": {
   991                        "typeIdentifier": "t_uint128",
   992                        "typeString": "uint128"
   993                      }
   994                    },
   995                    "visibility": "internal"
   996                  },
   997                  {
   998                    "constant": false,
   999                    "id": 34,
  1000                    "mutability": "mutable",
  1001                    "name": "timestamp",
  1002                    "nodeType": "VariableDeclaration",
  1003                    "scope": 71,
  1004                    "src": "374:17:0",
  1005                    "stateVariable": false,
  1006                    "storageLocation": "default",
  1007                    "typeDescriptions": {
  1008                      "typeIdentifier": "t_uint128",
  1009                      "typeString": "uint128"
  1010                    },
  1011                    "typeName": {
  1012                      "id": 33,
  1013                      "name": "uint128",
  1014                      "nodeType": "ElementaryTypeName",
  1015                      "src": "374:7:0",
  1016                      "typeDescriptions": {
  1017                        "typeIdentifier": "t_uint128",
  1018                        "typeString": "uint128"
  1019                      }
  1020                    },
  1021                    "visibility": "internal"
  1022                  }
  1023                ],
  1024                "src": "339:53:0"
  1025              },
  1026              "returnParameters": {
  1027                "id": 36,
  1028                "nodeType": "ParameterList",
  1029                "parameters": [],
  1030                "src": "400:0:0"
  1031              },
  1032              "scope": 135,
  1033              "src": "322:277:0",
  1034              "stateMutability": "nonpayable",
  1035              "virtual": false,
  1036              "visibility": "public"
  1037            },
  1038            {
  1039              "body": {
  1040                "id": 112,
  1041                "nodeType": "Block",
  1042                "src": "685:186:0",
  1043                "statements": [
  1044                  {
  1045                    "assignments": [
  1046                      81
  1047                    ],
  1048                    "declarations": [
  1049                      {
  1050                        "constant": false,
  1051                        "id": 81,
  1052                        "mutability": "mutable",
  1053                        "name": "cValue",
  1054                        "nodeType": "VariableDeclaration",
  1055                        "scope": 112,
  1056                        "src": "695:14:0",
  1057                        "stateVariable": false,
  1058                        "storageLocation": "default",
  1059                        "typeDescriptions": {
  1060                          "typeIdentifier": "t_uint256",
  1061                          "typeString": "uint256"
  1062                        },
  1063                        "typeName": {
  1064                          "id": 80,
  1065                          "name": "uint256",
  1066                          "nodeType": "ElementaryTypeName",
  1067                          "src": "695:7:0",
  1068                          "typeDescriptions": {
  1069                            "typeIdentifier": "t_uint256",
  1070                            "typeString": "uint256"
  1071                          }
  1072                        },
  1073                        "visibility": "internal"
  1074                      }
  1075                    ],
  1076                    "id": 85,
  1077                    "initialValue": {
  1078                      "baseExpression": {
  1079                        "id": 82,
  1080                        "name": "values",
  1081                        "nodeType": "Identifier",
  1082                        "overloadedDeclarations": [],
  1083                        "referencedDeclaration": 5,
  1084                        "src": "712:6:0",
  1085                        "typeDescriptions": {
  1086                          "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_uint256_$",
  1087                          "typeString": "mapping(string memory => uint256)"
  1088                        }
  1089                      },
  1090                      "id": 84,
  1091                      "indexExpression": {
  1092                        "id": 83,
  1093                        "name": "key",
  1094                        "nodeType": "Identifier",
  1095                        "overloadedDeclarations": [],
  1096                        "referencedDeclaration": 73,
  1097                        "src": "719:3:0",
  1098                        "typeDescriptions": {
  1099                          "typeIdentifier": "t_string_memory_ptr",
  1100                          "typeString": "string memory"
  1101                        }
  1102                      },
  1103                      "isConstant": false,
  1104                      "isLValue": true,
  1105                      "isPure": false,
  1106                      "lValueRequested": false,
  1107                      "nodeType": "IndexAccess",
  1108                      "src": "712:11:0",
  1109                      "typeDescriptions": {
  1110                        "typeIdentifier": "t_uint256",
  1111                        "typeString": "uint256"
  1112                      }
  1113                    },
  1114                    "nodeType": "VariableDeclarationStatement",
  1115                    "src": "695:28:0"
  1116                  },
  1117                  {
  1118                    "assignments": [
  1119                      87
  1120                    ],
  1121                    "declarations": [
  1122                      {
  1123                        "constant": false,
  1124                        "id": 87,
  1125                        "mutability": "mutable",
  1126                        "name": "timestamp",
  1127                        "nodeType": "VariableDeclaration",
  1128                        "scope": 112,
  1129                        "src": "733:17:0",
  1130                        "stateVariable": false,
  1131                        "storageLocation": "default",
  1132                        "typeDescriptions": {
  1133                          "typeIdentifier": "t_uint128",
  1134                          "typeString": "uint128"
  1135                        },
  1136                        "typeName": {
  1137                          "id": 86,
  1138                          "name": "uint128",
  1139                          "nodeType": "ElementaryTypeName",
  1140                          "src": "733:7:0",
  1141                          "typeDescriptions": {
  1142                            "typeIdentifier": "t_uint128",
  1143                            "typeString": "uint128"
  1144                          }
  1145                        },
  1146                        "visibility": "internal"
  1147                      }
  1148                    ],
  1149                    "id": 97,
  1150                    "initialValue": {
  1151                      "arguments": [
  1152                        {
  1153                          "commonType": {
  1154                            "typeIdentifier": "t_uint256",
  1155                            "typeString": "uint256"
  1156                          },
  1157                          "id": 95,
  1158                          "isConstant": false,
  1159                          "isLValue": false,
  1160                          "isPure": false,
  1161                          "lValueRequested": false,
  1162                          "leftExpression": {
  1163                            "id": 91,
  1164                            "name": "cValue",
  1165                            "nodeType": "Identifier",
  1166                            "overloadedDeclarations": [],
  1167                            "referencedDeclaration": 81,
  1168                            "src": "763:6:0",
  1169                            "typeDescriptions": {
  1170                              "typeIdentifier": "t_uint256",
  1171                              "typeString": "uint256"
  1172                            }
  1173                          },
  1174                          "nodeType": "BinaryOperation",
  1175                          "operator": "%",
  1176                          "rightExpression": {
  1177                            "commonType": {
  1178                              "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
  1179                              "typeString": "int_const 3402...(31 digits omitted)...1456"
  1180                            },
  1181                            "id": 94,
  1182                            "isConstant": false,
  1183                            "isLValue": false,
  1184                            "isPure": true,
  1185                            "lValueRequested": false,
  1186                            "leftExpression": {
  1187                              "hexValue": "32",
  1188                              "id": 92,
  1189                              "isConstant": false,
  1190                              "isLValue": false,
  1191                              "isPure": true,
  1192                              "kind": "number",
  1193                              "lValueRequested": false,
  1194                              "nodeType": "Literal",
  1195                              "src": "772:1:0",
  1196                              "typeDescriptions": {
  1197                                "typeIdentifier": "t_rational_2_by_1",
  1198                                "typeString": "int_const 2"
  1199                              },
  1200                              "value": "2"
  1201                            },
  1202                            "nodeType": "BinaryOperation",
  1203                            "operator": "**",
  1204                            "rightExpression": {
  1205                              "hexValue": "313238",
  1206                              "id": 93,
  1207                              "isConstant": false,
  1208                              "isLValue": false,
  1209                              "isPure": true,
  1210                              "kind": "number",
  1211                              "lValueRequested": false,
  1212                              "nodeType": "Literal",
  1213                              "src": "775:3:0",
  1214                              "typeDescriptions": {
  1215                                "typeIdentifier": "t_rational_128_by_1",
  1216                                "typeString": "int_const 128"
  1217                              },
  1218                              "value": "128"
  1219                            },
  1220                            "src": "772:6:0",
  1221                            "typeDescriptions": {
  1222                              "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
  1223                              "typeString": "int_const 3402...(31 digits omitted)...1456"
  1224                            }
  1225                          },
  1226                          "src": "763:15:0",
  1227                          "typeDescriptions": {
  1228                            "typeIdentifier": "t_uint256",
  1229                            "typeString": "uint256"
  1230                          }
  1231                        }
  1232                      ],
  1233                      "expression": {
  1234                        "argumentTypes": [
  1235                          {
  1236                            "typeIdentifier": "t_uint256",
  1237                            "typeString": "uint256"
  1238                          }
  1239                        ],
  1240                        "components": [
  1241                          {
  1242                            "id": 89,
  1243                            "isConstant": false,
  1244                            "isLValue": false,
  1245                            "isPure": true,
  1246                            "lValueRequested": false,
  1247                            "nodeType": "ElementaryTypeNameExpression",
  1248                            "src": "754:7:0",
  1249                            "typeDescriptions": {
  1250                              "typeIdentifier": "t_type$_t_uint128_$",
  1251                              "typeString": "type(uint128)"
  1252                            },
  1253                            "typeName": {
  1254                              "id": 88,
  1255                              "name": "uint128",
  1256                              "nodeType": "ElementaryTypeName",
  1257                              "src": "754:7:0",
  1258                              "typeDescriptions": {}
  1259                            }
  1260                          }
  1261                        ],
  1262                        "id": 90,
  1263                        "isConstant": false,
  1264                        "isInlineArray": false,
  1265                        "isLValue": false,
  1266                        "isPure": true,
  1267                        "lValueRequested": false,
  1268                        "nodeType": "TupleExpression",
  1269                        "src": "753:9:0",
  1270                        "typeDescriptions": {
  1271                          "typeIdentifier": "t_type$_t_uint128_$",
  1272                          "typeString": "type(uint128)"
  1273                        }
  1274                      },
  1275                      "id": 96,
  1276                      "isConstant": false,
  1277                      "isLValue": false,
  1278                      "isPure": false,
  1279                      "kind": "typeConversion",
  1280                      "lValueRequested": false,
  1281                      "names": [],
  1282                      "nodeType": "FunctionCall",
  1283                      "src": "753:26:0",
  1284                      "tryCall": false,
  1285                      "typeDescriptions": {
  1286                        "typeIdentifier": "t_uint128",
  1287                        "typeString": "uint128"
  1288                      }
  1289                    },
  1290                    "nodeType": "VariableDeclarationStatement",
  1291                    "src": "733:46:0"
  1292                  },
  1293                  {
  1294                    "assignments": [
  1295                      99
  1296                    ],
  1297                    "declarations": [
  1298                      {
  1299                        "constant": false,
  1300                        "id": 99,
  1301                        "mutability": "mutable",
  1302                        "name": "value",
  1303                        "nodeType": "VariableDeclaration",
  1304                        "scope": 112,
  1305                        "src": "789:13:0",
  1306                        "stateVariable": false,
  1307                        "storageLocation": "default",
  1308                        "typeDescriptions": {
  1309                          "typeIdentifier": "t_uint128",
  1310                          "typeString": "uint128"
  1311                        },
  1312                        "typeName": {
  1313                          "id": 98,
  1314                          "name": "uint128",
  1315                          "nodeType": "ElementaryTypeName",
  1316                          "src": "789:7:0",
  1317                          "typeDescriptions": {
  1318                            "typeIdentifier": "t_uint128",
  1319                            "typeString": "uint128"
  1320                          }
  1321                        },
  1322                        "visibility": "internal"
  1323                      }
  1324                    ],
  1325                    "id": 107,
  1326                    "initialValue": {
  1327                      "arguments": [
  1328                        {
  1329                          "commonType": {
  1330                            "typeIdentifier": "t_uint256",
  1331                            "typeString": "uint256"
  1332                          },
  1333                          "id": 105,
  1334                          "isConstant": false,
  1335                          "isLValue": false,
  1336                          "isPure": false,
  1337                          "lValueRequested": false,
  1338                          "leftExpression": {
  1339                            "id": 103,
  1340                            "name": "cValue",
  1341                            "nodeType": "Identifier",
  1342                            "overloadedDeclarations": [],
  1343                            "referencedDeclaration": 81,
  1344                            "src": "815:6:0",
  1345                            "typeDescriptions": {
  1346                              "typeIdentifier": "t_uint256",
  1347                              "typeString": "uint256"
  1348                            }
  1349                          },
  1350                          "nodeType": "BinaryOperation",
  1351                          "operator": ">>",
  1352                          "rightExpression": {
  1353                            "hexValue": "313238",
  1354                            "id": 104,
  1355                            "isConstant": false,
  1356                            "isLValue": false,
  1357                            "isPure": true,
  1358                            "kind": "number",
  1359                            "lValueRequested": false,
  1360                            "nodeType": "Literal",
  1361                            "src": "825:3:0",
  1362                            "typeDescriptions": {
  1363                              "typeIdentifier": "t_rational_128_by_1",
  1364                              "typeString": "int_const 128"
  1365                            },
  1366                            "value": "128"
  1367                          },
  1368                          "src": "815:13:0",
  1369                          "typeDescriptions": {
  1370                            "typeIdentifier": "t_uint256",
  1371                            "typeString": "uint256"
  1372                          }
  1373                        }
  1374                      ],
  1375                      "expression": {
  1376                        "argumentTypes": [
  1377                          {
  1378                            "typeIdentifier": "t_uint256",
  1379                            "typeString": "uint256"
  1380                          }
  1381                        ],
  1382                        "components": [
  1383                          {
  1384                            "id": 101,
  1385                            "isConstant": false,
  1386                            "isLValue": false,
  1387                            "isPure": true,
  1388                            "lValueRequested": false,
  1389                            "nodeType": "ElementaryTypeNameExpression",
  1390                            "src": "806:7:0",
  1391                            "typeDescriptions": {
  1392                              "typeIdentifier": "t_type$_t_uint128_$",
  1393                              "typeString": "type(uint128)"
  1394                            },
  1395                            "typeName": {
  1396                              "id": 100,
  1397                              "name": "uint128",
  1398                              "nodeType": "ElementaryTypeName",
  1399                              "src": "806:7:0",
  1400                              "typeDescriptions": {}
  1401                            }
  1402                          }
  1403                        ],
  1404                        "id": 102,
  1405                        "isConstant": false,
  1406                        "isInlineArray": false,
  1407                        "isLValue": false,
  1408                        "isPure": true,
  1409                        "lValueRequested": false,
  1410                        "nodeType": "TupleExpression",
  1411                        "src": "805:9:0",
  1412                        "typeDescriptions": {
  1413                          "typeIdentifier": "t_type$_t_uint128_$",
  1414                          "typeString": "type(uint128)"
  1415                        }
  1416                      },
  1417                      "id": 106,
  1418                      "isConstant": false,
  1419                      "isLValue": false,
  1420                      "isPure": false,
  1421                      "kind": "typeConversion",
  1422                      "lValueRequested": false,
  1423                      "names": [],
  1424                      "nodeType": "FunctionCall",
  1425                      "src": "805:24:0",
  1426                      "tryCall": false,
  1427                      "typeDescriptions": {
  1428                        "typeIdentifier": "t_uint128",
  1429                        "typeString": "uint128"
  1430                      }
  1431                    },
  1432                    "nodeType": "VariableDeclarationStatement",
  1433                    "src": "789:40:0"
  1434                  },
  1435                  {
  1436                    "expression": {
  1437                      "components": [
  1438                        {
  1439                          "id": 108,
  1440                          "name": "value",
  1441                          "nodeType": "Identifier",
  1442                          "overloadedDeclarations": [],
  1443                          "referencedDeclaration": 99,
  1444                          "src": "847:5:0",
  1445                          "typeDescriptions": {
  1446                            "typeIdentifier": "t_uint128",
  1447                            "typeString": "uint128"
  1448                          }
  1449                        },
  1450                        {
  1451                          "id": 109,
  1452                          "name": "timestamp",
  1453                          "nodeType": "Identifier",
  1454                          "overloadedDeclarations": [],
  1455                          "referencedDeclaration": 87,
  1456                          "src": "854:9:0",
  1457                          "typeDescriptions": {
  1458                            "typeIdentifier": "t_uint128",
  1459                            "typeString": "uint128"
  1460                          }
  1461                        }
  1462                      ],
  1463                      "id": 110,
  1464                      "isConstant": false,
  1465                      "isInlineArray": false,
  1466                      "isLValue": false,
  1467                      "isPure": false,
  1468                      "lValueRequested": false,
  1469                      "nodeType": "TupleExpression",
  1470                      "src": "846:18:0",
  1471                      "typeDescriptions": {
  1472                        "typeIdentifier": "t_tuple$_t_uint128_$_t_uint128_$",
  1473                        "typeString": "tuple(uint128,uint128)"
  1474                      }
  1475                    },
  1476                    "functionReturnParameters": 79,
  1477                    "id": 111,
  1478                    "nodeType": "Return",
  1479                    "src": "839:25:0"
  1480                  }
  1481                ]
  1482              },
  1483              "functionSelector": "960384a0",
  1484              "id": 113,
  1485              "implemented": true,
  1486              "kind": "function",
  1487              "modifiers": [],
  1488              "name": "getValue",
  1489              "nodeType": "FunctionDefinition",
  1490              "parameters": {
  1491                "id": 74,
  1492                "nodeType": "ParameterList",
  1493                "parameters": [
  1494                  {
  1495                    "constant": false,
  1496                    "id": 73,
  1497                    "mutability": "mutable",
  1498                    "name": "key",
  1499                    "nodeType": "VariableDeclaration",
  1500                    "scope": 113,
  1501                    "src": "627:17:0",
  1502                    "stateVariable": false,
  1503                    "storageLocation": "memory",
  1504                    "typeDescriptions": {
  1505                      "typeIdentifier": "t_string_memory_ptr",
  1506                      "typeString": "string"
  1507                    },
  1508                    "typeName": {
  1509                      "id": 72,
  1510                      "name": "string",
  1511                      "nodeType": "ElementaryTypeName",
  1512                      "src": "627:6:0",
  1513                      "typeDescriptions": {
  1514                        "typeIdentifier": "t_string_storage_ptr",
  1515                        "typeString": "string"
  1516                      }
  1517                    },
  1518                    "visibility": "internal"
  1519                  }
  1520                ],
  1521                "src": "626:19:0"
  1522              },
  1523              "returnParameters": {
  1524                "id": 79,
  1525                "nodeType": "ParameterList",
  1526                "parameters": [
  1527                  {
  1528                    "constant": false,
  1529                    "id": 76,
  1530                    "mutability": "mutable",
  1531                    "name": "",
  1532                    "nodeType": "VariableDeclaration",
  1533                    "scope": 113,
  1534                    "src": "667:7:0",
  1535                    "stateVariable": false,
  1536                    "storageLocation": "default",
  1537                    "typeDescriptions": {
  1538                      "typeIdentifier": "t_uint128",
  1539                      "typeString": "uint128"
  1540                    },
  1541                    "typeName": {
  1542                      "id": 75,
  1543                      "name": "uint128",
  1544                      "nodeType": "ElementaryTypeName",
  1545                      "src": "667:7:0",
  1546                      "typeDescriptions": {
  1547                        "typeIdentifier": "t_uint128",
  1548                        "typeString": "uint128"
  1549                      }
  1550                    },
  1551                    "visibility": "internal"
  1552                  },
  1553                  {
  1554                    "constant": false,
  1555                    "id": 78,
  1556                    "mutability": "mutable",
  1557                    "name": "",
  1558                    "nodeType": "VariableDeclaration",
  1559                    "scope": 113,
  1560                    "src": "676:7:0",
  1561                    "stateVariable": false,
  1562                    "storageLocation": "default",
  1563                    "typeDescriptions": {
  1564                      "typeIdentifier": "t_uint128",
  1565                      "typeString": "uint128"
  1566                    },
  1567                    "typeName": {
  1568                      "id": 77,
  1569                      "name": "uint128",
  1570                      "nodeType": "ElementaryTypeName",
  1571                      "src": "676:7:0",
  1572                      "typeDescriptions": {
  1573                        "typeIdentifier": "t_uint128",
  1574                        "typeString": "uint128"
  1575                      }
  1576                    },
  1577                    "visibility": "internal"
  1578                  }
  1579                ],
  1580                "src": "666:18:0"
  1581              },
  1582              "scope": 135,
  1583              "src": "609:262:0",
  1584              "stateMutability": "view",
  1585              "virtual": false,
  1586              "visibility": "public"
  1587            },
  1588            {
  1589              "body": {
  1590                "id": 133,
  1591                "nodeType": "Block",
  1592                "src": "957:162:0",
  1593                "statements": [
  1594                  {
  1595                    "expression": {
  1596                      "arguments": [
  1597                        {
  1598                          "commonType": {
  1599                            "typeIdentifier": "t_address",
  1600                            "typeString": "address"
  1601                          },
  1602                          "id": 122,
  1603                          "isConstant": false,
  1604                          "isLValue": false,
  1605                          "isPure": false,
  1606                          "lValueRequested": false,
  1607                          "leftExpression": {
  1608                            "expression": {
  1609                              "id": 119,
  1610                              "name": "msg",
  1611                              "nodeType": "Identifier",
  1612                              "overloadedDeclarations": [],
  1613                              "referencedDeclaration": -15,
  1614                              "src": "975:3:0",
  1615                              "typeDescriptions": {
  1616                                "typeIdentifier": "t_magic_message",
  1617                                "typeString": "msg"
  1618                              }
  1619                            },
  1620                            "id": 120,
  1621                            "isConstant": false,
  1622                            "isLValue": false,
  1623                            "isPure": false,
  1624                            "lValueRequested": false,
  1625                            "memberName": "sender",
  1626                            "nodeType": "MemberAccess",
  1627                            "src": "975:10:0",
  1628                            "typeDescriptions": {
  1629                              "typeIdentifier": "t_address_payable",
  1630                              "typeString": "address payable"
  1631                            }
  1632                          },
  1633                          "nodeType": "BinaryOperation",
  1634                          "operator": "==",
  1635                          "rightExpression": {
  1636                            "id": 121,
  1637                            "name": "oracleUpdater",
  1638                            "nodeType": "Identifier",
  1639                            "overloadedDeclarations": [],
  1640                            "referencedDeclaration": 7,
  1641                            "src": "989:13:0",
  1642                            "typeDescriptions": {
  1643                              "typeIdentifier": "t_address",
  1644                              "typeString": "address"
  1645                            }
  1646                          },
  1647                          "src": "975:27:0",
  1648                          "typeDescriptions": {
  1649                            "typeIdentifier": "t_bool",
  1650                            "typeString": "bool"
  1651                          }
  1652                        }
  1653                      ],
  1654                      "expression": {
  1655                        "argumentTypes": [
  1656                          {
  1657                            "typeIdentifier": "t_bool",
  1658                            "typeString": "bool"
  1659                          }
  1660                        ],
  1661                        "id": 118,
  1662                        "name": "require",
  1663                        "nodeType": "Identifier",
  1664                        "overloadedDeclarations": [
  1665                          -18,
  1666                          -18
  1667                        ],
  1668                        "referencedDeclaration": -18,
  1669                        "src": "967:7:0",
  1670                        "typeDescriptions": {
  1671                          "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
  1672                          "typeString": "function (bool) pure"
  1673                        }
  1674                      },
  1675                      "id": 123,
  1676                      "isConstant": false,
  1677                      "isLValue": false,
  1678                      "isPure": false,
  1679                      "kind": "functionCall",
  1680                      "lValueRequested": false,
  1681                      "names": [],
  1682                      "nodeType": "FunctionCall",
  1683                      "src": "967:36:0",
  1684                      "tryCall": false,
  1685                      "typeDescriptions": {
  1686                        "typeIdentifier": "t_tuple$__$",
  1687                        "typeString": "tuple()"
  1688                      }
  1689                    },
  1690                    "id": 124,
  1691                    "nodeType": "ExpressionStatement",
  1692                    "src": "967:36:0"
  1693                  },
  1694                  {
  1695                    "expression": {
  1696                      "id": 127,
  1697                      "isConstant": false,
  1698                      "isLValue": false,
  1699                      "isPure": false,
  1700                      "lValueRequested": false,
  1701                      "leftHandSide": {
  1702                        "id": 125,
  1703                        "name": "oracleUpdater",
  1704                        "nodeType": "Identifier",
  1705                        "overloadedDeclarations": [],
  1706                        "referencedDeclaration": 7,
  1707                        "src": "1013:13:0",
  1708                        "typeDescriptions": {
  1709                          "typeIdentifier": "t_address",
  1710                          "typeString": "address"
  1711                        }
  1712                      },
  1713                      "nodeType": "Assignment",
  1714                      "operator": "=",
  1715                      "rightHandSide": {
  1716                        "id": 126,
  1717                        "name": "newOracleUpdaterAddress",
  1718                        "nodeType": "Identifier",
  1719                        "overloadedDeclarations": [],
  1720                        "referencedDeclaration": 115,
  1721                        "src": "1029:23:0",
  1722                        "typeDescriptions": {
  1723                          "typeIdentifier": "t_address",
  1724                          "typeString": "address"
  1725                        }
  1726                      },
  1727                      "src": "1013:39:0",
  1728                      "typeDescriptions": {
  1729                        "typeIdentifier": "t_address",
  1730                        "typeString": "address"
  1731                      }
  1732                    },
  1733                    "id": 128,
  1734                    "nodeType": "ExpressionStatement",
  1735                    "src": "1013:39:0"
  1736                  },
  1737                  {
  1738                    "eventCall": {
  1739                      "arguments": [
  1740                        {
  1741                          "id": 130,
  1742                          "name": "newOracleUpdaterAddress",
  1743                          "nodeType": "Identifier",
  1744                          "overloadedDeclarations": [],
  1745                          "referencedDeclaration": 115,
  1746                          "src": "1088:23:0",
  1747                          "typeDescriptions": {
  1748                            "typeIdentifier": "t_address",
  1749                            "typeString": "address"
  1750                          }
  1751                        }
  1752                      ],
  1753                      "expression": {
  1754                        "argumentTypes": [
  1755                          {
  1756                            "typeIdentifier": "t_address",
  1757                            "typeString": "address"
  1758                          }
  1759                        ],
  1760                        "id": 129,
  1761                        "name": "UpdaterAddressChange",
  1762                        "nodeType": "Identifier",
  1763                        "overloadedDeclarations": [],
  1764                        "referencedDeclaration": 19,
  1765                        "src": "1067:20:0",
  1766                        "typeDescriptions": {
  1767                          "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
  1768                          "typeString": "function (address)"
  1769                        }
  1770                      },
  1771                      "id": 131,
  1772                      "isConstant": false,
  1773                      "isLValue": false,
  1774                      "isPure": false,
  1775                      "kind": "functionCall",
  1776                      "lValueRequested": false,
  1777                      "names": [],
  1778                      "nodeType": "FunctionCall",
  1779                      "src": "1067:45:0",
  1780                      "tryCall": false,
  1781                      "typeDescriptions": {
  1782                        "typeIdentifier": "t_tuple$__$",
  1783                        "typeString": "tuple()"
  1784                      }
  1785                    },
  1786                    "id": 132,
  1787                    "nodeType": "EmitStatement",
  1788                    "src": "1062:50:0"
  1789                  }
  1790                ]
  1791              },
  1792              "functionSelector": "6aa45efc",
  1793              "id": 134,
  1794              "implemented": true,
  1795              "kind": "function",
  1796              "modifiers": [],
  1797              "name": "updateOracleUpdaterAddress",
  1798              "nodeType": "FunctionDefinition",
  1799              "parameters": {
  1800                "id": 116,
  1801                "nodeType": "ParameterList",
  1802                "parameters": [
  1803                  {
  1804                    "constant": false,
  1805                    "id": 115,
  1806                    "mutability": "mutable",
  1807                    "name": "newOracleUpdaterAddress",
  1808                    "nodeType": "VariableDeclaration",
  1809                    "scope": 134,
  1810                    "src": "917:31:0",
  1811                    "stateVariable": false,
  1812                    "storageLocation": "default",
  1813                    "typeDescriptions": {
  1814                      "typeIdentifier": "t_address",
  1815                      "typeString": "address"
  1816                    },
  1817                    "typeName": {
  1818                      "id": 114,
  1819                      "name": "address",
  1820                      "nodeType": "ElementaryTypeName",
  1821                      "src": "917:7:0",
  1822                      "stateMutability": "nonpayable",
  1823                      "typeDescriptions": {
  1824                        "typeIdentifier": "t_address",
  1825                        "typeString": "address"
  1826                      }
  1827                    },
  1828                    "visibility": "internal"
  1829                  }
  1830                ],
  1831                "src": "916:33:0"
  1832              },
  1833              "returnParameters": {
  1834                "id": 117,
  1835                "nodeType": "ParameterList",
  1836                "parameters": [],
  1837                "src": "957:0:0"
  1838              },
  1839              "scope": 135,
  1840              "src": "881:238:0",
  1841              "stateMutability": "nonpayable",
  1842              "virtual": false,
  1843              "visibility": "public"
  1844            }
  1845          ],
  1846          "scope": 136,
  1847          "src": "24:1097:0"
  1848        }
  1849      ],
  1850      "src": "0:1122:0"
  1851    },
  1852    "legacyAST": {
  1853      "attributes": {
  1854        "absolutePath": "project:/contracts/DIAOracle.sol",
  1855        "exportedSymbols": {
  1856          "DIAOracle": [
  1857            135
  1858          ]
  1859        }
  1860      },
  1861      "children": [
  1862        {
  1863          "attributes": {
  1864            "literals": [
  1865              "solidity",
  1866              "0.7",
  1867              ".4"
  1868            ]
  1869          },
  1870          "id": 1,
  1871          "name": "PragmaDirective",
  1872          "src": "0:22:0"
  1873        },
  1874        {
  1875          "attributes": {
  1876            "abstract": false,
  1877            "baseContracts": [
  1878              null
  1879            ],
  1880            "contractDependencies": [
  1881              null
  1882            ],
  1883            "contractKind": "contract",
  1884            "fullyImplemented": true,
  1885            "linearizedBaseContracts": [
  1886              135
  1887            ],
  1888            "name": "DIAOracle",
  1889            "scope": 136
  1890          },
  1891          "children": [
  1892            {
  1893              "attributes": {
  1894                "constant": false,
  1895                "functionSelector": "5a9ade8b",
  1896                "mutability": "mutable",
  1897                "name": "values",
  1898                "scope": 135,
  1899                "stateVariable": true,
  1900                "storageLocation": "default",
  1901                "type": "mapping(string => uint256)",
  1902                "visibility": "public"
  1903              },
  1904              "children": [
  1905                {
  1906                  "attributes": {
  1907                    "type": "mapping(string => uint256)"
  1908                  },
  1909                  "children": [
  1910                    {
  1911                      "attributes": {
  1912                        "name": "string",
  1913                        "type": "string"
  1914                      },
  1915                      "id": 2,
  1916                      "name": "ElementaryTypeName",
  1917                      "src": "58:6:0"
  1918                    },
  1919                    {
  1920                      "attributes": {
  1921                        "name": "uint256",
  1922                        "type": "uint256"
  1923                      },
  1924                      "id": 3,
  1925                      "name": "ElementaryTypeName",
  1926                      "src": "68:7:0"
  1927                    }
  1928                  ],
  1929                  "id": 4,
  1930                  "name": "Mapping",
  1931                  "src": "49:27:0"
  1932                }
  1933              ],
  1934              "id": 5,
  1935              "name": "VariableDeclaration",
  1936              "src": "49:41:0"
  1937            },
  1938            {
  1939              "attributes": {
  1940                "constant": false,
  1941                "mutability": "mutable",
  1942                "name": "oracleUpdater",
  1943                "scope": 135,
  1944                "stateVariable": true,
  1945                "storageLocation": "default",
  1946                "type": "address",
  1947                "visibility": "internal"
  1948              },
  1949              "children": [
  1950                {
  1951                  "attributes": {
  1952                    "name": "address",
  1953                    "stateMutability": "nonpayable",
  1954                    "type": "address"
  1955                  },
  1956                  "id": 6,
  1957                  "name": "ElementaryTypeName",
  1958                  "src": "96:7:0"
  1959                }
  1960              ],
  1961              "id": 7,
  1962              "name": "VariableDeclaration",
  1963              "src": "96:21:0"
  1964            },
  1965            {
  1966              "attributes": {
  1967                "anonymous": false,
  1968                "name": "OracleUpdate"
  1969              },
  1970              "children": [
  1971                {
  1972                  "children": [
  1973                    {
  1974                      "attributes": {
  1975                        "constant": false,
  1976                        "indexed": false,
  1977                        "mutability": "mutable",
  1978                        "name": "key",
  1979                        "scope": 15,
  1980                        "stateVariable": false,
  1981                        "storageLocation": "default",
  1982                        "type": "string",
  1983                        "visibility": "internal"
  1984                      },
  1985                      "children": [
  1986                        {
  1987                          "attributes": {
  1988                            "name": "string",
  1989                            "type": "string"
  1990                          },
  1991                          "id": 8,
  1992                          "name": "ElementaryTypeName",
  1993                          "src": "147:6:0"
  1994                        }
  1995                      ],
  1996                      "id": 9,
  1997                      "name": "VariableDeclaration",
  1998                      "src": "147:10:0"
  1999                    },
  2000                    {
  2001                      "attributes": {
  2002                        "constant": false,
  2003                        "indexed": false,
  2004                        "mutability": "mutable",
  2005                        "name": "value",
  2006                        "scope": 15,
  2007                        "stateVariable": false,
  2008                        "storageLocation": "default",
  2009                        "type": "uint128",
  2010                        "visibility": "internal"
  2011                      },
  2012                      "children": [
  2013                        {
  2014                          "attributes": {
  2015                            "name": "uint128",
  2016                            "type": "uint128"
  2017                          },
  2018                          "id": 10,
  2019                          "name": "ElementaryTypeName",
  2020                          "src": "159:7:0"
  2021                        }
  2022                      ],
  2023                      "id": 11,
  2024                      "name": "VariableDeclaration",
  2025                      "src": "159:13:0"
  2026                    },
  2027                    {
  2028                      "attributes": {
  2029                        "constant": false,
  2030                        "indexed": false,
  2031                        "mutability": "mutable",
  2032                        "name": "timestamp",
  2033                        "scope": 15,
  2034                        "stateVariable": false,
  2035                        "storageLocation": "default",
  2036                        "type": "uint128",
  2037                        "visibility": "internal"
  2038                      },
  2039                      "children": [
  2040                        {
  2041                          "attributes": {
  2042                            "name": "uint128",
  2043                            "type": "uint128"
  2044                          },
  2045                          "id": 12,
  2046                          "name": "ElementaryTypeName",
  2047                          "src": "174:7:0"
  2048                        }
  2049                      ],
  2050                      "id": 13,
  2051                      "name": "VariableDeclaration",
  2052                      "src": "174:17:0"
  2053                    }
  2054                  ],
  2055                  "id": 14,
  2056                  "name": "ParameterList",
  2057                  "src": "146:46:0"
  2058                }
  2059              ],
  2060              "id": 15,
  2061              "name": "EventDefinition",
  2062              "src": "128:65:0"
  2063            },
  2064            {
  2065              "attributes": {
  2066                "anonymous": false,
  2067                "name": "UpdaterAddressChange"
  2068              },
  2069              "children": [
  2070                {
  2071                  "children": [
  2072                    {
  2073                      "attributes": {
  2074                        "constant": false,
  2075                        "indexed": false,
  2076                        "mutability": "mutable",
  2077                        "name": "newUpdater",
  2078                        "scope": 19,
  2079                        "stateVariable": false,
  2080                        "storageLocation": "default",
  2081                        "type": "address",
  2082                        "visibility": "internal"
  2083                      },
  2084                      "children": [
  2085                        {
  2086                          "attributes": {
  2087                            "name": "address",
  2088                            "stateMutability": "nonpayable",
  2089                            "type": "address"
  2090                          },
  2091                          "id": 16,
  2092                          "name": "ElementaryTypeName",
  2093                          "src": "225:7:0"
  2094                        }
  2095                      ],
  2096                      "id": 17,
  2097                      "name": "VariableDeclaration",
  2098                      "src": "225:18:0"
  2099                    }
  2100                  ],
  2101                  "id": 18,
  2102                  "name": "ParameterList",
  2103                  "src": "224:20:0"
  2104                }
  2105              ],
  2106              "id": 19,
  2107              "name": "EventDefinition",
  2108              "src": "198:47:0"
  2109            },
  2110            {
  2111              "attributes": {
  2112                "implemented": true,
  2113                "isConstructor": true,
  2114                "kind": "constructor",
  2115                "modifiers": [
  2116                  null
  2117                ],
  2118                "name": "",
  2119                "scope": 135,
  2120                "stateMutability": "nonpayable",
  2121                "virtual": false,
  2122                "visibility": "public"
  2123              },
  2124              "children": [
  2125                {
  2126                  "attributes": {
  2127                    "parameters": [
  2128                      null
  2129                    ]
  2130                  },
  2131                  "children": [],
  2132                  "id": 20,
  2133                  "name": "ParameterList",
  2134                  "src": "266:2:0"
  2135                },
  2136                {
  2137                  "attributes": {
  2138                    "parameters": [
  2139                      null
  2140                    ]
  2141                  },
  2142                  "children": [],
  2143                  "id": 21,
  2144                  "name": "ParameterList",
  2145                  "src": "269:0:0"
  2146                },
  2147                {
  2148                  "children": [
  2149                    {
  2150                      "children": [
  2151                        {
  2152                          "attributes": {
  2153                            "isConstant": false,
  2154                            "isLValue": false,
  2155                            "isPure": false,
  2156                            "lValueRequested": false,
  2157                            "operator": "=",
  2158                            "type": "address"
  2159                          },
  2160                          "children": [
  2161                            {
  2162                              "attributes": {
  2163                                "overloadedDeclarations": [
  2164                                  null
  2165                                ],
  2166                                "referencedDeclaration": 7,
  2167                                "type": "address",
  2168                                "value": "oracleUpdater"
  2169                              },
  2170                              "id": 22,
  2171                              "name": "Identifier",
  2172                              "src": "279:13:0"
  2173                            },
  2174                            {
  2175                              "attributes": {
  2176                                "isConstant": false,
  2177                                "isLValue": false,
  2178                                "isPure": false,
  2179                                "lValueRequested": false,
  2180                                "member_name": "sender",
  2181                                "type": "address payable"
  2182                              },
  2183                              "children": [
  2184                                {
  2185                                  "attributes": {
  2186                                    "overloadedDeclarations": [
  2187                                      null
  2188                                    ],
  2189                                    "referencedDeclaration": -15,
  2190                                    "type": "msg",
  2191                                    "value": "msg"
  2192                                  },
  2193                                  "id": 23,
  2194                                  "name": "Identifier",
  2195                                  "src": "295:3:0"
  2196                                }
  2197                              ],
  2198                              "id": 24,
  2199                              "name": "MemberAccess",
  2200                              "src": "295:10:0"
  2201                            }
  2202                          ],
  2203                          "id": 25,
  2204                          "name": "Assignment",
  2205                          "src": "279:26:0"
  2206                        }
  2207                      ],
  2208                      "id": 26,
  2209                      "name": "ExpressionStatement",
  2210                      "src": "279:26:0"
  2211                    }
  2212                  ],
  2213                  "id": 27,
  2214                  "name": "Block",
  2215                  "src": "269:43:0"
  2216                }
  2217              ],
  2218              "id": 28,
  2219              "name": "FunctionDefinition",
  2220              "src": "255:57:0"
  2221            },
  2222            {
  2223              "attributes": {
  2224                "functionSelector": "7898e0c2",
  2225                "implemented": true,
  2226                "isConstructor": false,
  2227                "kind": "function",
  2228                "modifiers": [
  2229                  null
  2230                ],
  2231                "name": "setValue",
  2232                "scope": 135,
  2233                "stateMutability": "nonpayable",
  2234                "virtual": false,
  2235                "visibility": "public"
  2236              },
  2237              "children": [
  2238                {
  2239                  "children": [
  2240                    {
  2241                      "attributes": {
  2242                        "constant": false,
  2243                        "mutability": "mutable",
  2244                        "name": "key",
  2245                        "scope": 71,
  2246                        "stateVariable": false,
  2247                        "storageLocation": "memory",
  2248                        "type": "string",
  2249                        "visibility": "internal"
  2250                      },
  2251                      "children": [
  2252                        {
  2253                          "attributes": {
  2254                            "name": "string",
  2255                            "type": "string"
  2256                          },
  2257                          "id": 29,
  2258                          "name": "ElementaryTypeName",
  2259                          "src": "340:6:0"
  2260                        }
  2261                      ],
  2262                      "id": 30,
  2263                      "name": "VariableDeclaration",
  2264                      "src": "340:17:0"
  2265                    },
  2266                    {
  2267                      "attributes": {
  2268                        "constant": false,
  2269                        "mutability": "mutable",
  2270                        "name": "value",
  2271                        "scope": 71,
  2272                        "stateVariable": false,
  2273                        "storageLocation": "default",
  2274                        "type": "uint128",
  2275                        "visibility": "internal"
  2276                      },
  2277                      "children": [
  2278                        {
  2279                          "attributes": {
  2280                            "name": "uint128",
  2281                            "type": "uint128"
  2282                          },
  2283                          "id": 31,
  2284                          "name": "ElementaryTypeName",
  2285                          "src": "359:7:0"
  2286                        }
  2287                      ],
  2288                      "id": 32,
  2289                      "name": "VariableDeclaration",
  2290                      "src": "359:13:0"
  2291                    },
  2292                    {
  2293                      "attributes": {
  2294                        "constant": false,
  2295                        "mutability": "mutable",
  2296                        "name": "timestamp",
  2297                        "scope": 71,
  2298                        "stateVariable": false,
  2299                        "storageLocation": "default",
  2300                        "type": "uint128",
  2301                        "visibility": "internal"
  2302                      },
  2303                      "children": [
  2304                        {
  2305                          "attributes": {
  2306                            "name": "uint128",
  2307                            "type": "uint128"
  2308                          },
  2309                          "id": 33,
  2310                          "name": "ElementaryTypeName",
  2311                          "src": "374:7:0"
  2312                        }
  2313                      ],
  2314                      "id": 34,
  2315                      "name": "VariableDeclaration",
  2316                      "src": "374:17:0"
  2317                    }
  2318                  ],
  2319                  "id": 35,
  2320                  "name": "ParameterList",
  2321                  "src": "339:53:0"
  2322                },
  2323                {
  2324                  "attributes": {
  2325                    "parameters": [
  2326                      null
  2327                    ]
  2328                  },
  2329                  "children": [],
  2330                  "id": 36,
  2331                  "name": "ParameterList",
  2332                  "src": "400:0:0"
  2333                },
  2334                {
  2335                  "children": [
  2336                    {
  2337                      "children": [
  2338                        {
  2339                          "attributes": {
  2340                            "isConstant": false,
  2341                            "isLValue": false,
  2342                            "isPure": false,
  2343                            "isStructConstructorCall": false,
  2344                            "lValueRequested": false,
  2345                            "names": [
  2346                              null
  2347                            ],
  2348                            "tryCall": false,
  2349                            "type": "tuple()",
  2350                            "type_conversion": false
  2351                          },
  2352                          "children": [
  2353                            {
  2354                              "attributes": {
  2355                                "argumentTypes": [
  2356                                  {
  2357                                    "typeIdentifier": "t_bool",
  2358                                    "typeString": "bool"
  2359                                  }
  2360                                ],
  2361                                "overloadedDeclarations": [
  2362                                  -18,
  2363                                  -18
  2364                                ],
  2365                                "referencedDeclaration": -18,
  2366                                "type": "function (bool) pure",
  2367                                "value": "require"
  2368                              },
  2369                              "id": 37,
  2370                              "name": "Identifier",
  2371                              "src": "410:7:0"
  2372                            },
  2373                            {
  2374                              "attributes": {
  2375                                "commonType": {
  2376                                  "typeIdentifier": "t_address",
  2377                                  "typeString": "address"
  2378                                },
  2379                                "isConstant": false,
  2380                                "isLValue": false,
  2381                                "isPure": false,
  2382                                "lValueRequested": false,
  2383                                "operator": "==",
  2384                                "type": "bool"
  2385                              },
  2386                              "children": [
  2387                                {
  2388                                  "attributes": {
  2389                                    "isConstant": false,
  2390                                    "isLValue": false,
  2391                                    "isPure": false,
  2392                                    "lValueRequested": false,
  2393                                    "member_name": "sender",
  2394                                    "type": "address payable"
  2395                                  },
  2396                                  "children": [
  2397                                    {
  2398                                      "attributes": {
  2399                                        "overloadedDeclarations": [
  2400                                          null
  2401                                        ],
  2402                                        "referencedDeclaration": -15,
  2403                                        "type": "msg",
  2404                                        "value": "msg"
  2405                                      },
  2406                                      "id": 38,
  2407                                      "name": "Identifier",
  2408                                      "src": "418:3:0"
  2409                                    }
  2410                                  ],
  2411                                  "id": 39,
  2412                                  "name": "MemberAccess",
  2413                                  "src": "418:10:0"
  2414                                },
  2415                                {
  2416                                  "attributes": {
  2417                                    "overloadedDeclarations": [
  2418                                      null
  2419                                    ],
  2420                                    "referencedDeclaration": 7,
  2421                                    "type": "address",
  2422                                    "value": "oracleUpdater"
  2423                                  },
  2424                                  "id": 40,
  2425                                  "name": "Identifier",
  2426                                  "src": "432:13:0"
  2427                                }
  2428                              ],
  2429                              "id": 41,
  2430                              "name": "BinaryOperation",
  2431                              "src": "418:27:0"
  2432                            }
  2433                          ],
  2434                          "id": 42,
  2435                          "name": "FunctionCall",
  2436                          "src": "410:36:0"
  2437                        }
  2438                      ],
  2439                      "id": 43,
  2440                      "name": "ExpressionStatement",
  2441                      "src": "410:36:0"
  2442                    },
  2443                    {
  2444                      "attributes": {
  2445                        "assignments": [
  2446                          45
  2447                        ]
  2448                      },
  2449                      "children": [
  2450                        {
  2451                          "attributes": {
  2452                            "constant": false,
  2453                            "mutability": "mutable",
  2454                            "name": "cValue",
  2455                            "scope": 70,
  2456                            "stateVariable": false,
  2457                            "storageLocation": "default",
  2458                            "type": "uint256",
  2459                            "visibility": "internal"
  2460                          },
  2461                          "children": [
  2462                            {
  2463                              "attributes": {
  2464                                "name": "uint256",
  2465                                "type": "uint256"
  2466                              },
  2467                              "id": 44,
  2468                              "name": "ElementaryTypeName",
  2469                              "src": "456:7:0"
  2470                            }
  2471                          ],
  2472                          "id": 45,
  2473                          "name": "VariableDeclaration",
  2474                          "src": "456:14:0"
  2475                        },
  2476                        {
  2477                          "attributes": {
  2478                            "commonType": {
  2479                              "typeIdentifier": "t_uint256",
  2480                              "typeString": "uint256"
  2481                            },
  2482                            "isConstant": false,
  2483                            "isLValue": false,
  2484                            "isPure": false,
  2485                            "lValueRequested": false,
  2486                            "operator": "+",
  2487                            "type": "uint256"
  2488                          },
  2489                          "children": [
  2490                            {
  2491                              "attributes": {
  2492                                "isConstant": false,
  2493                                "isInlineArray": false,
  2494                                "isLValue": false,
  2495                                "isPure": false,
  2496                                "lValueRequested": false,
  2497                                "type": "uint256"
  2498                              },
  2499                              "children": [
  2500                                {
  2501                                  "attributes": {
  2502                                    "commonType": {
  2503                                      "typeIdentifier": "t_uint256",
  2504                                      "typeString": "uint256"
  2505                                    },
  2506                                    "isConstant": false,
  2507                                    "isLValue": false,
  2508                                    "isPure": false,
  2509                                    "lValueRequested": false,
  2510                                    "operator": "<<",
  2511                                    "type": "uint256"
  2512                                  },
  2513                                  "children": [
  2514                                    {
  2515                                      "attributes": {
  2516                                        "isConstant": false,
  2517                                        "isInlineArray": false,
  2518                                        "isLValue": false,
  2519                                        "isPure": false,
  2520                                        "lValueRequested": false,
  2521                                        "type": "uint256"
  2522                                      },
  2523                                      "children": [
  2524                                        {
  2525                                          "attributes": {
  2526                                            "isConstant": false,
  2527                                            "isLValue": false,
  2528                                            "isPure": false,
  2529                                            "isStructConstructorCall": false,
  2530                                            "lValueRequested": false,
  2531                                            "names": [
  2532                                              null
  2533                                            ],
  2534                                            "tryCall": false,
  2535                                            "type": "uint256",
  2536                                            "type_conversion": true
  2537                                          },
  2538                                          "children": [
  2539                                            {
  2540                                              "attributes": {
  2541                                                "argumentTypes": [
  2542                                                  {
  2543                                                    "typeIdentifier": "t_uint128",
  2544                                                    "typeString": "uint128"
  2545                                                  }
  2546                                                ],
  2547                                                "isConstant": false,
  2548                                                "isInlineArray": false,
  2549                                                "isLValue": false,
  2550                                                "isPure": true,
  2551                                                "lValueRequested": false,
  2552                                                "type": "type(uint256)"
  2553                                              },
  2554                                              "children": [
  2555                                                {
  2556                                                  "attributes": {
  2557                                                    "isConstant": false,
  2558                                                    "isLValue": false,
  2559                                                    "isPure": true,
  2560                                                    "lValueRequested": false,
  2561                                                    "type": "type(uint256)"
  2562                                                  },
  2563                                                  "children": [
  2564                                                    {
  2565                                                      "attributes": {
  2566                                                        "name": "uint256"
  2567                                                      },
  2568                                                      "id": 46,
  2569                                                      "name": "ElementaryTypeName",
  2570                                                      "src": "476:7:0"
  2571                                                    }
  2572                                                  ],
  2573                                                  "id": 47,
  2574                                                  "name": "ElementaryTypeNameExpression",
  2575                                                  "src": "476:7:0"
  2576                                                }
  2577                                              ],
  2578                                              "id": 48,
  2579                                              "name": "TupleExpression",
  2580                                              "src": "475:9:0"
  2581                                            },
  2582                                            {
  2583                                              "attributes": {
  2584                                                "overloadedDeclarations": [
  2585                                                  null
  2586                                                ],
  2587                                                "referencedDeclaration": 32,
  2588                                                "type": "uint128",
  2589                                                "value": "value"
  2590                                              },
  2591                                              "id": 49,
  2592                                              "name": "Identifier",
  2593                                              "src": "485:5:0"
  2594                                            }
  2595                                          ],
  2596                                          "id": 50,
  2597                                          "name": "FunctionCall",
  2598                                          "src": "475:16:0"
  2599                                        }
  2600                                      ],
  2601                                      "id": 51,
  2602                                      "name": "TupleExpression",
  2603                                      "src": "474:18:0"
  2604                                    },
  2605                                    {
  2606                                      "attributes": {
  2607                                        "hexvalue": "313238",
  2608                                        "isConstant": false,
  2609                                        "isLValue": false,
  2610                                        "isPure": true,
  2611                                        "lValueRequested": false,
  2612                                        "token": "number",
  2613                                        "type": "int_const 128",
  2614                                        "value": "128"
  2615                                      },
  2616                                      "id": 52,
  2617                                      "name": "Literal",
  2618                                      "src": "496:3:0"
  2619                                    }
  2620                                  ],
  2621                                  "id": 53,
  2622                                  "name": "BinaryOperation",
  2623                                  "src": "474:25:0"
  2624                                }
  2625                              ],
  2626                              "id": 54,
  2627                              "name": "TupleExpression",
  2628                              "src": "473:27:0"
  2629                            },
  2630                            {
  2631                              "attributes": {
  2632                                "overloadedDeclarations": [
  2633                                  null
  2634                                ],
  2635                                "referencedDeclaration": 34,
  2636                                "type": "uint128",
  2637                                "value": "timestamp"
  2638                              },
  2639                              "id": 55,
  2640                              "name": "Identifier",
  2641                              "src": "503:9:0"
  2642                            }
  2643                          ],
  2644                          "id": 56,
  2645                          "name": "BinaryOperation",
  2646                          "src": "473:39:0"
  2647                        }
  2648                      ],
  2649                      "id": 57,
  2650                      "name": "VariableDeclarationStatement",
  2651                      "src": "456:56:0"
  2652                    },
  2653                    {
  2654                      "children": [
  2655                        {
  2656                          "attributes": {
  2657                            "isConstant": false,
  2658                            "isLValue": false,
  2659                            "isPure": false,
  2660                            "lValueRequested": false,
  2661                            "operator": "=",
  2662                            "type": "uint256"
  2663                          },
  2664                          "children": [
  2665                            {
  2666                              "attributes": {
  2667                                "isConstant": false,
  2668                                "isLValue": true,
  2669                                "isPure": false,
  2670                                "lValueRequested": true,
  2671                                "type": "uint256"
  2672                              },
  2673                              "children": [
  2674                                {
  2675                                  "attributes": {
  2676                                    "overloadedDeclarations": [
  2677                                      null
  2678                                    ],
  2679                                    "referencedDeclaration": 5,
  2680                                    "type": "mapping(string memory => uint256)",
  2681                                    "value": "values"
  2682                                  },
  2683                                  "id": 58,
  2684                                  "name": "Identifier",
  2685                                  "src": "522:6:0"
  2686                                },
  2687                                {
  2688                                  "attributes": {
  2689                                    "overloadedDeclarations": [
  2690                                      null
  2691                                    ],
  2692                                    "referencedDeclaration": 30,
  2693                                    "type": "string memory",
  2694                                    "value": "key"
  2695                                  },
  2696                                  "id": 59,
  2697                                  "name": "Identifier",
  2698                                  "src": "529:3:0"
  2699                                }
  2700                              ],
  2701                              "id": 60,
  2702                              "name": "IndexAccess",
  2703                              "src": "522:11:0"
  2704                            },
  2705                            {
  2706                              "attributes": {
  2707                                "overloadedDeclarations": [
  2708                                  null
  2709                                ],
  2710                                "referencedDeclaration": 45,
  2711                                "type": "uint256",
  2712                                "value": "cValue"
  2713                              },
  2714                              "id": 61,
  2715                              "name": "Identifier",
  2716                              "src": "536:6:0"
  2717                            }
  2718                          ],
  2719                          "id": 62,
  2720                          "name": "Assignment",
  2721                          "src": "522:20:0"
  2722                        }
  2723                      ],
  2724                      "id": 63,
  2725                      "name": "ExpressionStatement",
  2726                      "src": "522:20:0"
  2727                    },
  2728                    {
  2729                      "children": [
  2730                        {
  2731                          "attributes": {
  2732                            "isConstant": false,
  2733                            "isLValue": false,
  2734                            "isPure": false,
  2735                            "isStructConstructorCall": false,
  2736                            "lValueRequested": false,
  2737                            "names": [
  2738                              null
  2739                            ],
  2740                            "tryCall": false,
  2741                            "type": "tuple()",
  2742                            "type_conversion": false
  2743                          },
  2744                          "children": [
  2745                            {
  2746                              "attributes": {
  2747                                "argumentTypes": [
  2748                                  {
  2749                                    "typeIdentifier": "t_string_memory_ptr",
  2750                                    "typeString": "string memory"
  2751                                  },
  2752                                  {
  2753                                    "typeIdentifier": "t_uint128",
  2754                                    "typeString": "uint128"
  2755                                  },
  2756                                  {
  2757                                    "typeIdentifier": "t_uint128",
  2758                                    "typeString": "uint128"
  2759                                  }
  2760                                ],
  2761                                "overloadedDeclarations": [
  2762                                  null
  2763                                ],
  2764                                "referencedDeclaration": 15,
  2765                                "type": "function (string memory,uint128,uint128)",
  2766                                "value": "OracleUpdate"
  2767                              },
  2768                              "id": 64,
  2769                              "name": "Identifier",
  2770                              "src": "557:12:0"
  2771                            },
  2772                            {
  2773                              "attributes": {
  2774                                "overloadedDeclarations": [
  2775                                  null
  2776                                ],
  2777                                "referencedDeclaration": 30,
  2778                                "type": "string memory",
  2779                                "value": "key"
  2780                              },
  2781                              "id": 65,
  2782                              "name": "Identifier",
  2783                              "src": "570:3:0"
  2784                            },
  2785                            {
  2786                              "attributes": {
  2787                                "overloadedDeclarations": [
  2788                                  null
  2789                                ],
  2790                                "referencedDeclaration": 32,
  2791                                "type": "uint128",
  2792                                "value": "value"
  2793                              },
  2794                              "id": 66,
  2795                              "name": "Identifier",
  2796                              "src": "575:5:0"
  2797                            },
  2798                            {
  2799                              "attributes": {
  2800                                "overloadedDeclarations": [
  2801                                  null
  2802                                ],
  2803                                "referencedDeclaration": 34,
  2804                                "type": "uint128",
  2805                                "value": "timestamp"
  2806                              },
  2807                              "id": 67,
  2808                              "name": "Identifier",
  2809                              "src": "582:9:0"
  2810                            }
  2811                          ],
  2812                          "id": 68,
  2813                          "name": "FunctionCall",
  2814                          "src": "557:35:0"
  2815                        }
  2816                      ],
  2817                      "id": 69,
  2818                      "name": "EmitStatement",
  2819                      "src": "552:40:0"
  2820                    }
  2821                  ],
  2822                  "id": 70,
  2823                  "name": "Block",
  2824                  "src": "400:199:0"
  2825                }
  2826              ],
  2827              "id": 71,
  2828              "name": "FunctionDefinition",
  2829              "src": "322:277:0"
  2830            },
  2831            {
  2832              "attributes": {
  2833                "functionSelector": "960384a0",
  2834                "implemented": true,
  2835                "isConstructor": false,
  2836                "kind": "function",
  2837                "modifiers": [
  2838                  null
  2839                ],
  2840                "name": "getValue",
  2841                "scope": 135,
  2842                "stateMutability": "view",
  2843                "virtual": false,
  2844                "visibility": "public"
  2845              },
  2846              "children": [
  2847                {
  2848                  "children": [
  2849                    {
  2850                      "attributes": {
  2851                        "constant": false,
  2852                        "mutability": "mutable",
  2853                        "name": "key",
  2854                        "scope": 113,
  2855                        "stateVariable": false,
  2856                        "storageLocation": "memory",
  2857                        "type": "string",
  2858                        "visibility": "internal"
  2859                      },
  2860                      "children": [
  2861                        {
  2862                          "attributes": {
  2863                            "name": "string",
  2864                            "type": "string"
  2865                          },
  2866                          "id": 72,
  2867                          "name": "ElementaryTypeName",
  2868                          "src": "627:6:0"
  2869                        }
  2870                      ],
  2871                      "id": 73,
  2872                      "name": "VariableDeclaration",
  2873                      "src": "627:17:0"
  2874                    }
  2875                  ],
  2876                  "id": 74,
  2877                  "name": "ParameterList",
  2878                  "src": "626:19:0"
  2879                },
  2880                {
  2881                  "children": [
  2882                    {
  2883                      "attributes": {
  2884                        "constant": false,
  2885                        "mutability": "mutable",
  2886                        "name": "",
  2887                        "scope": 113,
  2888                        "stateVariable": false,
  2889                        "storageLocation": "default",
  2890                        "type": "uint128",
  2891                        "visibility": "internal"
  2892                      },
  2893                      "children": [
  2894                        {
  2895                          "attributes": {
  2896                            "name": "uint128",
  2897                            "type": "uint128"
  2898                          },
  2899                          "id": 75,
  2900                          "name": "ElementaryTypeName",
  2901                          "src": "667:7:0"
  2902                        }
  2903                      ],
  2904                      "id": 76,
  2905                      "name": "VariableDeclaration",
  2906                      "src": "667:7:0"
  2907                    },
  2908                    {
  2909                      "attributes": {
  2910                        "constant": false,
  2911                        "mutability": "mutable",
  2912                        "name": "",
  2913                        "scope": 113,
  2914                        "stateVariable": false,
  2915                        "storageLocation": "default",
  2916                        "type": "uint128",
  2917                        "visibility": "internal"
  2918                      },
  2919                      "children": [
  2920                        {
  2921                          "attributes": {
  2922                            "name": "uint128",
  2923                            "type": "uint128"
  2924                          },
  2925                          "id": 77,
  2926                          "name": "ElementaryTypeName",
  2927                          "src": "676:7:0"
  2928                        }
  2929                      ],
  2930                      "id": 78,
  2931                      "name": "VariableDeclaration",
  2932                      "src": "676:7:0"
  2933                    }
  2934                  ],
  2935                  "id": 79,
  2936                  "name": "ParameterList",
  2937                  "src": "666:18:0"
  2938                },
  2939                {
  2940                  "children": [
  2941                    {
  2942                      "attributes": {
  2943                        "assignments": [
  2944                          81
  2945                        ]
  2946                      },
  2947                      "children": [
  2948                        {
  2949                          "attributes": {
  2950                            "constant": false,
  2951                            "mutability": "mutable",
  2952                            "name": "cValue",
  2953                            "scope": 112,
  2954                            "stateVariable": false,
  2955                            "storageLocation": "default",
  2956                            "type": "uint256",
  2957                            "visibility": "internal"
  2958                          },
  2959                          "children": [
  2960                            {
  2961                              "attributes": {
  2962                                "name": "uint256",
  2963                                "type": "uint256"
  2964                              },
  2965                              "id": 80,
  2966                              "name": "ElementaryTypeName",
  2967                              "src": "695:7:0"
  2968                            }
  2969                          ],
  2970                          "id": 81,
  2971                          "name": "VariableDeclaration",
  2972                          "src": "695:14:0"
  2973                        },
  2974                        {
  2975                          "attributes": {
  2976                            "isConstant": false,
  2977                            "isLValue": true,
  2978                            "isPure": false,
  2979                            "lValueRequested": false,
  2980                            "type": "uint256"
  2981                          },
  2982                          "children": [
  2983                            {
  2984                              "attributes": {
  2985                                "overloadedDeclarations": [
  2986                                  null
  2987                                ],
  2988                                "referencedDeclaration": 5,
  2989                                "type": "mapping(string memory => uint256)",
  2990                                "value": "values"
  2991                              },
  2992                              "id": 82,
  2993                              "name": "Identifier",
  2994                              "src": "712:6:0"
  2995                            },
  2996                            {
  2997                              "attributes": {
  2998                                "overloadedDeclarations": [
  2999                                  null
  3000                                ],
  3001                                "referencedDeclaration": 73,
  3002                                "type": "string memory",
  3003                                "value": "key"
  3004                              },
  3005                              "id": 83,
  3006                              "name": "Identifier",
  3007                              "src": "719:3:0"
  3008                            }
  3009                          ],
  3010                          "id": 84,
  3011                          "name": "IndexAccess",
  3012                          "src": "712:11:0"
  3013                        }
  3014                      ],
  3015                      "id": 85,
  3016                      "name": "VariableDeclarationStatement",
  3017                      "src": "695:28:0"
  3018                    },
  3019                    {
  3020                      "attributes": {
  3021                        "assignments": [
  3022                          87
  3023                        ]
  3024                      },
  3025                      "children": [
  3026                        {
  3027                          "attributes": {
  3028                            "constant": false,
  3029                            "mutability": "mutable",
  3030                            "name": "timestamp",
  3031                            "scope": 112,
  3032                            "stateVariable": false,
  3033                            "storageLocation": "default",
  3034                            "type": "uint128",
  3035                            "visibility": "internal"
  3036                          },
  3037                          "children": [
  3038                            {
  3039                              "attributes": {
  3040                                "name": "uint128",
  3041                                "type": "uint128"
  3042                              },
  3043                              "id": 86,
  3044                              "name": "ElementaryTypeName",
  3045                              "src": "733:7:0"
  3046                            }
  3047                          ],
  3048                          "id": 87,
  3049                          "name": "VariableDeclaration",
  3050                          "src": "733:17:0"
  3051                        },
  3052                        {
  3053                          "attributes": {
  3054                            "isConstant": false,
  3055                            "isLValue": false,
  3056                            "isPure": false,
  3057                            "isStructConstructorCall": false,
  3058                            "lValueRequested": false,
  3059                            "names": [
  3060                              null
  3061                            ],
  3062                            "tryCall": false,
  3063                            "type": "uint128",
  3064                            "type_conversion": true
  3065                          },
  3066                          "children": [
  3067                            {
  3068                              "attributes": {
  3069                                "argumentTypes": [
  3070                                  {
  3071                                    "typeIdentifier": "t_uint256",
  3072                                    "typeString": "uint256"
  3073                                  }
  3074                                ],
  3075                                "isConstant": false,
  3076                                "isInlineArray": false,
  3077                                "isLValue": false,
  3078                                "isPure": true,
  3079                                "lValueRequested": false,
  3080                                "type": "type(uint128)"
  3081                              },
  3082                              "children": [
  3083                                {
  3084                                  "attributes": {
  3085                                    "isConstant": false,
  3086                                    "isLValue": false,
  3087                                    "isPure": true,
  3088                                    "lValueRequested": false,
  3089                                    "type": "type(uint128)"
  3090                                  },
  3091                                  "children": [
  3092                                    {
  3093                                      "attributes": {
  3094                                        "name": "uint128"
  3095                                      },
  3096                                      "id": 88,
  3097                                      "name": "ElementaryTypeName",
  3098                                      "src": "754:7:0"
  3099                                    }
  3100                                  ],
  3101                                  "id": 89,
  3102                                  "name": "ElementaryTypeNameExpression",
  3103                                  "src": "754:7:0"
  3104                                }
  3105                              ],
  3106                              "id": 90,
  3107                              "name": "TupleExpression",
  3108                              "src": "753:9:0"
  3109                            },
  3110                            {
  3111                              "attributes": {
  3112                                "commonType": {
  3113                                  "typeIdentifier": "t_uint256",
  3114                                  "typeString": "uint256"
  3115                                },
  3116                                "isConstant": false,
  3117                                "isLValue": false,
  3118                                "isPure": false,
  3119                                "lValueRequested": false,
  3120                                "operator": "%",
  3121                                "type": "uint256"
  3122                              },
  3123                              "children": [
  3124                                {
  3125                                  "attributes": {
  3126                                    "overloadedDeclarations": [
  3127                                      null
  3128                                    ],
  3129                                    "referencedDeclaration": 81,
  3130                                    "type": "uint256",
  3131                                    "value": "cValue"
  3132                                  },
  3133                                  "id": 91,
  3134                                  "name": "Identifier",
  3135                                  "src": "763:6:0"
  3136                                },
  3137                                {
  3138                                  "attributes": {
  3139                                    "commonType": {
  3140                                      "typeIdentifier": "t_rational_340282366920938463463374607431768211456_by_1",
  3141                                      "typeString": "int_const 3402...(31 digits omitted)...1456"
  3142                                    },
  3143                                    "isConstant": false,
  3144                                    "isLValue": false,
  3145                                    "isPure": true,
  3146                                    "lValueRequested": false,
  3147                                    "operator": "**",
  3148                                    "type": "int_const 3402...(31 digits omitted)...1456"
  3149                                  },
  3150                                  "children": [
  3151                                    {
  3152                                      "attributes": {
  3153                                        "hexvalue": "32",
  3154                                        "isConstant": false,
  3155                                        "isLValue": false,
  3156                                        "isPure": true,
  3157                                        "lValueRequested": false,
  3158                                        "token": "number",
  3159                                        "type": "int_const 2",
  3160                                        "value": "2"
  3161                                      },
  3162                                      "id": 92,
  3163                                      "name": "Literal",
  3164                                      "src": "772:1:0"
  3165                                    },
  3166                                    {
  3167                                      "attributes": {
  3168                                        "hexvalue": "313238",
  3169                                        "isConstant": false,
  3170                                        "isLValue": false,
  3171                                        "isPure": true,
  3172                                        "lValueRequested": false,
  3173                                        "token": "number",
  3174                                        "type": "int_const 128",
  3175                                        "value": "128"
  3176                                      },
  3177                                      "id": 93,
  3178                                      "name": "Literal",
  3179                                      "src": "775:3:0"
  3180                                    }
  3181                                  ],
  3182                                  "id": 94,
  3183                                  "name": "BinaryOperation",
  3184                                  "src": "772:6:0"
  3185                                }
  3186                              ],
  3187                              "id": 95,
  3188                              "name": "BinaryOperation",
  3189                              "src": "763:15:0"
  3190                            }
  3191                          ],
  3192                          "id": 96,
  3193                          "name": "FunctionCall",
  3194                          "src": "753:26:0"
  3195                        }
  3196                      ],
  3197                      "id": 97,
  3198                      "name": "VariableDeclarationStatement",
  3199                      "src": "733:46:0"
  3200                    },
  3201                    {
  3202                      "attributes": {
  3203                        "assignments": [
  3204                          99
  3205                        ]
  3206                      },
  3207                      "children": [
  3208                        {
  3209                          "attributes": {
  3210                            "constant": false,
  3211                            "mutability": "mutable",
  3212                            "name": "value",
  3213                            "scope": 112,
  3214                            "stateVariable": false,
  3215                            "storageLocation": "default",
  3216                            "type": "uint128",
  3217                            "visibility": "internal"
  3218                          },
  3219                          "children": [
  3220                            {
  3221                              "attributes": {
  3222                                "name": "uint128",
  3223                                "type": "uint128"
  3224                              },
  3225                              "id": 98,
  3226                              "name": "ElementaryTypeName",
  3227                              "src": "789:7:0"
  3228                            }
  3229                          ],
  3230                          "id": 99,
  3231                          "name": "VariableDeclaration",
  3232                          "src": "789:13:0"
  3233                        },
  3234                        {
  3235                          "attributes": {
  3236                            "isConstant": false,
  3237                            "isLValue": false,
  3238                            "isPure": false,
  3239                            "isStructConstructorCall": false,
  3240                            "lValueRequested": false,
  3241                            "names": [
  3242                              null
  3243                            ],
  3244                            "tryCall": false,
  3245                            "type": "uint128",
  3246                            "type_conversion": true
  3247                          },
  3248                          "children": [
  3249                            {
  3250                              "attributes": {
  3251                                "argumentTypes": [
  3252                                  {
  3253                                    "typeIdentifier": "t_uint256",
  3254                                    "typeString": "uint256"
  3255                                  }
  3256                                ],
  3257                                "isConstant": false,
  3258                                "isInlineArray": false,
  3259                                "isLValue": false,
  3260                                "isPure": true,
  3261                                "lValueRequested": false,
  3262                                "type": "type(uint128)"
  3263                              },
  3264                              "children": [
  3265                                {
  3266                                  "attributes": {
  3267                                    "isConstant": false,
  3268                                    "isLValue": false,
  3269                                    "isPure": true,
  3270                                    "lValueRequested": false,
  3271                                    "type": "type(uint128)"
  3272                                  },
  3273                                  "children": [
  3274                                    {
  3275                                      "attributes": {
  3276                                        "name": "uint128"
  3277                                      },
  3278                                      "id": 100,
  3279                                      "name": "ElementaryTypeName",
  3280                                      "src": "806:7:0"
  3281                                    }
  3282                                  ],
  3283                                  "id": 101,
  3284                                  "name": "ElementaryTypeNameExpression",
  3285                                  "src": "806:7:0"
  3286                                }
  3287                              ],
  3288                              "id": 102,
  3289                              "name": "TupleExpression",
  3290                              "src": "805:9:0"
  3291                            },
  3292                            {
  3293                              "attributes": {
  3294                                "commonType": {
  3295                                  "typeIdentifier": "t_uint256",
  3296                                  "typeString": "uint256"
  3297                                },
  3298                                "isConstant": false,
  3299                                "isLValue": false,
  3300                                "isPure": false,
  3301                                "lValueRequested": false,
  3302                                "operator": ">>",
  3303                                "type": "uint256"
  3304                              },
  3305                              "children": [
  3306                                {
  3307                                  "attributes": {
  3308                                    "overloadedDeclarations": [
  3309                                      null
  3310                                    ],
  3311                                    "referencedDeclaration": 81,
  3312                                    "type": "uint256",
  3313                                    "value": "cValue"
  3314                                  },
  3315                                  "id": 103,
  3316                                  "name": "Identifier",
  3317                                  "src": "815:6:0"
  3318                                },
  3319                                {
  3320                                  "attributes": {
  3321                                    "hexvalue": "313238",
  3322                                    "isConstant": false,
  3323                                    "isLValue": false,
  3324                                    "isPure": true,
  3325                                    "lValueRequested": false,
  3326                                    "token": "number",
  3327                                    "type": "int_const 128",
  3328                                    "value": "128"
  3329                                  },
  3330                                  "id": 104,
  3331                                  "name": "Literal",
  3332                                  "src": "825:3:0"
  3333                                }
  3334                              ],
  3335                              "id": 105,
  3336                              "name": "BinaryOperation",
  3337                              "src": "815:13:0"
  3338                            }
  3339                          ],
  3340                          "id": 106,
  3341                          "name": "FunctionCall",
  3342                          "src": "805:24:0"
  3343                        }
  3344                      ],
  3345                      "id": 107,
  3346                      "name": "VariableDeclarationStatement",
  3347                      "src": "789:40:0"
  3348                    },
  3349                    {
  3350                      "attributes": {
  3351                        "functionReturnParameters": 79
  3352                      },
  3353                      "children": [
  3354                        {
  3355                          "attributes": {
  3356                            "isConstant": false,
  3357                            "isInlineArray": false,
  3358                            "isLValue": false,
  3359                            "isPure": false,
  3360                            "lValueRequested": false,
  3361                            "type": "tuple(uint128,uint128)"
  3362                          },
  3363                          "children": [
  3364                            {
  3365                              "attributes": {
  3366                                "overloadedDeclarations": [
  3367                                  null
  3368                                ],
  3369                                "referencedDeclaration": 99,
  3370                                "type": "uint128",
  3371                                "value": "value"
  3372                              },
  3373                              "id": 108,
  3374                              "name": "Identifier",
  3375                              "src": "847:5:0"
  3376                            },
  3377                            {
  3378                              "attributes": {
  3379                                "overloadedDeclarations": [
  3380                                  null
  3381                                ],
  3382                                "referencedDeclaration": 87,
  3383                                "type": "uint128",
  3384                                "value": "timestamp"
  3385                              },
  3386                              "id": 109,
  3387                              "name": "Identifier",
  3388                              "src": "854:9:0"
  3389                            }
  3390                          ],
  3391                          "id": 110,
  3392                          "name": "TupleExpression",
  3393                          "src": "846:18:0"
  3394                        }
  3395                      ],
  3396                      "id": 111,
  3397                      "name": "Return",
  3398                      "src": "839:25:0"
  3399                    }
  3400                  ],
  3401                  "id": 112,
  3402                  "name": "Block",
  3403                  "src": "685:186:0"
  3404                }
  3405              ],
  3406              "id": 113,
  3407              "name": "FunctionDefinition",
  3408              "src": "609:262:0"
  3409            },
  3410            {
  3411              "attributes": {
  3412                "functionSelector": "6aa45efc",
  3413                "implemented": true,
  3414                "isConstructor": false,
  3415                "kind": "function",
  3416                "modifiers": [
  3417                  null
  3418                ],
  3419                "name": "updateOracleUpdaterAddress",
  3420                "scope": 135,
  3421                "stateMutability": "nonpayable",
  3422                "virtual": false,
  3423                "visibility": "public"
  3424              },
  3425              "children": [
  3426                {
  3427                  "children": [
  3428                    {
  3429                      "attributes": {
  3430                        "constant": false,
  3431                        "mutability": "mutable",
  3432                        "name": "newOracleUpdaterAddress",
  3433                        "scope": 134,
  3434                        "stateVariable": false,
  3435                        "storageLocation": "default",
  3436                        "type": "address",
  3437                        "visibility": "internal"
  3438                      },
  3439                      "children": [
  3440                        {
  3441                          "attributes": {
  3442                            "name": "address",
  3443                            "stateMutability": "nonpayable",
  3444                            "type": "address"
  3445                          },
  3446                          "id": 114,
  3447                          "name": "ElementaryTypeName",
  3448                          "src": "917:7:0"
  3449                        }
  3450                      ],
  3451                      "id": 115,
  3452                      "name": "VariableDeclaration",
  3453                      "src": "917:31:0"
  3454                    }
  3455                  ],
  3456                  "id": 116,
  3457                  "name": "ParameterList",
  3458                  "src": "916:33:0"
  3459                },
  3460                {
  3461                  "attributes": {
  3462                    "parameters": [
  3463                      null
  3464                    ]
  3465                  },
  3466                  "children": [],
  3467                  "id": 117,
  3468                  "name": "ParameterList",
  3469                  "src": "957:0:0"
  3470                },
  3471                {
  3472                  "children": [
  3473                    {
  3474                      "children": [
  3475                        {
  3476                          "attributes": {
  3477                            "isConstant": false,
  3478                            "isLValue": false,
  3479                            "isPure": false,
  3480                            "isStructConstructorCall": false,
  3481                            "lValueRequested": false,
  3482                            "names": [
  3483                              null
  3484                            ],
  3485                            "tryCall": false,
  3486                            "type": "tuple()",
  3487                            "type_conversion": false
  3488                          },
  3489                          "children": [
  3490                            {
  3491                              "attributes": {
  3492                                "argumentTypes": [
  3493                                  {
  3494                                    "typeIdentifier": "t_bool",
  3495                                    "typeString": "bool"
  3496                                  }
  3497                                ],
  3498                                "overloadedDeclarations": [
  3499                                  -18,
  3500                                  -18
  3501                                ],
  3502                                "referencedDeclaration": -18,
  3503                                "type": "function (bool) pure",
  3504                                "value": "require"
  3505                              },
  3506                              "id": 118,
  3507                              "name": "Identifier",
  3508                              "src": "967:7:0"
  3509                            },
  3510                            {
  3511                              "attributes": {
  3512                                "commonType": {
  3513                                  "typeIdentifier": "t_address",
  3514                                  "typeString": "address"
  3515                                },
  3516                                "isConstant": false,
  3517                                "isLValue": false,
  3518                                "isPure": false,
  3519                                "lValueRequested": false,
  3520                                "operator": "==",
  3521                                "type": "bool"
  3522                              },
  3523                              "children": [
  3524                                {
  3525                                  "attributes": {
  3526                                    "isConstant": false,
  3527                                    "isLValue": false,
  3528                                    "isPure": false,
  3529                                    "lValueRequested": false,
  3530                                    "member_name": "sender",
  3531                                    "type": "address payable"
  3532                                  },
  3533                                  "children": [
  3534                                    {
  3535                                      "attributes": {
  3536                                        "overloadedDeclarations": [
  3537                                          null
  3538                                        ],
  3539                                        "referencedDeclaration": -15,
  3540                                        "type": "msg",
  3541                                        "value": "msg"
  3542                                      },
  3543                                      "id": 119,
  3544                                      "name": "Identifier",
  3545                                      "src": "975:3:0"
  3546                                    }
  3547                                  ],
  3548                                  "id": 120,
  3549                                  "name": "MemberAccess",
  3550                                  "src": "975:10:0"
  3551                                },
  3552                                {
  3553                                  "attributes": {
  3554                                    "overloadedDeclarations": [
  3555                                      null
  3556                                    ],
  3557                                    "referencedDeclaration": 7,
  3558                                    "type": "address",
  3559                                    "value": "oracleUpdater"
  3560                                  },
  3561                                  "id": 121,
  3562                                  "name": "Identifier",
  3563                                  "src": "989:13:0"
  3564                                }
  3565                              ],
  3566                              "id": 122,
  3567                              "name": "BinaryOperation",
  3568                              "src": "975:27:0"
  3569                            }
  3570                          ],
  3571                          "id": 123,
  3572                          "name": "FunctionCall",
  3573                          "src": "967:36:0"
  3574                        }
  3575                      ],
  3576                      "id": 124,
  3577                      "name": "ExpressionStatement",
  3578                      "src": "967:36:0"
  3579                    },
  3580                    {
  3581                      "children": [
  3582                        {
  3583                          "attributes": {
  3584                            "isConstant": false,
  3585                            "isLValue": false,
  3586                            "isPure": false,
  3587                            "lValueRequested": false,
  3588                            "operator": "=",
  3589                            "type": "address"
  3590                          },
  3591                          "children": [
  3592                            {
  3593                              "attributes": {
  3594                                "overloadedDeclarations": [
  3595                                  null
  3596                                ],
  3597                                "referencedDeclaration": 7,
  3598                                "type": "address",
  3599                                "value": "oracleUpdater"
  3600                              },
  3601                              "id": 125,
  3602                              "name": "Identifier",
  3603                              "src": "1013:13:0"
  3604                            },
  3605                            {
  3606                              "attributes": {
  3607                                "overloadedDeclarations": [
  3608                                  null
  3609                                ],
  3610                                "referencedDeclaration": 115,
  3611                                "type": "address",
  3612                                "value": "newOracleUpdaterAddress"
  3613                              },
  3614                              "id": 126,
  3615                              "name": "Identifier",
  3616                              "src": "1029:23:0"
  3617                            }
  3618                          ],
  3619                          "id": 127,
  3620                          "name": "Assignment",
  3621                          "src": "1013:39:0"
  3622                        }
  3623                      ],
  3624                      "id": 128,
  3625                      "name": "ExpressionStatement",
  3626                      "src": "1013:39:0"
  3627                    },
  3628                    {
  3629                      "children": [
  3630                        {
  3631                          "attributes": {
  3632                            "isConstant": false,
  3633                            "isLValue": false,
  3634                            "isPure": false,
  3635                            "isStructConstructorCall": false,
  3636                            "lValueRequested": false,
  3637                            "names": [
  3638                              null
  3639                            ],
  3640                            "tryCall": false,
  3641                            "type": "tuple()",
  3642                            "type_conversion": false
  3643                          },
  3644                          "children": [
  3645                            {
  3646                              "attributes": {
  3647                                "argumentTypes": [
  3648                                  {
  3649                                    "typeIdentifier": "t_address",
  3650                                    "typeString": "address"
  3651                                  }
  3652                                ],
  3653                                "overloadedDeclarations": [
  3654                                  null
  3655                                ],
  3656                                "referencedDeclaration": 19,
  3657                                "type": "function (address)",
  3658                                "value": "UpdaterAddressChange"
  3659                              },
  3660                              "id": 129,
  3661                              "name": "Identifier",
  3662                              "src": "1067:20:0"
  3663                            },
  3664                            {
  3665                              "attributes": {
  3666                                "overloadedDeclarations": [
  3667                                  null
  3668                                ],
  3669                                "referencedDeclaration": 115,
  3670                                "type": "address",
  3671                                "value": "newOracleUpdaterAddress"
  3672                              },
  3673                              "id": 130,
  3674                              "name": "Identifier",
  3675                              "src": "1088:23:0"
  3676                            }
  3677                          ],
  3678                          "id": 131,
  3679                          "name": "FunctionCall",
  3680                          "src": "1067:45:0"
  3681                        }
  3682                      ],
  3683                      "id": 132,
  3684                      "name": "EmitStatement",
  3685                      "src": "1062:50:0"
  3686                    }
  3687                  ],
  3688                  "id": 133,
  3689                  "name": "Block",
  3690                  "src": "957:162:0"
  3691                }
  3692              ],
  3693              "id": 134,
  3694              "name": "FunctionDefinition",
  3695              "src": "881:238:0"
  3696            }
  3697          ],
  3698          "id": 135,
  3699          "name": "ContractDefinition",
  3700          "src": "24:1097:0"
  3701        }
  3702      ],
  3703      "id": 136,
  3704      "name": "SourceUnit",
  3705      "src": "0:1122:0"
  3706    },
  3707    "compiler": {
  3708      "name": "solc",
  3709      "version": "0.7.4+commit.3f05b770.Emscripten.clang"
  3710    },
  3711    "networks": {},
  3712    "schemaVersion": "3.4.3",
  3713    "updatedAt": "2021-11-26T16:38:32.696Z",
  3714    "devdoc": {
  3715      "kind": "dev",
  3716      "methods": {},
  3717      "version": 1
  3718    },
  3719    "userdoc": {
  3720      "kind": "user",
  3721      "methods": {},
  3722      "version": 1
  3723    }
  3724  }