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

2743 lines
102 KiB
JSON

{
"contractName": "IMinimumOracle",
"abi": [
{
"inputs": [],
"name": "getPrice",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "newPrice",
"type": "uint256"
}
],
"name": "setPrice",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol\":\"IMinimumOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol\":{\"keccak256\":\"0x66ac490e135af4b70e2d0df8b0872480c964221e225ece8301e06f334d040a9c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://adc9b73a0b2586f440355ed94761cdd0c891a1fa0effcd267dd1f4fbedb6bb75\",\"dweb:/ipfs/QmSaYizENPPjsWDGeDLj1ntRW9zomfVwbfJUgRBCY9yQky\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"immutableReferences": {},
"sourceMap": "",
"deployedSourceMap": "",
"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 IMinimumOracle {\n function getPrice() external view returns (uint256);\n\n function setPrice(uint256 newPrice) external;\n\n function transferOwnership(address newOwner) external;\n}\n\n\ncontract MinimumOracle {\n address public _OWNER_;\n uint256 public tokenPrice;\n\n // ============ Events ============\n\n event OwnershipTransfer(address indexed previousOwner, address indexed newOwner);\n\n // ============ Modifiers ============\n\n modifier onlyOwner() {\n require(msg.sender == _OWNER_, \"NOT_OWNER\");\n _;\n }\n\n // ============ Functions ============\n\n constructor() public {\n _OWNER_ = msg.sender;\n emit OwnershipTransfer(address(0), _OWNER_);\n }\n\n function transferOwnership(address newOwner) external onlyOwner {\n require(newOwner != address(0), \"INVALID_OWNER\");\n emit OwnershipTransfer(_OWNER_, newOwner);\n _OWNER_ = newOwner;\n }\n\n function setPrice(uint256 newPrice) external onlyOwner {\n tokenPrice = newPrice;\n }\n\n function getPrice() external view returns (uint256) {\n return tokenPrice;\n }\n}\n",
"sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol",
"ast": {
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol",
"exportedSymbols": {
"IMinimumOracle": [
2110
],
"MinimumOracle": [
2197
]
},
"id": 2198,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2093,
"literals": [
"solidity",
"0.6",
".9"
],
"nodeType": "PragmaDirective",
"src": "78:22:15"
},
{
"id": 2094,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "101:33:15"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"id": 2110,
"linearizedBaseContracts": [
2110
],
"name": "IMinimumOracle",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"functionSelector": "98d5fdca",
"id": 2099,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2095,
"nodeType": "ParameterList",
"parameters": [],
"src": "185:2:15"
},
"returnParameters": {
"id": 2098,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2097,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2099,
"src": "211:7:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2096,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "211:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "210:9:15"
},
"scope": 2110,
"src": "168:52:15",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"functionSelector": "91b7f5ed",
"id": 2104,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2102,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2101,
"mutability": "mutable",
"name": "newPrice",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2104,
"src": "244:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2100,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "244:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "243:18:15"
},
"returnParameters": {
"id": 2103,
"nodeType": "ParameterList",
"parameters": [],
"src": "270:0:15"
},
"scope": 2110,
"src": "226:45:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"functionSelector": "f2fde38b",
"id": 2109,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2107,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2106,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2109,
"src": "304:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2105,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "304:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "303:18:15"
},
"returnParameters": {
"id": 2108,
"nodeType": "ParameterList",
"parameters": [],
"src": "330:0:15"
},
"scope": 2110,
"src": "277:54:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 2198,
"src": "137:196:15"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2197,
"linearizedBaseContracts": [
2197
],
"name": "MinimumOracle",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "16048bc4",
"id": 2112,
"mutability": "mutable",
"name": "_OWNER_",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2197,
"src": "365:22:15",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2111,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "365:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "7ff9b596",
"id": 2114,
"mutability": "mutable",
"name": "tokenPrice",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2197,
"src": "393:25:15",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2113,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "393:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 2120,
"name": "OwnershipTransfer",
"nodeType": "EventDefinition",
"parameters": {
"id": 2119,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2116,
"indexed": true,
"mutability": "mutable",
"name": "previousOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2120,
"src": "490:29:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2115,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "490:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2118,
"indexed": true,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2120,
"src": "521:24:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2117,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "521:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "489:57:15"
},
"src": "466:81:15"
},
{
"body": {
"id": 2131,
"nodeType": "Block",
"src": "618:71:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 2126,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2123,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "636:3:15",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2124,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "636:10:15",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 2125,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "650:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "636:21:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e4f545f4f574e4552",
"id": 2127,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "659:11:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2",
"typeString": "literal_string \"NOT_OWNER\""
},
"value": "NOT_OWNER"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2",
"typeString": "literal_string \"NOT_OWNER\""
}
],
"id": 2122,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "628:7:15",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2128,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "628:43:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2129,
"nodeType": "ExpressionStatement",
"src": "628:43:15"
},
{
"id": 2130,
"nodeType": "PlaceholderStatement",
"src": "681:1:15"
}
]
},
"documentation": null,
"id": 2132,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"overrides": null,
"parameters": {
"id": 2121,
"nodeType": "ParameterList",
"parameters": [],
"src": "615:2:15"
},
"src": "597:92:15",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 2148,
"nodeType": "Block",
"src": "760:90:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2138,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2135,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "770:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2136,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "780:3:15",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2137,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "780:10:15",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "770:20:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2139,
"nodeType": "ExpressionStatement",
"src": "770:20:15"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2143,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "831:1:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2142,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "823:7:15",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2141,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "823:7:15",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 2144,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "823:10:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"id": 2145,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "835:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2140,
"name": "OwnershipTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2120,
"src": "805:17:15",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 2146,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "805:38:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2147,
"nodeType": "EmitStatement",
"src": "800:43:15"
}
]
},
"documentation": null,
"id": 2149,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2133,
"nodeType": "ParameterList",
"parameters": [],
"src": "750:2:15"
},
"returnParameters": {
"id": 2134,
"nodeType": "ParameterList",
"parameters": [],
"src": "760:0:15"
},
"scope": 2197,
"src": "739:111:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2175,
"nodeType": "Block",
"src": "920:144:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 2162,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2157,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2151,
"src": "938:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2160,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "958:1:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2159,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "950:7:15",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2158,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "950:7:15",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 2161,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "950:10:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "938:22:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "494e56414c49445f4f574e4552",
"id": 2163,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "962:15:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886",
"typeString": "literal_string \"INVALID_OWNER\""
},
"value": "INVALID_OWNER"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886",
"typeString": "literal_string \"INVALID_OWNER\""
}
],
"id": 2156,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "930:7:15",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "930:48:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2165,
"nodeType": "ExpressionStatement",
"src": "930:48:15"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2167,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "1011:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 2168,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2151,
"src": "1020:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2166,
"name": "OwnershipTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2120,
"src": "993:17:15",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 2169,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "993:36:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2170,
"nodeType": "EmitStatement",
"src": "988:41:15"
},
{
"expression": {
"argumentTypes": null,
"id": 2173,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2171,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "1039:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 2172,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2151,
"src": "1049:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1039:18:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2174,
"nodeType": "ExpressionStatement",
"src": "1039:18:15"
}
]
},
"documentation": null,
"functionSelector": "f2fde38b",
"id": 2176,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2154,
"modifierName": {
"argumentTypes": null,
"id": 2153,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "910:9:15",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "910:9:15"
}
],
"name": "transferOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2152,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2151,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2176,
"src": "883:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2150,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "883:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "882:18:15"
},
"returnParameters": {
"id": 2155,
"nodeType": "ParameterList",
"parameters": [],
"src": "920:0:15"
},
"scope": 2197,
"src": "856:208:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 2187,
"nodeType": "Block",
"src": "1125:38:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2185,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2183,
"name": "tokenPrice",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2114,
"src": "1135:10:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 2184,
"name": "newPrice",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2178,
"src": "1148:8:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1135:21:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2186,
"nodeType": "ExpressionStatement",
"src": "1135:21:15"
}
]
},
"documentation": null,
"functionSelector": "91b7f5ed",
"id": 2188,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2181,
"modifierName": {
"argumentTypes": null,
"id": 2180,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "1115:9:15",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "1115:9:15"
}
],
"name": "setPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2179,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2178,
"mutability": "mutable",
"name": "newPrice",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2188,
"src": "1088:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2177,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1088:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1087:18:15"
},
"returnParameters": {
"id": 2182,
"nodeType": "ParameterList",
"parameters": [],
"src": "1125:0:15"
},
"scope": 2197,
"src": "1070:93:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 2195,
"nodeType": "Block",
"src": "1221:34:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2193,
"name": "tokenPrice",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2114,
"src": "1238:10:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 2192,
"id": 2194,
"nodeType": "Return",
"src": "1231:17:15"
}
]
},
"documentation": null,
"functionSelector": "98d5fdca",
"id": 2196,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2189,
"nodeType": "ParameterList",
"parameters": [],
"src": "1186:2:15"
},
"returnParameters": {
"id": 2192,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2191,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2196,
"src": "1212:7:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2190,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1212:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1211:9:15"
},
"scope": 2197,
"src": "1169:86:15",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 2198,
"src": "336:921:15"
}
],
"src": "78:1180:15"
},
"legacyAST": {
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/helper/MinimumOracle.sol",
"exportedSymbols": {
"IMinimumOracle": [
2110
],
"MinimumOracle": [
2197
]
},
"id": 2198,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 2093,
"literals": [
"solidity",
"0.6",
".9"
],
"nodeType": "PragmaDirective",
"src": "78:22:15"
},
{
"id": 2094,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "101:33:15"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"id": 2110,
"linearizedBaseContracts": [
2110
],
"name": "IMinimumOracle",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"functionSelector": "98d5fdca",
"id": 2099,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2095,
"nodeType": "ParameterList",
"parameters": [],
"src": "185:2:15"
},
"returnParameters": {
"id": 2098,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2097,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2099,
"src": "211:7:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2096,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "211:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "210:9:15"
},
"scope": 2110,
"src": "168:52:15",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"functionSelector": "91b7f5ed",
"id": 2104,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2102,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2101,
"mutability": "mutable",
"name": "newPrice",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2104,
"src": "244:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2100,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "244:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "243:18:15"
},
"returnParameters": {
"id": 2103,
"nodeType": "ParameterList",
"parameters": [],
"src": "270:0:15"
},
"scope": 2110,
"src": "226:45:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"functionSelector": "f2fde38b",
"id": 2109,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2107,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2106,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2109,
"src": "304:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2105,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "304:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "303:18:15"
},
"returnParameters": {
"id": 2108,
"nodeType": "ParameterList",
"parameters": [],
"src": "330:0:15"
},
"scope": 2110,
"src": "277:54:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 2198,
"src": "137:196:15"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": null,
"fullyImplemented": true,
"id": 2197,
"linearizedBaseContracts": [
2197
],
"name": "MinimumOracle",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "16048bc4",
"id": 2112,
"mutability": "mutable",
"name": "_OWNER_",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2197,
"src": "365:22:15",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2111,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "365:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "7ff9b596",
"id": 2114,
"mutability": "mutable",
"name": "tokenPrice",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2197,
"src": "393:25:15",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2113,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "393:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 2120,
"name": "OwnershipTransfer",
"nodeType": "EventDefinition",
"parameters": {
"id": 2119,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2116,
"indexed": true,
"mutability": "mutable",
"name": "previousOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2120,
"src": "490:29:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2115,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "490:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 2118,
"indexed": true,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2120,
"src": "521:24:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2117,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "521:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "489:57:15"
},
"src": "466:81:15"
},
{
"body": {
"id": 2131,
"nodeType": "Block",
"src": "618:71:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 2126,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2123,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "636:3:15",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2124,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "636:10:15",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 2125,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "650:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "636:21:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e4f545f4f574e4552",
"id": 2127,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "659:11:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2",
"typeString": "literal_string \"NOT_OWNER\""
},
"value": "NOT_OWNER"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_d4d6719c9f6bf1f398a61e7ceb8dff26d48346602421236409d0fb0b222f65b2",
"typeString": "literal_string \"NOT_OWNER\""
}
],
"id": 2122,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "628:7:15",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2128,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "628:43:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2129,
"nodeType": "ExpressionStatement",
"src": "628:43:15"
},
{
"id": 2130,
"nodeType": "PlaceholderStatement",
"src": "681:1:15"
}
]
},
"documentation": null,
"id": 2132,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"overrides": null,
"parameters": {
"id": 2121,
"nodeType": "ParameterList",
"parameters": [],
"src": "615:2:15"
},
"src": "597:92:15",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 2148,
"nodeType": "Block",
"src": "760:90:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2138,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2135,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "770:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 2136,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "780:3:15",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 2137,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "780:10:15",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "770:20:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2139,
"nodeType": "ExpressionStatement",
"src": "770:20:15"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2143,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "831:1:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2142,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "823:7:15",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2141,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "823:7:15",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 2144,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "823:10:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"id": 2145,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "835:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2140,
"name": "OwnershipTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2120,
"src": "805:17:15",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 2146,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "805:38:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2147,
"nodeType": "EmitStatement",
"src": "800:43:15"
}
]
},
"documentation": null,
"id": 2149,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2133,
"nodeType": "ParameterList",
"parameters": [],
"src": "750:2:15"
},
"returnParameters": {
"id": 2134,
"nodeType": "ParameterList",
"parameters": [],
"src": "760:0:15"
},
"scope": 2197,
"src": "739:111:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 2175,
"nodeType": "Block",
"src": "920:144:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 2162,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 2157,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2151,
"src": "938:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 2160,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "958:1:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 2159,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "950:7:15",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 2158,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "950:7:15",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 2161,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "950:10:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "938:22:15",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "494e56414c49445f4f574e4552",
"id": 2163,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "962:15:15",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886",
"typeString": "literal_string \"INVALID_OWNER\""
},
"value": "INVALID_OWNER"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_a30e2b4f22d955e30086ae3aef0adfd87eec9d0d3f055d6aa9af61f522dda886",
"typeString": "literal_string \"INVALID_OWNER\""
}
],
"id": 2156,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "930:7:15",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 2164,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "930:48:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2165,
"nodeType": "ExpressionStatement",
"src": "930:48:15"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 2167,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "1011:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 2168,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2151,
"src": "1020:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 2166,
"name": "OwnershipTransfer",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2120,
"src": "993:17:15",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 2169,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "993:36:15",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 2170,
"nodeType": "EmitStatement",
"src": "988:41:15"
},
{
"expression": {
"argumentTypes": null,
"id": 2173,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2171,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2112,
"src": "1039:7:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 2172,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2151,
"src": "1049:8:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1039:18:15",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 2174,
"nodeType": "ExpressionStatement",
"src": "1039:18:15"
}
]
},
"documentation": null,
"functionSelector": "f2fde38b",
"id": 2176,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2154,
"modifierName": {
"argumentTypes": null,
"id": 2153,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "910:9:15",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "910:9:15"
}
],
"name": "transferOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2152,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2151,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2176,
"src": "883:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 2150,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "883:7:15",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "882:18:15"
},
"returnParameters": {
"id": 2155,
"nodeType": "ParameterList",
"parameters": [],
"src": "920:0:15"
},
"scope": 2197,
"src": "856:208:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 2187,
"nodeType": "Block",
"src": "1125:38:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2185,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 2183,
"name": "tokenPrice",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2114,
"src": "1135:10:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 2184,
"name": "newPrice",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2178,
"src": "1148:8:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1135:21:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 2186,
"nodeType": "ExpressionStatement",
"src": "1135:21:15"
}
]
},
"documentation": null,
"functionSelector": "91b7f5ed",
"id": 2188,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 2181,
"modifierName": {
"argumentTypes": null,
"id": 2180,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2132,
"src": "1115:9:15",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "1115:9:15"
}
],
"name": "setPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2179,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2178,
"mutability": "mutable",
"name": "newPrice",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2188,
"src": "1088:16:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2177,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1088:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1087:18:15"
},
"returnParameters": {
"id": 2182,
"nodeType": "ParameterList",
"parameters": [],
"src": "1125:0:15"
},
"scope": 2197,
"src": "1070:93:15",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 2195,
"nodeType": "Block",
"src": "1221:34:15",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 2193,
"name": "tokenPrice",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 2114,
"src": "1238:10:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 2192,
"id": 2194,
"nodeType": "Return",
"src": "1231:17:15"
}
]
},
"documentation": null,
"functionSelector": "98d5fdca",
"id": 2196,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "getPrice",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 2189,
"nodeType": "ParameterList",
"parameters": [],
"src": "1186:2:15"
},
"returnParameters": {
"id": 2192,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 2191,
"mutability": "mutable",
"name": "",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 2196,
"src": "1212:7:15",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2190,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1212:7:15",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1211:9:15"
},
"scope": 2197,
"src": "1169:86:15",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
}
],
"scope": 2198,
"src": "336:921:15"
}
],
"src": "78:1180:15"
},
"compiler": {
"name": "solc",
"version": "0.6.9+commit.3e3065ac.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.2.3",
"updatedAt": "2020-11-06T08:03:35.510Z",
"devdoc": {
"methods": {}
},
"userdoc": {
"methods": {}
}
}