Files
dodo-contractV2/build-v1/contracts/BandBNBBUSDPriceOracleProxy.json
2020-11-10 18:38:34 +08:00

1047 lines
41 KiB
JSON

{
"contractName": "BandBNBBUSDPriceOracleProxy",
"abi": [
{
"inputs": [
{
"internalType": "contract IBandOracleAggregator",
"name": "_aggregator",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "aggregator",
"outputs": [
{
"internalType": "contract IBandOracleAggregator",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IBandOracleAggregator\",\"name\":\"_aggregator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"aggregator\",\"outputs\":[{\"internalType\":\"contract IBandOracleAggregator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol\":\"BandBNBBUSDPriceOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol\":{\"keccak256\":\"0x3fb4b23899bd5ce681ec2f80d5ba228c9a3a86c86ee877010280286ac0a4e650\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://426b50755f7de3b9ad1eccf29c8940c859a64d4b8092a0255d6c19456198f582\",\"dweb:/ipfs/Qmc5H2rEQLz92yvPJFtiYi9RdsJsCoxtu27udHEzk66kkc\"]}},\"version\":1}",
"bytecode": "0x608060405234801561001057600080fd5b5060405161023438038061023483398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610082565b600060208284031215610065578081fd5b81516001600160a01b038116811461007b578182fd5b9392505050565b6101a3806100916000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063245a7bfc1461003b57806398d5fdca14610059575b600080fd5b61004361006e565b6040516100509190610119565b60405180910390f35b61006161007d565b6040516100509190610164565b6000546001600160a01b031681565b6000805460405163195556f360e21b81526001600160a01b03909116906365555bcc906100ac9060040161012d565b60206040518083038186803b1580156100c457600080fd5b505afa1580156100d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fc9190610101565b905090565b600060208284031215610112578081fd5b5051919050565b6001600160a01b0391909116815260200190565b604080825260039082018190526221272160e91b6060830152608060208301819052820152621554d160ea1b60a082015260c00190565b9081526020019056fea26469706673582212203679565ead7c9ba3798f21b1c8a9c7453826485a4329737309557af60365c16564736f6c63430006090033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063245a7bfc1461003b57806398d5fdca14610059575b600080fd5b61004361006e565b6040516100509190610119565b60405180910390f35b61006161007d565b6040516100509190610164565b6000546001600160a01b031681565b6000805460405163195556f360e21b81526001600160a01b03909116906365555bcc906100ac9060040161012d565b60206040518083038186803b1580156100c457600080fd5b505afa1580156100d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fc9190610101565b905090565b600060208284031215610112578081fd5b5051919050565b6001600160a01b0391909116815260200190565b604080825260039082018190526221272160e91b6060830152608060208301819052820152621554d160ea1b60a082015260c00190565b9081526020019056fea26469706673582212203679565ead7c9ba3798f21b1c8a9c7453826485a4329737309557af60365c16564736f6c63430006090033",
"immutableReferences": {},
"sourceMap": "303:307:3:-:0;;;392:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;456:10;:24;;-1:-1:-1;;;;;;456:24:3;-1:-1:-1;;;;;456:24:3;;;;;;;;;;303:307;;206:323:-1;;351:2;339:9;330:7;326:23;322:32;319:2;;;-1:-1;;357:12;319:2;113:13;;-1:-1;;;;;824:54;;979:65;;969:2;;-1:-1;;1048:12;969:2;409:104;313:216;-1:-1;;;313:216;;303:307:3;;;;;;",
"deployedSourceMap": "303:307:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;346:39;;;:::i;:::-;;;;;;;;;;;;;;;;493:115;;;:::i;:::-;;;;;;;;346:39;;;-1:-1:-1;;;;;346:39:3;;:::o;493:115::-;534:7;560:10;;:41;;-1:-1:-1;;;560:41:3;;-1:-1:-1;;;;;560:10:3;;;;:27;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;553:48;;493:115;:::o;146:263:-1:-;;261:2;249:9;240:7;236:23;232:32;229:2;;;-1:-1;;267:12;229:2;-1:-1;83:13;;223:186;-1:-1;223:186;1351:282;-1:-1;;;;;2831:54;;;;517:80;;1508:2;1493:18;;1479:154;1640:721;1941:2;1955:47;;;834:1;1926:18;;;2701:19;;;-1:-1;;;2741:14;;;849:26;894:12;2750:4;2165:18;;2158:48;;;894:12;;2701:19;-1:-1;;;2741:14;;;1160:26;1205:12;;;1912:449;2368:222;1302:37;;;2495:2;2480:18;;2466:124",
"source": "/*\n\n Copyright 2020 DODO ZOO.\n SPDX-License-Identifier: Apache-2.0\n\n*/\n\npragma solidity 0.6.9;\npragma experimental ABIEncoderV2;\n\n\ninterface IBandOracleAggregator {\n function getReferenceData(string memory base, string memory quote)\n external\n view\n returns (uint256);\n}\n\n\ncontract BandBNBBUSDPriceOracleProxy {\n IBandOracleAggregator public aggregator;\n\n constructor(IBandOracleAggregator _aggregator) public {\n aggregator = _aggregator;\n }\n\n function getPrice() public view returns (uint256) {\n return aggregator.getReferenceData(\"BNB\", \"USD\");\n }\n}\n",
"sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol",
"ast": {
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol",
"exportedSymbols": {
"BandBNBBUSDPriceOracleProxy": [
1728
],
"IBandOracleAggregator": [
1703
]
},
"id": 1729,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1692,
"literals": [
"solidity",
"0.6",
".9"
],
"nodeType": "PragmaDirective",
"src": "78:22:3"
},
{
"id": 1693,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "101:33:3"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"id": 1703,
"linearizedBaseContracts": [
1703
],
"name": "IBandOracleAggregator",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"functionSelector": "65555bcc",
"id": 1702,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getReferenceData",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 1698,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1695,
"mutability": "mutable",
"name": "base",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1702,
"src": "201:18:3",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1694,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "201:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1697,
"mutability": "mutable",
"name": "quote",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1702,
"src": "221:19:3",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1696,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "221:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "200:41:3"
},
"returnParameters": {
"id": 1701,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1700,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1702,
"src": "289:7:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1699,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "289:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "288:9:3"
},
"scope": 1703,
"src": "175:123:3",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 1729,
"src": "137:163:3"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 1728,
"linearizedBaseContracts": [
1728
],
"name": "BandBNBBUSDPriceOracleProxy",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "245a7bfc",
"id": 1705,
"mutability": "mutable",
"name": "aggregator",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1728,
"src": "346:39:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
},
"typeName": {
"contractScope": null,
"id": 1704,
"name": "IBandOracleAggregator",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1703,
"src": "346:21:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 1714,
"nodeType": "Block",
"src": "446:41:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1712,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1710,
"name": "aggregator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1705,
"src": "456:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1711,
"name": "_aggregator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1707,
"src": "469:11:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"src": "456:24:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"id": 1713,
"nodeType": "ExpressionStatement",
"src": "456:24:3"
}
]
},
"documentation": null,
"id": 1715,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 1708,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1707,
"mutability": "mutable",
"name": "_aggregator",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1715,
"src": "404:33:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
},
"typeName": {
"contractScope": null,
"id": 1706,
"name": "IBandOracleAggregator",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1703,
"src": "404:21:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "403:35:3"
},
"returnParameters": {
"id": 1709,
"nodeType": "ParameterList",
"parameters": [],
"src": "446:0:3"
},
"scope": 1728,
"src": "392:95:3",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 1726,
"nodeType": "Block",
"src": "543:65:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "424e42",
"id": 1722,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "588:5:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae",
"typeString": "literal_string \"BNB\""
},
"value": "BNB"
},
{
"argumentTypes": null,
"hexValue": "555344",
"id": 1723,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "595:5:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
"typeString": "literal_string \"USD\""
},
"value": "USD"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae",
"typeString": "literal_string \"BNB\""
},
{
"typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
"typeString": "literal_string \"USD\""
}
],
"expression": {
"argumentTypes": null,
"id": 1720,
"name": "aggregator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1705,
"src": "560:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"id": 1721,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getReferenceData",
"nodeType": "MemberAccess",
"referencedDeclaration": 1702,
"src": "560:27:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (string memory,string memory) view external returns (uint256)"
}
},
"id": 1724,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "560:41:3",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 1719,
"id": 1725,
"nodeType": "Return",
"src": "553:48:3"
}
]
},
"documentation": null,
"functionSelector": "98d5fdca",
"id": 1727,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 1716,
"nodeType": "ParameterList",
"parameters": [],
"src": "510:2:3"
},
"returnParameters": {
"id": 1719,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1718,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1727,
"src": "534:7:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1717,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "534:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "533:9:3"
},
"scope": 1728,
"src": "493:115:3",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 1729,
"src": "303:307:3"
}
],
"src": "78:533:3"
},
"legacyAST": {
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/BandBNBBUSDPriceOracleProxy.sol",
"exportedSymbols": {
"BandBNBBUSDPriceOracleProxy": [
1728
],
"IBandOracleAggregator": [
1703
]
},
"id": 1729,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1692,
"literals": [
"solidity",
"0.6",
".9"
],
"nodeType": "PragmaDirective",
"src": "78:22:3"
},
{
"id": 1693,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "101:33:3"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"id": 1703,
"linearizedBaseContracts": [
1703
],
"name": "IBandOracleAggregator",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"functionSelector": "65555bcc",
"id": 1702,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getReferenceData",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 1698,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1695,
"mutability": "mutable",
"name": "base",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1702,
"src": "201:18:3",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1694,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "201:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1697,
"mutability": "mutable",
"name": "quote",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1702,
"src": "221:19:3",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_string_memory_ptr",
"typeString": "string"
},
"typeName": {
"id": 1696,
"name": "string",
"nodeType": "ElementaryTypeName",
"src": "221:6:3",
"typeDescriptions": {
"typeIdentifier": "t_string_storage_ptr",
"typeString": "string"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "200:41:3"
},
"returnParameters": {
"id": 1701,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1700,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1702,
"src": "289:7:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1699,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "289:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "288:9:3"
},
"scope": 1703,
"src": "175:123:3",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 1729,
"src": "137:163:3"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 1728,
"linearizedBaseContracts": [
1728
],
"name": "BandBNBBUSDPriceOracleProxy",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "245a7bfc",
"id": 1705,
"mutability": "mutable",
"name": "aggregator",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1728,
"src": "346:39:3",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
},
"typeName": {
"contractScope": null,
"id": 1704,
"name": "IBandOracleAggregator",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1703,
"src": "346:21:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"value": null,
"visibility": "public"
},
{
"body": {
"id": 1714,
"nodeType": "Block",
"src": "446:41:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 1712,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 1710,
"name": "aggregator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1705,
"src": "456:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 1711,
"name": "_aggregator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1707,
"src": "469:11:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"src": "456:24:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"id": 1713,
"nodeType": "ExpressionStatement",
"src": "456:24:3"
}
]
},
"documentation": null,
"id": 1715,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 1708,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1707,
"mutability": "mutable",
"name": "_aggregator",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1715,
"src": "404:33:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
},
"typeName": {
"contractScope": null,
"id": 1706,
"name": "IBandOracleAggregator",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 1703,
"src": "404:21:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "403:35:3"
},
"returnParameters": {
"id": 1709,
"nodeType": "ParameterList",
"parameters": [],
"src": "446:0:3"
},
"scope": 1728,
"src": "392:95:3",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 1726,
"nodeType": "Block",
"src": "543:65:3",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "424e42",
"id": 1722,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "588:5:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae",
"typeString": "literal_string \"BNB\""
},
"value": "BNB"
},
{
"argumentTypes": null,
"hexValue": "555344",
"id": 1723,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "595:5:3",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
"typeString": "literal_string \"USD\""
},
"value": "USD"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_3ed03c38e59dc60c7b69c2a4bf68f9214acd953252b5a90e8f5f59583e9bc3ae",
"typeString": "literal_string \"BNB\""
},
{
"typeIdentifier": "t_stringliteral_c4ae21aac0c6549d71dd96035b7e0bdb6c79ebdba8891b666115bc976d16a29e",
"typeString": "literal_string \"USD\""
}
],
"expression": {
"argumentTypes": null,
"id": 1720,
"name": "aggregator",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1705,
"src": "560:10:3",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IBandOracleAggregator_$1703",
"typeString": "contract IBandOracleAggregator"
}
},
"id": 1721,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getReferenceData",
"nodeType": "MemberAccess",
"referencedDeclaration": 1702,
"src": "560:27:3",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$",
"typeString": "function (string memory,string memory) view external returns (uint256)"
}
},
"id": 1724,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "560:41:3",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 1719,
"id": 1725,
"nodeType": "Return",
"src": "553:48:3"
}
]
},
"documentation": null,
"functionSelector": "98d5fdca",
"id": 1727,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 1716,
"nodeType": "ParameterList",
"parameters": [],
"src": "510:2:3"
},
"returnParameters": {
"id": 1719,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1718,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 1727,
"src": "534:7:3",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1717,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "534:7:3",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "533:9:3"
},
"scope": 1728,
"src": "493:115:3",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
}
],
"scope": 1729,
"src": "303:307:3"
}
],
"src": "78:533:3"
},
"compiler": {
"name": "solc",
"version": "0.6.9+commit.3e3065ac.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.2.3",
"updatedAt": "2020-11-06T08:03:35.491Z",
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
}