{ "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" } }