{ "contractName": "Ownable", "abi": [ { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "contractName", "type": "string" }, { "name": "migrationId", "type": "string" } ], "name": "isMigrated", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "contractName", "type": "string" }, { "indexed": false, "name": "migrationId", "type": "string" } ], "name": "Migrated", "type": "event" }, { "constant": false, "inputs": [ { "name": "_sender", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061075e806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610067578063c0bac1a8146100be578063c4d66de814610185578063f2fde38b146101c8575b600080fd5b34801561007357600080fd5b5061007c61020b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b5061016b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610231565b604051808215151515815260200191505060405180910390f35b34801561019157600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061031c565b005b3480156101d457600080fd5b50610209600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105da565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561026a5780518252602082019150602081019050602083039250610245565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156102d357805182526020820191506020810190506020830392506102ae565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506103928282610231565b15151561039e57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561044657808201518184015260208101905061042b565b50505050905090810190601f1680156104735780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ac578082015181840152602081019050610491565b50505050905090810190601f1680156104d95780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561052257805182526020820191506020810190506020830392506104fd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561058b5780518252602082019150602081019050602083039250610566565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561067257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820d1f7b77c0c6f6a3cd401dd8673958aaa1c473bce403cdecb2d826c8463c3bfcf0029", "deployedBytecode": "0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610067578063c0bac1a8146100be578063c4d66de814610185578063f2fde38b146101c8575b600080fd5b34801561007357600080fd5b5061007c61020b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100ca57600080fd5b5061016b600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610231565b604051808215151515815260200191505060405180910390f35b34801561019157600080fd5b506101c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061031c565b005b3480156101d457600080fd5b50610209600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105da565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080836040518082805190602001908083835b60208310151561026a5780518252602082019150602081019050602083039250610245565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156102d357805182526020820191506020810190506020830392506102ae565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e300000000000000000000000000000000000000000000000000000008152506103928282610231565b15151561039e57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561044657808201518184015260208101905061042b565b50505050905090810190601f1680156104735780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156104ac578082015181840152602081019050610491565b50505050905090810190601f1680156104d95780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b60208310151561052257805182526020820191506020810190506020830392506104fd565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561058b5780518252602082019150602081019050602083039250610566565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561063657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561067257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820d1f7b77c0c6f6a3cd401dd8673958aaa1c473bce403cdecb2d826c8463c3bfcf0029", "sourceMap": "272:854:25:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;272:854:25;;;;;;;", "deployedSourceMap": "272:854:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;307:20:25;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:140:52;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1950:140:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:104:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;537:104:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;949:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;949:174:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;307:20;;;;;;;;;;;;;:::o;1950:140:52:-;2031:4;2050:8;2059:12;2050:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2050:22:52;;;;;;;;;;;;;;;;;;;;;2073:11;2050:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2050:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2043:42;;1950:140;;;;:::o;537:104:25:-;1004:223:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:37;1094:12;1108:11;1083:10;:37::i;:::-;1082:38;1074:47;;;;;;;;629:7:25;621:5;;:15;;;;;;;;;;;;;;;;;;1139:35:52;1148:12;1162:11;1139:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1139:35:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:4;1180:8;1189:12;1180:22;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1180:22:52;;;;;;;;;;;;;;;;;;;;;1203:11;1180:35;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1180:35:52;;;;;;;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;537:104:25;;;:::o;949:174::-;770:5;;;;;;;;;;;756:19;;:10;:19;;;748:28;;;;;;;;1045:1;1025:22;;:8;:22;;;;1017:31;;;;;;;;1087:8;1059:37;;1080:5;;;;;;;;;;;1059:37;;;;;;;;;;;;1110:8;1102:5;;:16;;;;;;;;;;;;;;;;;;949:174;:::o", "source": "pragma solidity ^0.4.21;\n\nimport \"zos-lib/contracts/migrations/Migratable.sol\";\n\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract Ownable is Migratable {\n address public owner;\n\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n function initialize(address _sender) public isInitializer(\"Ownable\", \"1.9.0\") {\n owner = _sender;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n require(newOwner != address(0));\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n\n}\n", "sourcePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "ast": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "exportedSymbols": { "Ownable": [ 1580 ] }, "id": 1581, "nodeType": "SourceUnit", "nodes": [ { "id": 1518, "literals": [ "solidity", "^", "0.4", ".21" ], "nodeType": "PragmaDirective", "src": "0:24:25" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", "id": 1519, "nodeType": "ImportDirective", "scope": 1581, "sourceUnit": 4770, "src": "26:53:25", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1520, "name": "Migratable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4769, "src": "292:10:25", "typeDescriptions": { "typeIdentifier": "t_contract$_Migratable_$4769", "typeString": "contract Migratable" } }, "id": 1521, "nodeType": "InheritanceSpecifier", "src": "292:10:25" } ], "contractDependencies": [ 4769 ], "contractKind": "contract", "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", "fullyImplemented": true, "id": 1580, "linearizedBaseContracts": [ 1580, 4769 ], "name": "Ownable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1523, "name": "owner", "nodeType": "VariableDeclaration", "scope": 1580, "src": "307:20:25", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1522, "name": "address", "nodeType": "ElementaryTypeName", "src": "307:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "anonymous": false, "documentation": null, "id": 1529, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { "id": 1528, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1525, "indexed": true, "name": "previousOwner", "nodeType": "VariableDeclaration", "scope": 1529, "src": "360:29:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1524, "name": "address", "nodeType": "ElementaryTypeName", "src": "360:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1527, "indexed": true, "name": "newOwner", "nodeType": "VariableDeclaration", "scope": 1529, "src": "391:24:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1526, "name": "address", "nodeType": "ElementaryTypeName", "src": "391:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "359:57:25" }, "src": "333:84:25" }, { "body": { "id": 1542, "nodeType": "Block", "src": "615:26:25", "statements": [ { "expression": { "argumentTypes": null, "id": 1540, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1538, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "621:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1539, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1531, "src": "629:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "621:15:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 1541, "nodeType": "ExpressionStatement", "src": "621:15:25" } ] }, "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", "id": 1543, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "hexValue": "4f776e61626c65", "id": 1534, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "595:9:25", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6df9baf4dc8c02086c72903e4bba587f1a261a8542aa45344809b4583161a59e", "typeString": "literal_string \"Ownable\"" }, "value": "Ownable" }, { "argumentTypes": null, "hexValue": "312e392e30", "id": 1535, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "606:7:25", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", "typeString": "literal_string \"1.9.0\"" }, "value": "1.9.0" } ], "id": 1536, "modifierName": { "argumentTypes": null, "id": 1533, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4716, "src": "581:13:25", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", "src": "581:33:25" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 1532, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1531, "name": "_sender", "nodeType": "VariableDeclaration", "scope": 1543, "src": "557:15:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1530, "name": "address", "nodeType": "ElementaryTypeName", "src": "557:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "556:17:25" }, "payable": false, "returnParameters": { "id": 1537, "nodeType": "ParameterList", "parameters": [], "src": "615:0:25" }, "scope": 1580, "src": "537:104:25", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1553, "nodeType": "Block", "src": "742:46:25", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1546, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4784, "src": "756:3:25", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 1547, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "756:10:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 1548, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "770:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "756:19:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1545, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4787, 4788 ], "referencedDeclaration": 4787, "src": "748:7:25", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1550, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "748:28:25", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1551, "nodeType": "ExpressionStatement", "src": "748:28:25" }, { "id": 1552, "nodeType": "PlaceholderStatement", "src": "782:1:25" } ] }, "documentation": "@dev Throws if called by any account other than the owner.", "id": 1554, "name": "onlyOwner", "nodeType": "ModifierDefinition", "parameters": { "id": 1544, "nodeType": "ParameterList", "parameters": [], "src": "739:2:25" }, "src": "721:67:25", "visibility": "internal" }, { "body": { "id": 1578, "nodeType": "Block", "src": "1011:112:25", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1562, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1556, "src": "1025:8:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 1564, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1045:1:25", "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": 1563, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1037:7:25", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 1565, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1037:10:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1025:22:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1561, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4787, 4788 ], "referencedDeclaration": 4787, "src": "1017:7:25", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1017:31:25", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1568, "nodeType": "ExpressionStatement", "src": "1017:31:25" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1570, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "1080:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1571, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1556, "src": "1087:8:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 1569, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1529, "src": "1059:20:25", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 1572, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1059:37:25", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1573, "nodeType": "EmitStatement", "src": "1054:42:25" }, { "expression": { "argumentTypes": null, "id": 1576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1574, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "1102:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1575, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1556, "src": "1110:8:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1102:16:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 1577, "nodeType": "ExpressionStatement", "src": "1102:16:25" } ] }, "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", "id": 1579, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1559, "modifierName": { "argumentTypes": null, "id": 1558, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1554, "src": "1001:9:25", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "1001:9:25" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "parameters": { "id": 1557, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1556, "name": "newOwner", "nodeType": "VariableDeclaration", "scope": 1579, "src": "976:16:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1555, "name": "address", "nodeType": "ElementaryTypeName", "src": "976:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "975:18:25" }, "payable": false, "returnParameters": { "id": 1560, "nodeType": "ParameterList", "parameters": [], "src": "1011:0:25" }, "scope": 1580, "src": "949:174:25", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 1581, "src": "272:854:25" } ], "src": "0:1127:25" }, "legacyAST": { "absolutePath": "/home/spalladino/Projects/openzeppelin-zos/contracts/ownership/Ownable.sol", "exportedSymbols": { "Ownable": [ 1580 ] }, "id": 1581, "nodeType": "SourceUnit", "nodes": [ { "id": 1518, "literals": [ "solidity", "^", "0.4", ".21" ], "nodeType": "PragmaDirective", "src": "0:24:25" }, { "absolutePath": "zos-lib/contracts/migrations/Migratable.sol", "file": "zos-lib/contracts/migrations/Migratable.sol", "id": 1519, "nodeType": "ImportDirective", "scope": 1581, "sourceUnit": 4770, "src": "26:53:25", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 1520, "name": "Migratable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4769, "src": "292:10:25", "typeDescriptions": { "typeIdentifier": "t_contract$_Migratable_$4769", "typeString": "contract Migratable" } }, "id": 1521, "nodeType": "InheritanceSpecifier", "src": "292:10:25" } ], "contractDependencies": [ 4769 ], "contractKind": "contract", "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", "fullyImplemented": true, "id": 1580, "linearizedBaseContracts": [ 1580, 4769 ], "name": "Ownable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 1523, "name": "owner", "nodeType": "VariableDeclaration", "scope": 1580, "src": "307:20:25", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1522, "name": "address", "nodeType": "ElementaryTypeName", "src": "307:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "anonymous": false, "documentation": null, "id": 1529, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { "id": 1528, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1525, "indexed": true, "name": "previousOwner", "nodeType": "VariableDeclaration", "scope": 1529, "src": "360:29:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1524, "name": "address", "nodeType": "ElementaryTypeName", "src": "360:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1527, "indexed": true, "name": "newOwner", "nodeType": "VariableDeclaration", "scope": 1529, "src": "391:24:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1526, "name": "address", "nodeType": "ElementaryTypeName", "src": "391:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "359:57:25" }, "src": "333:84:25" }, { "body": { "id": 1542, "nodeType": "Block", "src": "615:26:25", "statements": [ { "expression": { "argumentTypes": null, "id": 1540, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1538, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "621:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1539, "name": "_sender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1531, "src": "629:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "621:15:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 1541, "nodeType": "ExpressionStatement", "src": "621:15:25" } ] }, "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", "id": 1543, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": [ { "argumentTypes": null, "hexValue": "4f776e61626c65", "id": 1534, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "595:9:25", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_6df9baf4dc8c02086c72903e4bba587f1a261a8542aa45344809b4583161a59e", "typeString": "literal_string \"Ownable\"" }, "value": "Ownable" }, { "argumentTypes": null, "hexValue": "312e392e30", "id": 1535, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "606:7:25", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_48b337767c221abef259fe87e655d8fa1026fb5e60ec68ad68fa7e00bb7f050c", "typeString": "literal_string \"1.9.0\"" }, "value": "1.9.0" } ], "id": 1536, "modifierName": { "argumentTypes": null, "id": 1533, "name": "isInitializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4716, "src": "581:13:25", "typeDescriptions": { "typeIdentifier": "t_modifier$_t_string_memory_ptr_$_t_string_memory_ptr_$", "typeString": "modifier (string memory,string memory)" } }, "nodeType": "ModifierInvocation", "src": "581:33:25" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 1532, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1531, "name": "_sender", "nodeType": "VariableDeclaration", "scope": 1543, "src": "557:15:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1530, "name": "address", "nodeType": "ElementaryTypeName", "src": "557:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "556:17:25" }, "payable": false, "returnParameters": { "id": 1537, "nodeType": "ParameterList", "parameters": [], "src": "615:0:25" }, "scope": 1580, "src": "537:104:25", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 1553, "nodeType": "Block", "src": "742:46:25", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1549, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1546, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4784, "src": "756:3:25", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 1547, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "756:10:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 1548, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "770:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "756:19:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1545, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4787, 4788 ], "referencedDeclaration": 4787, "src": "748:7:25", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1550, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "748:28:25", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1551, "nodeType": "ExpressionStatement", "src": "748:28:25" }, { "id": 1552, "nodeType": "PlaceholderStatement", "src": "782:1:25" } ] }, "documentation": "@dev Throws if called by any account other than the owner.", "id": 1554, "name": "onlyOwner", "nodeType": "ModifierDefinition", "parameters": { "id": 1544, "nodeType": "ParameterList", "parameters": [], "src": "739:2:25" }, "src": "721:67:25", "visibility": "internal" }, { "body": { "id": 1578, "nodeType": "Block", "src": "1011:112:25", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1566, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "id": 1562, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1556, "src": "1025:8:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 1564, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1045:1:25", "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": 1563, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1037:7:25", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 1565, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1037:10:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1025:22:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 1561, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4787, 4788 ], "referencedDeclaration": 4787, "src": "1017:7:25", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1017:31:25", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1568, "nodeType": "ExpressionStatement", "src": "1017:31:25" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1570, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "1080:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "id": 1571, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1556, "src": "1087:8:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 1569, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1529, "src": "1059:20:25", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 1572, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1059:37:25", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1573, "nodeType": "EmitStatement", "src": "1054:42:25" }, { "expression": { "argumentTypes": null, "id": 1576, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 1574, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1523, "src": "1102:5:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 1575, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1556, "src": "1110:8:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1102:16:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 1577, "nodeType": "ExpressionStatement", "src": "1102:16:25" } ] }, "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", "id": 1579, "implemented": true, "isConstructor": false, "isDeclaredConst": false, "modifiers": [ { "arguments": null, "id": 1559, "modifierName": { "argumentTypes": null, "id": 1558, "name": "onlyOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1554, "src": "1001:9:25", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "1001:9:25" } ], "name": "transferOwnership", "nodeType": "FunctionDefinition", "parameters": { "id": 1557, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1556, "name": "newOwner", "nodeType": "VariableDeclaration", "scope": 1579, "src": "976:16:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 1555, "name": "address", "nodeType": "ElementaryTypeName", "src": "976:7:25", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "975:18:25" }, "payable": false, "returnParameters": { "id": 1560, "nodeType": "ParameterList", "parameters": [], "src": "1011:0:25" }, "scope": 1580, "src": "949:174:25", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 1581, "src": "272:854:25" } ], "src": "0:1127:25" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "2.0.1", "updatedAt": "2018-08-23T14:35:50.628Z" }