UNPKG

@daostack/arc-hive

Version:

A dao's registry

1,030 lines (1,029 loc) 135 kB
{ "contractName": "Ownable", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isOwner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.15+commit.6a57276f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. * This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be aplied to your functions to restrict their use to the owner.\",\"methods\":{\"initialize(address)\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0d4306da5305cb78f09c70c18ec86dbc66f22fa5ade90edc20e1ab88e16d4d10\",\"urls\":[\"bzz-raw://c89dee1b8e96cb83f529b8b5c93be6b420c1913363a3fed01241942f08cc968f\",\"dweb:/ipfs/QmfWWwzg9hah3YwZRFWvAwq91HLjCHkKnxXqP6uLGURUou\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzz-raw://a3f816aa3e6161b4cf882ad34755673848d835f7fb964db49bcef9df14570cef\",\"dweb:/ipfs/QmQACSH1W7pKQnqTAqpuEP8ychp3PvosfnyondLaLE1nVq\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0xf79d9851c085aa8412e87d7a26d3485488fe12538ecb4e317ce41fc1f2c3a16a\",\"urls\":[\"bzz-raw://6af1a35ad6aed2169ce9f44095438b3192cd6066903908f769d5c49a06a0caf8\",\"dweb:/ipfs/QmaH41CwJ7WrMQwSnbfCKuL2pd8bxF7sbGSLPZb6JaHBFF\"]}},\"version\":1}", "bytecode": "0x6080604052610455806100136000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780638f32d59b1461008a578063c4d66de8146100a6578063f2fde38b146100cc575b600080fd5b6100646100f2565b005b61006e610195565b604080516001600160a01b039092168252519081900360200190f35b6100926101a4565b604080519115158252519081900360200190f35b610064600480360360208110156100bc57600080fd5b50356001600160a01b03166101ca565b610064600480360360208110156100e257600080fd5b50356001600160a01b03166102bc565b6100fa6101a4565b61014b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031690565b6033546000906001600160a01b03166101bb610321565b6001600160a01b031614905090565b600054610100900460ff16806101e357506101e3610325565b806101f1575060005460ff16155b61022c5760405162461bcd60e51b815260040180806020018281038252602e8152602001806103f3602e913960400191505060405180910390fd5b600054610100900460ff16158015610257576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156102b8576000805461ff00191690555b5050565b6102c46101a4565b610315576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61031e8161032b565b50565b3390565b303b1590565b6001600160a01b0381166103705760405162461bcd60e51b81526004018080602001828103825260268152602001806103cd6026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a723158208cde8448f5a8d40e7c588e071b7534a10a0075e5720fce1084d50383ca4da02d64736f6c634300050f0032", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780638f32d59b1461008a578063c4d66de8146100a6578063f2fde38b146100cc575b600080fd5b6100646100f2565b005b61006e610195565b604080516001600160a01b039092168252519081900360200190f35b6100926101a4565b604080519115158252519081900360200190f35b610064600480360360208110156100bc57600080fd5b50356001600160a01b03166101ca565b610064600480360360208110156100e257600080fd5b50356001600160a01b03166102bc565b6100fa6101a4565b61014b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b6033546001600160a01b031690565b6033546000906001600160a01b03166101bb610321565b6001600160a01b031614905090565b600054610100900460ff16806101e357506101e3610325565b806101f1575060005460ff16155b61022c5760405162461bcd60e51b815260040180806020018281038252602e8152602001806103f3602e913960400191505060405180910390fd5b600054610100900460ff16158015610257576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156102b8576000805461ff00191690555b5050565b6102c46101a4565b610315576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61031e8161032b565b50565b3390565b303b1590565b6001600160a01b0381166103705760405162461bcd60e51b81526004018080602001828103825260268152602001806103cd6026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b039290921691909117905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a265627a7a723158208cde8448f5a8d40e7c588e071b7534a10a0075e5720fce1084d50383ca4da02d64736f6c634300050f0032", "sourceMap": "477:2026:3:-;;;;;;;;;", "deployedSourceMap": "477:2026:3:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;477:2026:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1746:137;;;:::i;:::-;;959:77;;;:::i;:::-;;;;-1:-1:-1;;;;;959:77:3;;;;;;;;;;;;;;1310:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;741:142;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;741:142:3;-1:-1:-1;;;;;741:142:3;;:::i;2032:107::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2032:107:3;-1:-1:-1;;;;;2032:107:3;;:::i;1746:137::-;1163:9;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;1155:54:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1828:6;;1807:40;;1844:1;;-1:-1:-1;;;;;1828:6:3;;1807:40;;1844:1;;1807:40;1857:6;:19;;-1:-1:-1;;;;;;1857:19:3;;;1746:137::o;959:77::-;1023:6;;-1:-1:-1;;;;;1023:6:3;959:77;:::o;1310:92::-;1389:6;;1350:4;;-1:-1:-1;;;;;1389:6:3;1373:12;:10;:12::i;:::-;-1:-1:-1;;;;;1373:22:3;;1366:29;;1310:92;:::o;741:142::-;1024:12:4;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:4;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;1016:106:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:4;;;;;1225:18;1213:4;1225:18;;;1170:80;806:6:3;:15;;-1:-1:-1;;;;;;806:15:3;-1:-1:-1;;;;;806:15:3;;;;;;;;;;;836:40;;869:6;;;-1:-1:-1;;836:40:3;;-1:-1:-1;;836:40:3;1268:14:4;1264:55;;;1307:5;1292:20;;-1:-1:-1;;1292:20:4;;;1264:55;741:142:3;;:::o;2032:107::-;1163:9;:7;:9::i;:::-;1155:54;;;;;-1:-1:-1;;;1155:54:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2104:28;2123:8;2104:18;:28::i;:::-;2032:107;:::o;791:88:2:-;862:10;791:88;:::o;1409:467:4:-;1842:7;1830:20;1864:7;1409:467;:::o;2240:225:3:-;-1:-1:-1;;;;;2313:22:3;;2305:73;;;;-1:-1:-1;;;2305:73:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2414:6;;2393:38;;-1:-1:-1;;;;;2393:38:3;;;;2414:6;;2393:38;;2414:6;;2393:38;2441:6;:17;;-1:-1:-1;;;;;;2441:17:3;-1:-1:-1;;;;;2441:17:3;;;;;;;;;;2240:225::o", "source": "pragma solidity ^0.5.0;\n\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\n\nimport \"../GSN/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be aplied to your functions to restrict their use to\n * the owner.\n */\ncontract Ownable is Initializable, Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n function initialize(address sender) public initializer {\n _owner = sender;\n emit OwnershipTransferred(address(0), _owner);\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(isOwner(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Returns true if the caller is the current owner.\n */\n function isOwner() public view returns (bool) {\n return _msgSender() == _owner;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * > Note: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public onlyOwner {\n emit OwnershipTransferred(_owner, address(0));\n _owner = address(0);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n */\n function _transferOwnership(address newOwner) internal {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n emit OwnershipTransferred(_owner, newOwner);\n _owner = newOwner;\n }\n\n uint256[50] private ______gap;\n}\n", "sourcePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol", "ast": { "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol", "exportedSymbols": { "Ownable": [ 311 ] }, "id": 312, "nodeType": "SourceUnit", "nodes": [ { "id": 189, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:3" }, { "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol", "file": "@openzeppelin/upgrades/contracts/Initializable.sol", "id": 190, "nodeType": "ImportDirective", "scope": 312, "sourceUnit": 375, "src": "25:60:3", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol", "file": "../GSN/Context.sol", "id": 191, "nodeType": "ImportDirective", "scope": 312, "sourceUnit": 188, "src": "87:28:3", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 192, "name": "Initializable", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 374, "src": "497:13:3", "typeDescriptions": { "typeIdentifier": "t_contract$_Initializable_$374", "typeString": "contract Initializable" } }, "id": 193, "nodeType": "InheritanceSpecifier", "src": "497:13:3" }, { "arguments": null, "baseName": { "contractScope": null, "id": 194, "name": "Context", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 187, "src": "512:7:3", "typeDescriptions": { "typeIdentifier": "t_contract$_Context_$187", "typeString": "contract Context" } }, "id": 195, "nodeType": "InheritanceSpecifier", "src": "512:7:3" } ], "contractDependencies": [ 187, 374 ], "contractKind": "contract", "documentation": "@dev Contract module which provides a basic access control mechanism, where\nthere is an account (an owner) that can be granted exclusive access to\nspecific functions.\n * This module is used through inheritance. It will make available the modifier\n`onlyOwner`, which can be aplied to your functions to restrict their use to\nthe owner.", "fullyImplemented": true, "id": 311, "linearizedBaseContracts": [ 311, 187, 374 ], "name": "Ownable", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 197, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 311, "src": "526:22:3", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 196, "name": "address", "nodeType": "ElementaryTypeName", "src": "526:7:3", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "private" }, { "anonymous": false, "documentation": null, "id": 203, "name": "OwnershipTransferred", "nodeType": "EventDefinition", "parameters": { "id": 202, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 199, "indexed": true, "name": "previousOwner", "nodeType": "VariableDeclaration", "scope": 203, "src": "582:29:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 198, "name": "address", "nodeType": "ElementaryTypeName", "src": "582:7:3", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 201, "indexed": true, "name": "newOwner", "nodeType": "VariableDeclaration", "scope": 203, "src": "613:24:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 200, "name": "address", "nodeType": "ElementaryTypeName", "src": "613:7:3", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "581:57:3" }, "src": "555:84:3" }, { "body": { "id": 221, "nodeType": "Block", "src": "796:87:3", "statements": [ { "expression": { "argumentTypes": null, "id": 212, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 210, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 197, "src": "806:6:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 211, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 205, "src": "815:6:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "806:15:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 213, "nodeType": "ExpressionStatement", "src": "806:15:3" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 216, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "865:1:3", "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": 215, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "857:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 217, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "857:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, { "argumentTypes": null, "id": 218, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 197, "src": "869:6:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" }, { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 214, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 203, "src": "836:20:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 219, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "836:40:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 220, "nodeType": "EmitStatement", "src": "831:45:3" } ] }, "documentation": "@dev Initializes the contract setting the deployer as the initial owner.", "id": 222, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 208, "modifierName": { "argumentTypes": null, "id": 207, "name": "initializer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 355, "src": "784:11:3", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "784:11:3" } ], "name": "initialize", "nodeType": "FunctionDefinition", "parameters": { "id": 206, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 205, "name": "sender", "nodeType": "VariableDeclaration", "scope": 222, "src": "761:14:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 204, "name": "address", "nodeType": "ElementaryTypeName", "src": "761:7:3", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "760:16:3" }, "returnParameters": { "id": 209, "nodeType": "ParameterList", "parameters": [], "src": "796:0:3" }, "scope": 311, "src": "741:142:3", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 229, "nodeType": "Block", "src": "1006:30:3", "statements": [ { "expression": { "argumentTypes": null, "id": 227, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 197, "src": "1023:6:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "functionReturnParameters": 226, "id": 228, "nodeType": "Return", "src": "1016:13:3" } ] }, "documentation": "@dev Returns the address of the current owner.", "id": 230, "implemented": true, "kind": "function", "modifiers": [], "name": "owner", "nodeType": "FunctionDefinition", "parameters": { "id": 223, "nodeType": "ParameterList", "parameters": [], "src": "973:2:3" }, "returnParameters": { "id": 226, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 225, "name": "", "nodeType": "VariableDeclaration", "scope": 230, "src": "997:7:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 224, "name": "address", "nodeType": "ElementaryTypeName", "src": "997:7:3", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "996:9:3" }, "scope": 311, "src": "959:77:3", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 239, "nodeType": "Block", "src": "1145:82:3", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 233, "name": "isOwner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 251, "src": "1163:7:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 234, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1163:9:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", "id": 235, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1174:34:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", "typeString": "literal_string \"Ownable: caller is not the owner\"" }, "value": "Ownable: caller is not the owner" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", "typeString": "literal_string \"Ownable: caller is not the owner\"" } ], "id": 232, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 392, 393 ], "referencedDeclaration": 393, "src": "1155:7:3", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 236, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1155:54:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 237, "nodeType": "ExpressionStatement", "src": "1155:54:3" }, { "id": 238, "nodeType": "PlaceholderStatement", "src": "1219:1:3" } ] }, "documentation": "@dev Throws if called by any account other than the owner.", "id": 240, "name": "onlyOwner", "nodeType": "ModifierDefinition", "parameters": { "id": 231, "nodeType": "ParameterList", "parameters": [], "src": "1142:2:3" }, "src": "1124:103:3", "visibility": "internal" }, { "body": { "id": 250, "nodeType": "Block", "src": "1356:46:3", "statements": [ { "expression": { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 248, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "arguments": [], "expression": { "argumentTypes": [], "id": 245, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 175, "src": "1373:10:3", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, "id": 246, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1373:12:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "id": 247, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 197, "src": "1389:6:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1373:22:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 244, "id": 249, "nodeType": "Return", "src": "1366:29:3" } ] }, "documentation": "@dev Returns true if the caller is the current owner.", "id": 251, "implemented": true, "kind": "function", "modifiers": [], "name": "isOwner", "nodeType": "FunctionDefinition", "parameters": { "id": 241, "nodeType": "ParameterList", "parameters": [], "src": "1326:2:3" }, "returnParameters": { "id": 244, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 243, "name": "", "nodeType": "VariableDeclaration", "scope": 251, "src": "1350:4:3", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 242, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1350:4:3", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1349:6:3" }, "scope": 311, "src": "1310:92:3", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 269, "nodeType": "Block", "src": "1792:91:3", "statements": [ { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 257, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 197, "src": "1828:6:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 259, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1844:1:3", "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": 258, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1836:7:3", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 260, "isConstant": false, "isLValue": false, "isPure": true, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1836:10:3", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" }, { "typeIdentifier": "t_address_payable", "typeString": "address payable" } ], "id": 256, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 203, "src": "1807:20:3", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, "id": 261, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1807:40:3", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 262, "nodeType": "EmitStatement", "src": "1802:45:3" }, { "expression": { "argumentTypes": null, "id": 267, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 263, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 197, "src": "1857:6:3", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "hexValue": "30", "id": 265, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1874:1:3", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0"