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

2895 lines
113 KiB
JSON

{
"contractName": "Ownable",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferPrepared",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "_NEW_OWNER_",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "_OWNER_",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "claimOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.6.9+commit.3e3065ac\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferPrepared\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_NEW_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_OWNER_\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"DODO Breeder\",\"methods\":{},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{},\"notice\":\"Ownership related functions\"}},\"settings\":{\"compilationTarget\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol\":{\"keccak256\":\"0xb7a2ca6570834e4784e86d19fd5a4b6b1eff22a4586dc240659943396a365aa5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5855a493c78e787d7effd87d9c661acbcd19ca1e1ba72dbeaa91c3c8db29cbb4\",\"dweb:/ipfs/QmSddEexZ5okMatgoQ5JZRoJqe7BwsJwwWA2o1kKx7vbTH\"]}},\"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/**\n * @title Ownable\n * @author DODO Breeder\n *\n * @notice Ownership related functions\n */\ncontract Ownable {\n address public _OWNER_;\n address public _NEW_OWNER_;\n\n // ============ Events ============\n\n event OwnershipTransferPrepared(address indexed previousOwner, address indexed newOwner);\n\n event OwnershipTransferred(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() internal {\n _OWNER_ = msg.sender;\n emit OwnershipTransferred(address(0), _OWNER_);\n }\n\n function transferOwnership(address newOwner) external onlyOwner {\n require(newOwner != address(0), \"INVALID_OWNER\");\n emit OwnershipTransferPrepared(_OWNER_, newOwner);\n _NEW_OWNER_ = newOwner;\n }\n\n function claimOwnership() external {\n require(msg.sender == _NEW_OWNER_, \"INVALID_CLAIM\");\n emit OwnershipTransferred(_OWNER_, _NEW_OWNER_);\n _OWNER_ = _NEW_OWNER_;\n _NEW_OWNER_ = address(0);\n }\n}\n",
"sourcePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol",
"ast": {
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol",
"exportedSymbols": {
"Ownable": [
11271
]
},
"id": 11272,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11168,
"literals": [
"solidity",
"0.6",
".9"
],
"nodeType": "PragmaDirective",
"src": "78:22:38"
},
{
"id": 11169,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "101:33:38"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 11170,
"nodeType": "StructuredDocumentation",
"src": "136:91:38",
"text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions"
},
"fullyImplemented": true,
"id": 11271,
"linearizedBaseContracts": [
11271
],
"name": "Ownable",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "16048bc4",
"id": 11172,
"mutability": "mutable",
"name": "_OWNER_",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11271,
"src": "251:22:38",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11171,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "251:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "8456db15",
"id": 11174,
"mutability": "mutable",
"name": "_NEW_OWNER_",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11271,
"src": "279:26:38",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11173,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "279:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 11180,
"name": "OwnershipTransferPrepared",
"nodeType": "EventDefinition",
"parameters": {
"id": 11179,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11176,
"indexed": true,
"mutability": "mutable",
"name": "previousOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11180,
"src": "385:29:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11175,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "385:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 11178,
"indexed": true,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11180,
"src": "416:24:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11177,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "416:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "384:57:38"
},
"src": "353:89:38"
},
{
"anonymous": false,
"documentation": null,
"id": 11186,
"name": "OwnershipTransferred",
"nodeType": "EventDefinition",
"parameters": {
"id": 11185,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11182,
"indexed": true,
"mutability": "mutable",
"name": "previousOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11186,
"src": "475:29:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11181,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "475:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 11184,
"indexed": true,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11186,
"src": "506:24:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11183,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "506:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "474:57:38"
},
"src": "448:84:38"
},
{
"body": {
"id": 11197,
"nodeType": "Block",
"src": "603:71:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 11192,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 11189,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "621:3:38",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 11190,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "621:10:38",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 11191,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "635:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "621:21:38",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e4f545f4f574e4552",
"id": 11193,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "644:11:38",
"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": 11188,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "613:7:38",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 11194,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "613:43:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11195,
"nodeType": "ExpressionStatement",
"src": "613:43:38"
},
{
"id": 11196,
"nodeType": "PlaceholderStatement",
"src": "666:1:38"
}
]
},
"documentation": null,
"id": 11198,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"overrides": null,
"parameters": {
"id": 11187,
"nodeType": "ParameterList",
"parameters": [],
"src": "600:2:38"
},
"src": "582:92:38",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 11214,
"nodeType": "Block",
"src": "747:93:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 11204,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11201,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "757:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 11202,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "767:3:38",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 11203,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "767:10:38",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "757:20:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11205,
"nodeType": "ExpressionStatement",
"src": "757:20:38"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 11209,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "821:1:38",
"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": 11208,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "813:7:38",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 11207,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "813:7:38",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 11210,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "813:10:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"id": 11211,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "825:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 11206,
"name": "OwnershipTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11186,
"src": "792:20:38",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 11212,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "792:41:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11213,
"nodeType": "EmitStatement",
"src": "787:46:38"
}
]
},
"documentation": null,
"id": 11215,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 11199,
"nodeType": "ParameterList",
"parameters": [],
"src": "735:2:38"
},
"returnParameters": {
"id": 11200,
"nodeType": "ParameterList",
"parameters": [],
"src": "747:0:38"
},
"scope": 11271,
"src": "724:116:38",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 11241,
"nodeType": "Block",
"src": "910:156:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 11228,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 11223,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11217,
"src": "928:8:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 11226,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "948:1:38",
"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": 11225,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "940:7:38",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 11224,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "940:7:38",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 11227,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "940:10:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "928:22:38",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "494e56414c49445f4f574e4552",
"id": 11229,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "952:15:38",
"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": 11222,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "920:7:38",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 11230,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "920:48:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11231,
"nodeType": "ExpressionStatement",
"src": "920:48:38"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 11233,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "1009:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 11234,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11217,
"src": "1018:8:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 11232,
"name": "OwnershipTransferPrepared",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11180,
"src": "983:25:38",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 11235,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "983:44:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11236,
"nodeType": "EmitStatement",
"src": "978:49:38"
},
{
"expression": {
"argumentTypes": null,
"id": 11239,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11237,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1037:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 11238,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11217,
"src": "1051:8:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1037:22:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11240,
"nodeType": "ExpressionStatement",
"src": "1037:22:38"
}
]
},
"documentation": null,
"functionSelector": "f2fde38b",
"id": 11242,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 11220,
"modifierName": {
"argumentTypes": null,
"id": 11219,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11198,
"src": "900:9:38",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "900:9:38"
}
],
"name": "transferOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 11218,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11217,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11242,
"src": "873:16:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11216,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "873:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "872:18:38"
},
"returnParameters": {
"id": 11221,
"nodeType": "ParameterList",
"parameters": [],
"src": "910:0:38"
},
"scope": 11271,
"src": "846:220:38",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 11269,
"nodeType": "Block",
"src": "1107:190:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 11249,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 11246,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "1125:3:38",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 11247,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1125:10:38",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 11248,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1139:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1125:25:38",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "494e56414c49445f434c41494d",
"id": 11250,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1152:15:38",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b",
"typeString": "literal_string \"INVALID_CLAIM\""
},
"value": "INVALID_CLAIM"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b",
"typeString": "literal_string \"INVALID_CLAIM\""
}
],
"id": 11245,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "1117:7:38",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 11251,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1117:51:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11252,
"nodeType": "ExpressionStatement",
"src": "1117:51:38"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 11254,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "1204:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 11255,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1213:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 11253,
"name": "OwnershipTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11186,
"src": "1183:20:38",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 11256,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1183:42:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11257,
"nodeType": "EmitStatement",
"src": "1178:47:38"
},
{
"expression": {
"argumentTypes": null,
"id": 11260,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11258,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "1235:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 11259,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1245:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1235:21:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11261,
"nodeType": "ExpressionStatement",
"src": "1235:21:38"
},
{
"expression": {
"argumentTypes": null,
"id": 11267,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11262,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1266:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 11265,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1288:1:38",
"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": 11264,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1280:7:38",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 11263,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1280:7:38",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 11266,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1280:10:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "1266:24:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11268,
"nodeType": "ExpressionStatement",
"src": "1266:24:38"
}
]
},
"documentation": null,
"functionSelector": "4e71e0c8",
"id": 11270,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "claimOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 11243,
"nodeType": "ParameterList",
"parameters": [],
"src": "1095:2:38"
},
"returnParameters": {
"id": 11244,
"nodeType": "ParameterList",
"parameters": [],
"src": "1107:0:38"
},
"scope": 11271,
"src": "1072:225:38",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 11272,
"src": "228:1071:38"
}
],
"src": "78:1222:38"
},
"legacyAST": {
"absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/Ownable.sol",
"exportedSymbols": {
"Ownable": [
11271
]
},
"id": 11272,
"license": "Apache-2.0",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 11168,
"literals": [
"solidity",
"0.6",
".9"
],
"nodeType": "PragmaDirective",
"src": "78:22:38"
},
{
"id": 11169,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "101:33:38"
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 11170,
"nodeType": "StructuredDocumentation",
"src": "136:91:38",
"text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions"
},
"fullyImplemented": true,
"id": 11271,
"linearizedBaseContracts": [
11271
],
"name": "Ownable",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"functionSelector": "16048bc4",
"id": 11172,
"mutability": "mutable",
"name": "_OWNER_",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11271,
"src": "251:22:38",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11171,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "251:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"functionSelector": "8456db15",
"id": 11174,
"mutability": "mutable",
"name": "_NEW_OWNER_",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11271,
"src": "279:26:38",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11173,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "279:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 11180,
"name": "OwnershipTransferPrepared",
"nodeType": "EventDefinition",
"parameters": {
"id": 11179,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11176,
"indexed": true,
"mutability": "mutable",
"name": "previousOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11180,
"src": "385:29:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11175,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "385:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 11178,
"indexed": true,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11180,
"src": "416:24:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11177,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "416:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "384:57:38"
},
"src": "353:89:38"
},
{
"anonymous": false,
"documentation": null,
"id": 11186,
"name": "OwnershipTransferred",
"nodeType": "EventDefinition",
"parameters": {
"id": 11185,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11182,
"indexed": true,
"mutability": "mutable",
"name": "previousOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11186,
"src": "475:29:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11181,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "475:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 11184,
"indexed": true,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11186,
"src": "506:24:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11183,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "506:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "474:57:38"
},
"src": "448:84:38"
},
{
"body": {
"id": 11197,
"nodeType": "Block",
"src": "603:71:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 11192,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 11189,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "621:3:38",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 11190,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "621:10:38",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 11191,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "635:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "621:21:38",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "4e4f545f4f574e4552",
"id": 11193,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "644:11:38",
"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": 11188,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "613:7:38",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 11194,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "613:43:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11195,
"nodeType": "ExpressionStatement",
"src": "613:43:38"
},
{
"id": 11196,
"nodeType": "PlaceholderStatement",
"src": "666:1:38"
}
]
},
"documentation": null,
"id": 11198,
"name": "onlyOwner",
"nodeType": "ModifierDefinition",
"overrides": null,
"parameters": {
"id": 11187,
"nodeType": "ParameterList",
"parameters": [],
"src": "600:2:38"
},
"src": "582:92:38",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 11214,
"nodeType": "Block",
"src": "747:93:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 11204,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11201,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "757:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 11202,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "767:3:38",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 11203,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "767:10:38",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "757:20:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11205,
"nodeType": "ExpressionStatement",
"src": "757:20:38"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 11209,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "821:1:38",
"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": 11208,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "813:7:38",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 11207,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "813:7:38",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 11210,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "813:10:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"id": 11211,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "825:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 11206,
"name": "OwnershipTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11186,
"src": "792:20:38",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 11212,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "792:41:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11213,
"nodeType": "EmitStatement",
"src": "787:46:38"
}
]
},
"documentation": null,
"id": 11215,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 11199,
"nodeType": "ParameterList",
"parameters": [],
"src": "735:2:38"
},
"returnParameters": {
"id": 11200,
"nodeType": "ParameterList",
"parameters": [],
"src": "747:0:38"
},
"scope": 11271,
"src": "724:116:38",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 11241,
"nodeType": "Block",
"src": "910:156:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 11228,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 11223,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11217,
"src": "928:8:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 11226,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "948:1:38",
"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": 11225,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "940:7:38",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 11224,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "940:7:38",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 11227,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "940:10:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "928:22:38",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "494e56414c49445f4f574e4552",
"id": 11229,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "952:15:38",
"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": 11222,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "920:7:38",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 11230,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "920:48:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11231,
"nodeType": "ExpressionStatement",
"src": "920:48:38"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 11233,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "1009:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 11234,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11217,
"src": "1018:8:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 11232,
"name": "OwnershipTransferPrepared",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11180,
"src": "983:25:38",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 11235,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "983:44:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11236,
"nodeType": "EmitStatement",
"src": "978:49:38"
},
{
"expression": {
"argumentTypes": null,
"id": 11239,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11237,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1037:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 11238,
"name": "newOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11217,
"src": "1051:8:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1037:22:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11240,
"nodeType": "ExpressionStatement",
"src": "1037:22:38"
}
]
},
"documentation": null,
"functionSelector": "f2fde38b",
"id": 11242,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": null,
"id": 11220,
"modifierName": {
"argumentTypes": null,
"id": 11219,
"name": "onlyOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11198,
"src": "900:9:38",
"typeDescriptions": {
"typeIdentifier": "t_modifier$__$",
"typeString": "modifier ()"
}
},
"nodeType": "ModifierInvocation",
"src": "900:9:38"
}
],
"name": "transferOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 11218,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 11217,
"mutability": "mutable",
"name": "newOwner",
"nodeType": "VariableDeclaration",
"overrides": null,
"scope": 11242,
"src": "873:16:38",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 11216,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "873:7:38",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "872:18:38"
},
"returnParameters": {
"id": 11221,
"nodeType": "ParameterList",
"parameters": [],
"src": "910:0:38"
},
"scope": 11271,
"src": "846:220:38",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"body": {
"id": 11269,
"nodeType": "Block",
"src": "1107:190:38",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 11249,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 11246,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -15,
"src": "1125:3:38",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 11247,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "sender",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1125:10:38",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"nodeType": "BinaryOperation",
"operator": "==",
"rightExpression": {
"argumentTypes": null,
"id": 11248,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1139:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1125:25:38",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
{
"argumentTypes": null,
"hexValue": "494e56414c49445f434c41494d",
"id": 11250,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1152:15:38",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b",
"typeString": "literal_string \"INVALID_CLAIM\""
},
"value": "INVALID_CLAIM"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bool",
"typeString": "bool"
},
{
"typeIdentifier": "t_stringliteral_1a7d37d176cef23e7f8e2f25c843c5298bb47032880ff77a8bf2eecb0d19b22b",
"typeString": "literal_string \"INVALID_CLAIM\""
}
],
"id": 11245,
"name": "require",
"nodeType": "Identifier",
"overloadedDeclarations": [
-18,
-18
],
"referencedDeclaration": -18,
"src": "1117:7:38",
"typeDescriptions": {
"typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
"typeString": "function (bool,string memory) pure"
}
},
"id": 11251,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1117:51:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11252,
"nodeType": "ExpressionStatement",
"src": "1117:51:38"
},
{
"eventCall": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 11254,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "1204:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"argumentTypes": null,
"id": 11255,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1213:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 11253,
"name": "OwnershipTransferred",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11186,
"src": "1183:20:38",
"typeDescriptions": {
"typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$",
"typeString": "function (address,address)"
}
},
"id": 11256,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1183:42:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 11257,
"nodeType": "EmitStatement",
"src": "1178:47:38"
},
{
"expression": {
"argumentTypes": null,
"id": 11260,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11258,
"name": "_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11172,
"src": "1235:7:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 11259,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1245:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"src": "1235:21:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11261,
"nodeType": "ExpressionStatement",
"src": "1235:21:38"
},
{
"expression": {
"argumentTypes": null,
"id": 11267,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 11262,
"name": "_NEW_OWNER_",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 11174,
"src": "1266:11:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"hexValue": "30",
"id": 11265,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1288:1:38",
"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": 11264,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1280:7:38",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 11263,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1280:7:38",
"typeDescriptions": {
"typeIdentifier": null,
"typeString": null
}
}
},
"id": 11266,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1280:10:38",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
"src": "1266:24:38",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 11268,
"nodeType": "ExpressionStatement",
"src": "1266:24:38"
}
]
},
"documentation": null,
"functionSelector": "4e71e0c8",
"id": 11270,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "claimOwnership",
"nodeType": "FunctionDefinition",
"overrides": null,
"parameters": {
"id": 11243,
"nodeType": "ParameterList",
"parameters": [],
"src": "1095:2:38"
},
"returnParameters": {
"id": 11244,
"nodeType": "ParameterList",
"parameters": [],
"src": "1107:0:38"
},
"scope": 11271,
"src": "1072:225:38",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 11272,
"src": "228:1071:38"
}
],
"src": "78:1222:38"
},
"compiler": {
"name": "solc",
"version": "0.6.9+commit.3e3065ac.Emscripten.clang"
},
"networks": {},
"schemaVersion": "3.2.3",
"updatedAt": "2020-11-06T08:03:35.722Z",
"devdoc": {
"author": "DODO Breeder",
"methods": {},
"title": "Ownable"
},
"userdoc": {
"methods": {},
"notice": "Ownership related functions"
}
}