{ "contractName": "InitializableOwnable", "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/InitializableOwnable.sol\":\"InitializableOwnable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol\":{\"keccak256\":\"0xf462d86a85221f424c5a40f3c0d4a699c72a61b31ed07091ffb0e0b28b3cd137\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d92b79f4527b3d7812395c41e5d0786309a121b99af3bff5cd7663f7255d335\",\"dweb:/ipfs/QmYkQANWtKsJNHKeD6PrtUFeC3D6uWAxhXjB97eBHwqtzK\"]}},\"version\":1}", "bytecode": "0x608060405234801561001057600080fd5b506102dd806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806316048bc4146100515780634e71e0c81461006f5780638456db1514610079578063f2fde38b14610081575b600080fd5b610059610094565b6040516100669190610222565b60405180910390f35b6100776100a3565b005b61005961013a565b61007761008f3660046101f4565b610149565b6000546001600160a01b031681565b6001546001600160a01b031633146100d65760405162461bcd60e51b81526004016100cd90610236565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146101735760405162461bcd60e51b81526004016100cd90610284565b6001600160a01b0381166101995760405162461bcd60e51b81526004016100cd9061025d565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610205578081fd5b81356001600160a01b038116811461021b578182fd5b9392505050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b60408201526060019056fea26469706673582212208d20209ac182c3ef10b045c8d7466fe6ad34fd6712457f5b3fe9d64acdfe2ef464736f6c63430006090033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806316048bc4146100515780634e71e0c81461006f5780638456db1514610079578063f2fde38b14610081575b600080fd5b610059610094565b6040516100669190610222565b60405180910390f35b6100776100a3565b005b61005961013a565b61007761008f3660046101f4565b610149565b6000546001600160a01b031681565b6001546001600160a01b031633146100d65760405162461bcd60e51b81526004016100cd90610236565b60405180910390fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b6000546001600160a01b031633146101735760405162461bcd60e51b81526004016100cd90610284565b6001600160a01b0381166101995760405162461bcd60e51b81526004016100cd9061025d565b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610205578081fd5b81356001600160a01b038116811461021b578182fd5b9392505050565b6001600160a01b0391909116815260200190565b6020808252600d908201526c494e56414c49445f434c41494d60981b604082015260600190565b6020808252600d908201526c24a72b20a624a22fa7aba722a960991b604082015260600190565b6020808252600990820152682727aa2fa7aba722a960b91b60408201526060019056fea26469706673582212208d20209ac182c3ef10b045c8d7466fe6ad34fd6712457f5b3fe9d64acdfe2ef464736f6c63430006090033", "immutableReferences": {}, "sourceMap": "228:962:37:-:0;;;;;;;;;;;;;;;;;;;", "deployedSourceMap": "228:962:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:22;;;:::i;:::-;;;;;;;;;;;;;;;;963:225;;;:::i;:::-;;292:26;;;:::i;737:220::-;;;;;;;;;:::i;264:22::-;;;-1:-1:-1;;;;;264:22:37;;:::o;963:225::-;1030:11;;-1:-1:-1;;;;;1030:11:37;1016:10;:25;1008:51;;;;-1:-1:-1;;;1008:51:37;;;;;;;;;;;;;;;;;1104:11;;;1095:7;;1074:42;;-1:-1:-1;;;;;1104:11:37;;;;1095:7;;;;1074:42;;;1136:11;;;;1126:21;;-1:-1:-1;;;;;;1126:21:37;;;-1:-1:-1;;;;;1136:11:37;;1126:21;;;;1157:24;;;963:225::o;292:26::-;;;-1:-1:-1;;;;;292:26:37;;:::o;737:220::-;648:7;;-1:-1:-1;;;;;648:7:37;634:10;:21;626:43;;;;-1:-1:-1;;;626:43:37;;;;;;;;;-1:-1:-1;;;;;819:22:37;::::1;811:48;;;;-1:-1:-1::0;;;811:48:37::1;;;;;;;;;900:7;::::0;;874:44:::1;::::0;-1:-1:-1;;;;;874:44:37;;::::1;::::0;900:7;::::1;::::0;874:44:::1;::::0;::::1;928:11;:22:::0;;-1:-1:-1;;;;;;928:22:37::1;-1:-1:-1::0;;;;;928:22:37;;;::::1;::::0;;;::::1;::::0;;737:220::o;142:241:-1:-;;246:2;234:9;225:7;221:23;217:32;214:2;;;-1:-1;;252:12;214:2;72:20;;-1:-1;;;;;3301:54;;3426:35;;3416:2;;-1:-1;;3465:12;3416:2;304:63;208:175;-1:-1;;;208:175;1471:222;-1:-1;;;;;3301:54;;;;461:37;;1598:2;1583:18;;1569:124;1700:416;1900:2;1914:47;;;735:2;1885:18;;;3073:19;-1:-1;;;3113:14;;;751:36;806:12;;;1871:245;2123:416;2323:2;2337:47;;;1057:2;2308:18;;;3073:19;-1:-1;;;3113:14;;;1073:36;1128:12;;;2294:245;2546:416;2746:2;2760:47;;;1379:1;2731:18;;;3073:19;-1:-1;;;3113:14;;;1394:32;1445:12;;;2717:245", "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 InitializableOwnable {\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 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/InitializableOwnable.sol", "ast": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol", "exportedSymbols": { "InitializableOwnable": [ 11166 ] }, "id": 11167, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 11080, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:37" }, { "id": 11081, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:37" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 11082, "nodeType": "StructuredDocumentation", "src": "136:91:37", "text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions" }, "fullyImplemented": true, "id": 11166, "linearizedBaseContracts": [ 11166 ], "name": "InitializableOwnable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "16048bc4", "id": 11084, "mutability": "mutable", "name": "_OWNER_", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11166, "src": "264:22:37", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11083, "name": "address", "nodeType": "ElementaryTypeName", "src": "264:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "8456db15", "id": 11086, "mutability": "mutable", "name": "_NEW_OWNER_", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11166, "src": "292:26:37", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11085, "name": "address", "nodeType": "ElementaryTypeName", "src": "292:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "anonymous": false, "documentation": null, "id": 11092, "name": "OwnershipTransferPrepared", "nodeType": "EventDefinition", "parameters": { "id": 11091, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11088, "indexed": true, "mutability": "mutable", "name": "previousOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11092, "src": "398:29:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11087, "name": "address", "nodeType": "ElementaryTypeName", "src": "398:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11090, "indexed": true, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11092, "src": "429:24:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11089, "name": "address", "nodeType": "ElementaryTypeName", "src": "429:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "397:57:37" }, "src": "366:89:37" }, { "anonymous": false, "documentation": null, "id": 11098, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { "id": 11097, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11094, "indexed": true, "mutability": "mutable", "name": "previousOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11098, "src": "488:29:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11093, "name": "address", "nodeType": "ElementaryTypeName", "src": "488:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11096, "indexed": true, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11098, "src": "519:24:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11095, "name": "address", "nodeType": "ElementaryTypeName", "src": "519:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "487:57:37" }, "src": "461:84:37" }, { "body": { "id": 11109, "nodeType": "Block", "src": "616:71:37", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 11104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 11101, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "634:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 11102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "634:10:37", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 11103, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "648:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "634:21:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f545f4f574e4552", "id": 11105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "657:11:37", "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": 11100, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "626:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 11106, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "626:43:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11107, "nodeType": "ExpressionStatement", "src": "626:43:37" }, { "id": 11108, "nodeType": "PlaceholderStatement", "src": "679:1:37" } ] }, "documentation": null, "id": 11110, "name": "onlyOwner", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { "id": 11099, "nodeType": "ParameterList", "parameters": [], "src": "613:2:37" }, "src": "595:92:37", "virtual": false, "visibility": "internal" }, { "body": { "id": 11136, "nodeType": "Block", "src": "801:156:37", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 11123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 11118, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11112, "src": "819:8:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 11121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "839:1:37", "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": 11120, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "831:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 11119, "name": "address", "nodeType": "ElementaryTypeName", "src": "831:7:37", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, "id": 11122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "831:10:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "819:22:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4f574e4552", "id": 11124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "843:15:37", "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": 11117, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "811:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 11125, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "811:48:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11126, "nodeType": "ExpressionStatement", "src": "811:48:37" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11128, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "900:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 11129, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11112, "src": "909:8:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 11127, "name": "OwnershipTransferPrepared", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11092, "src": "874:25:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 11130, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "874:44:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11131, "nodeType": "EmitStatement", "src": "869:49:37" }, { "expression": { "argumentTypes": null, "id": 11134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 11132, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "928:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 11133, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11112, "src": "942:8:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "928:22:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 11135, "nodeType": "ExpressionStatement", "src": "928:22:37" } ] }, "documentation": null, "functionSelector": "f2fde38b", "id": 11137, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 11115, "modifierName": { "argumentTypes": null, "id": 11114, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11110, "src": "791:9:37", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "791:9:37" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11113, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11112, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11137, "src": "764:16:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11111, "name": "address", "nodeType": "ElementaryTypeName", "src": "764:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "763:18:37" }, "returnParameters": { "id": 11116, "nodeType": "ParameterList", "parameters": [], "src": "801:0:37" }, "scope": 11166, "src": "737:220:37", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { "id": 11164, "nodeType": "Block", "src": "998:190:37", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 11144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 11141, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1016:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 11142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1016:10:37", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 11143, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1030:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1016:25:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434c41494d", "id": 11145, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1043:15:37", "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": 11140, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1008:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 11146, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1008:51:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11147, "nodeType": "ExpressionStatement", "src": "1008:51:37" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11149, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "1095:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 11150, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1104:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 11148, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11098, "src": "1074:20:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 11151, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1074:42:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11152, "nodeType": "EmitStatement", "src": "1069:47:37" }, { "expression": { "argumentTypes": null, "id": 11155, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 11153, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "1126:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 11154, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1136:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1126:21:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 11156, "nodeType": "ExpressionStatement", "src": "1126:21:37" }, { "expression": { "argumentTypes": null, "id": 11162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 11157, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1157:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 11160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1179:1:37", "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": 11159, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1171:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 11158, "name": "address", "nodeType": "ElementaryTypeName", "src": "1171:7:37", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, "id": 11161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1171:10:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "1157:24:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 11163, "nodeType": "ExpressionStatement", "src": "1157:24:37" } ] }, "documentation": null, "functionSelector": "4e71e0c8", "id": 11165, "implemented": true, "kind": "function", "modifiers": [], "name": "claimOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11138, "nodeType": "ParameterList", "parameters": [], "src": "986:2:37" }, "returnParameters": { "id": 11139, "nodeType": "ParameterList", "parameters": [], "src": "998:0:37" }, "scope": 11166, "src": "963:225:37", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 11167, "src": "228:962:37" } ], "src": "78:1113:37" }, "legacyAST": { "absolutePath": "/Users/owen/Desktop/dodo/dodo-smart-contract/contracts/lib/InitializableOwnable.sol", "exportedSymbols": { "InitializableOwnable": [ 11166 ] }, "id": 11167, "license": "Apache-2.0", "nodeType": "SourceUnit", "nodes": [ { "id": 11080, "literals": [ "solidity", "0.6", ".9" ], "nodeType": "PragmaDirective", "src": "78:22:37" }, { "id": 11081, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "101:33:37" }, { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 11082, "nodeType": "StructuredDocumentation", "src": "136:91:37", "text": " @title Ownable\n @author DODO Breeder\n @notice Ownership related functions" }, "fullyImplemented": true, "id": 11166, "linearizedBaseContracts": [ 11166 ], "name": "InitializableOwnable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "16048bc4", "id": 11084, "mutability": "mutable", "name": "_OWNER_", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11166, "src": "264:22:37", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11083, "name": "address", "nodeType": "ElementaryTypeName", "src": "264:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "constant": false, "functionSelector": "8456db15", "id": 11086, "mutability": "mutable", "name": "_NEW_OWNER_", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11166, "src": "292:26:37", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11085, "name": "address", "nodeType": "ElementaryTypeName", "src": "292:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "anonymous": false, "documentation": null, "id": 11092, "name": "OwnershipTransferPrepared", "nodeType": "EventDefinition", "parameters": { "id": 11091, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11088, "indexed": true, "mutability": "mutable", "name": "previousOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11092, "src": "398:29:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11087, "name": "address", "nodeType": "ElementaryTypeName", "src": "398:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11090, "indexed": true, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11092, "src": "429:24:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11089, "name": "address", "nodeType": "ElementaryTypeName", "src": "429:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "397:57:37" }, "src": "366:89:37" }, { "anonymous": false, "documentation": null, "id": 11098, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { "id": 11097, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11094, "indexed": true, "mutability": "mutable", "name": "previousOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11098, "src": "488:29:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11093, "name": "address", "nodeType": "ElementaryTypeName", "src": "488:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 11096, "indexed": true, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11098, "src": "519:24:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11095, "name": "address", "nodeType": "ElementaryTypeName", "src": "519:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "487:57:37" }, "src": "461:84:37" }, { "body": { "id": 11109, "nodeType": "Block", "src": "616:71:37", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 11104, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 11101, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "634:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 11102, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "634:10:37", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 11103, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "648:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "634:21:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4e4f545f4f574e4552", "id": 11105, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "657:11:37", "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": 11100, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "626:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 11106, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "626:43:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11107, "nodeType": "ExpressionStatement", "src": "626:43:37" }, { "id": 11108, "nodeType": "PlaceholderStatement", "src": "679:1:37" } ] }, "documentation": null, "id": 11110, "name": "onlyOwner", "nodeType": "ModifierDefinition", "overrides": null, "parameters": { "id": 11099, "nodeType": "ParameterList", "parameters": [], "src": "613:2:37" }, "src": "595:92:37", "virtual": false, "visibility": "internal" }, { "body": { "id": 11136, "nodeType": "Block", "src": "801:156:37", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 11123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 11118, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11112, "src": "819:8:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 11121, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "839:1:37", "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": 11120, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "831:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 11119, "name": "address", "nodeType": "ElementaryTypeName", "src": "831:7:37", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, "id": 11122, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "831:10:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "819:22:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f4f574e4552", "id": 11124, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "843:15:37", "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": 11117, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "811:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 11125, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "811:48:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11126, "nodeType": "ExpressionStatement", "src": "811:48:37" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11128, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "900:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 11129, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11112, "src": "909:8:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 11127, "name": "OwnershipTransferPrepared", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11092, "src": "874:25:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 11130, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "874:44:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11131, "nodeType": "EmitStatement", "src": "869:49:37" }, { "expression": { "argumentTypes": null, "id": 11134, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 11132, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "928:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 11133, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11112, "src": "942:8:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "928:22:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 11135, "nodeType": "ExpressionStatement", "src": "928:22:37" } ] }, "documentation": null, "functionSelector": "f2fde38b", "id": 11137, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 11115, "modifierName": { "argumentTypes": null, "id": 11114, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11110, "src": "791:9:37", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "791:9:37" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11113, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 11112, "mutability": "mutable", "name": "newOwner", "nodeType": "VariableDeclaration", "overrides": null, "scope": 11137, "src": "764:16:37", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 11111, "name": "address", "nodeType": "ElementaryTypeName", "src": "764:7:37", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "763:18:37" }, "returnParameters": { "id": 11116, "nodeType": "ParameterList", "parameters": [], "src": "801:0:37" }, "scope": 11166, "src": "737:220:37", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { "id": 11164, "nodeType": "Block", "src": "998:190:37", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 11144, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 11141, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1016:3:37", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 11142, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "1016:10:37", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 11143, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1030:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1016:25:37", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "494e56414c49445f434c41494d", "id": 11145, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1043:15:37", "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": 11140, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1008:7:37", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 11146, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1008:51:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11147, "nodeType": "ExpressionStatement", "src": "1008:51:37" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 11149, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "1095:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 11150, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1104:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 11148, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11098, "src": "1074:20:37", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 11151, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1074:42:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 11152, "nodeType": "EmitStatement", "src": "1069:47:37" }, { "expression": { "argumentTypes": null, "id": 11155, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 11153, "name": "_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11084, "src": "1126:7:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 11154, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1136:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1126:21:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 11156, "nodeType": "ExpressionStatement", "src": "1126:21:37" }, { "expression": { "argumentTypes": null, "id": 11162, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 11157, "name": "_NEW_OWNER_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 11086, "src": "1157:11:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 11160, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1179:1:37", "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": 11159, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1171:7:37", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { "id": 11158, "name": "address", "nodeType": "ElementaryTypeName", "src": "1171:7:37", "typeDescriptions": { "typeIdentifier": null, "typeString": null } } }, "id": 11161, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1171:10:37", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "1157:24:37", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 11163, "nodeType": "ExpressionStatement", "src": "1157:24:37" } ] }, "documentation": null, "functionSelector": "4e71e0c8", "id": 11165, "implemented": true, "kind": "function", "modifiers": [], "name": "claimOwnership", "nodeType": "FunctionDefinition", "overrides": null, "parameters": { "id": 11138, "nodeType": "ParameterList", "parameters": [], "src": "986:2:37" }, "returnParameters": { "id": 11139, "nodeType": "ParameterList", "parameters": [], "src": "998:0:37" }, "scope": 11166, "src": "963:225:37", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], "scope": 11167, "src": "228:962:37" } ], "src": "78:1113:37" }, "compiler": { "name": "solc", "version": "0.6.9+commit.3e3065ac.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.2.3", "updatedAt": "2020-11-06T08:03:35.721Z", "devdoc": { "author": "DODO Breeder", "methods": {}, "title": "Ownable" }, "userdoc": { "methods": {}, "notice": "Ownership related functions" } }