UNPKG

@gooddollar/goodcontracts

Version:
1,372 lines (1,371 loc) 92.5 kB
{ "contractName": "PauserRole", "abi": [ { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" } ], "name": "PauserAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "account", "type": "address" } ], "name": "PauserRemoved", "type": "event" }, { "constant": true, "inputs": [ { "name": "account", "type": "address" } ], "name": "isPauser", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "account", "type": "address" } ], "name": "addPauser", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "renouncePauser", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "metadata": "", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.5.0;\n\nimport \"../Roles.sol\";\n\ncontract PauserRole {\n using Roles for Roles.Role;\n\n event PauserAdded(address indexed account);\n event PauserRemoved(address indexed account);\n\n Roles.Role private _pausers;\n\n constructor () internal {\n _addPauser(msg.sender);\n }\n\n modifier onlyPauser() {\n require(isPauser(msg.sender));\n _;\n }\n\n function isPauser(address account) public view returns (bool) {\n return _pausers.has(account);\n }\n\n function addPauser(address account) public onlyPauser {\n _addPauser(account);\n }\n\n function renouncePauser() public {\n _removePauser(msg.sender);\n }\n\n function _addPauser(address account) internal {\n _pausers.add(account);\n emit PauserAdded(account);\n }\n\n function _removePauser(address account) internal {\n _pausers.remove(account);\n emit PauserRemoved(account);\n }\n}\n", "sourcePath": "openzeppelin-solidity/contracts/access/roles/PauserRole.sol", "ast": { "absolutePath": "openzeppelin-solidity/contracts/access/roles/PauserRole.sol", "exportedSymbols": { "PauserRole": [ 15558 ] }, "id": 15559, "nodeType": "SourceUnit", "nodes": [ { "id": 15457, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:63" }, { "absolutePath": "openzeppelin-solidity/contracts/access/Roles.sol", "file": "../Roles.sol", "id": 15458, "nodeType": "ImportDirective", "scope": 15559, "sourceUnit": 15353, "src": "25:22:63", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 15558, "linearizedBaseContracts": [ 15558 ], "name": "PauserRole", "nodeType": "ContractDefinition", "nodes": [ { "id": 15461, "libraryName": { "contractScope": null, "id": 15459, "name": "Roles", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 15352, "src": "81:5:63", "typeDescriptions": { "typeIdentifier": "t_contract$_Roles_$15352", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", "src": "75:27:63", "typeName": { "contractScope": null, "id": 15460, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 15265, "src": "91:10:63", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$15265_storage_ptr", "typeString": "struct Roles.Role" } } }, { "anonymous": false, "documentation": null, "id": 15465, "name": "PauserAdded", "nodeType": "EventDefinition", "parameters": { "id": 15464, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15463, "indexed": true, "name": "account", "nodeType": "VariableDeclaration", "scope": 15465, "src": "126:23:63", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 15462, "name": "address", "nodeType": "ElementaryTypeName", "src": "126:7:63", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "125:25:63" }, "src": "108:43:63" }, { "anonymous": false, "documentation": null, "id": 15469, "name": "PauserRemoved", "nodeType": "EventDefinition", "parameters": { "id": 15468, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15467, "indexed": true, "name": "account", "nodeType": "VariableDeclaration", "scope": 15469, "src": "176:23:63", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 15466, "name": "address", "nodeType": "ElementaryTypeName", "src": "176:7:63", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "175:25:63" }, "src": "156:45:63" }, { "constant": false, "id": 15471, "name": "_pausers", "nodeType": "VariableDeclaration", "scope": 15558, "src": "207:27:63", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$15265_storage", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, "id": 15470, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 15265, "src": "207:10:63", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$15265_storage_ptr", "typeString": "struct Roles.Role" } }, "value": null, "visibility": "private" }, { "body": { "id": 15479, "nodeType": "Block", "src": "265:39:63", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 15475, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16782, "src": "286:3:63", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 15476, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "286:10:63", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" } ], "id": 15474, "name": "_addPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15541, "src": "275:10:63", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 15477, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "275:22:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15478, "nodeType": "ExpressionStatement", "src": "275:22:63" } ] }, "documentation": null, "id": 15480, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 15472, "nodeType": "ParameterList", "parameters": [], "src": "253:2:63" }, "returnParameters": { "id": 15473, "nodeType": "ParameterList", "parameters": [], "src": "265:0:63" }, "scope": 15558, "src": "241:63:63", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { "id": 15490, "nodeType": "Block", "src": "332:57:63", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 15484, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16782, "src": "359:3:63", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 15485, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "359:10:63", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" } ], "id": 15483, "name": "isPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15504, "src": "350:8:63", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 15486, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "350:20:63", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 15482, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 16785, 16786 ], "referencedDeclaration": 16785, "src": "342:7:63", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 15487, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "342:29:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15488, "nodeType": "ExpressionStatement", "src": "342:29:63" }, { "id": 15489, "nodeType": "PlaceholderStatement", "src": "381:1:63" } ] }, "documentation": null, "id": 15491, "name": "onlyPauser", "nodeType": "ModifierDefinition", "parameters": { "id": 15481, "nodeType": "ParameterList", "parameters": [], "src": "329:2:63" }, "src": "310:79:63", "visibility": "internal" }, { "body": { "id": 15503, "nodeType": "Block", "src": "457:45:63", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 15500, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15493, "src": "487:7:63", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 15498, "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15471, "src": "474:8:63", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$15265_storage", "typeString": "struct Roles.Role storage ref" } }, "id": 15499, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", "referencedDeclaration": 15351, "src": "474:12:63", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$15265_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$15265_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, "id": 15501, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "474:21:63", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 15497, "id": 15502, "nodeType": "Return", "src": "467:28:63" } ] }, "documentation": null, "id": 15504, "implemented": true, "kind": "function", "modifiers": [], "name": "isPauser", "nodeType": "FunctionDefinition", "parameters": { "id": 15494, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15493, "name": "account", "nodeType": "VariableDeclaration", "scope": 15504, "src": "413:15:63", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 15492, "name": "address", "nodeType": "ElementaryTypeName", "src": "413:7:63", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "412:17:63" }, "returnParameters": { "id": 15497, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15496, "name": "", "nodeType": "VariableDeclaration", "scope": 15504, "src": "451:4:63", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 15495, "name": "bool", "nodeType": "ElementaryTypeName", "src": "451:4:63", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "450:6:63" }, "scope": 15558, "src": "395:107:63", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 15515, "nodeType": "Block", "src": "562:36:63", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 15512, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15506, "src": "583:7:63", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 15511, "name": "_addPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15541, "src": "572:10:63", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 15513, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "572:19:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15514, "nodeType": "ExpressionStatement", "src": "572:19:63" } ] }, "documentation": null, "id": 15516, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 15509, "modifierName": { "argumentTypes": null, "id": 15508, "name": "onlyPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15491, "src": "551:10:63", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "551:10:63" } ], "name": "addPauser", "nodeType": "FunctionDefinition", "parameters": { "id": 15507, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15506, "name": "account", "nodeType": "VariableDeclaration", "scope": 15516, "src": "527:15:63", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 15505, "name": "address", "nodeType": "ElementaryTypeName", "src": "527:7:63", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "526:17:63" }, "returnParameters": { "id": 15510, "nodeType": "ParameterList", "parameters": [], "src": "562:0:63" }, "scope": 15558, "src": "508:90:63", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 15524, "nodeType": "Block", "src": "637:42:63", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 15520, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 16782, "src": "661:3:63", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 15521, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "661:10:63", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" } ], "id": 15519, "name": "_removePauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15557, "src": "647:13:63", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 15522, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "647:25:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15523, "nodeType": "ExpressionStatement", "src": "647:25:63" } ] }, "documentation": null, "id": 15525, "implemented": true, "kind": "function", "modifiers": [], "name": "renouncePauser", "nodeType": "FunctionDefinition", "parameters": { "id": 15517, "nodeType": "ParameterList", "parameters": [], "src": "627:2:63" }, "returnParameters": { "id": 15518, "nodeType": "ParameterList", "parameters": [], "src": "637:0:63" }, "scope": 15558, "src": "604:75:63", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 15540, "nodeType": "Block", "src": "731:73:63", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 15533, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15527, "src": "754:7:63", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 15530, "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15471, "src": "741:8:63", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$15265_storage", "typeString": "struct Roles.Role storage ref" } }, "id": 15532, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 15297, "src": "741:12:63", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$15265_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$15265_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, "id": 15534, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "741:21:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15535, "nodeType": "ExpressionStatement", "src": "741:21:63" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 15537, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15527, "src": "789:7:63", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 15536, "name": "PauserAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15465, "src": "777:11:63", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 15538, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "777:20:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15539, "nodeType": "EmitStatement", "src": "772:25:63" } ] }, "documentation": null, "id": 15541, "implemented": true, "kind": "function", "modifiers": [], "name": "_addPauser", "nodeType": "FunctionDefinition", "parameters": { "id": 15528, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15527, "name": "account", "nodeType": "VariableDeclaration", "scope": 15541, "src": "705:15:63", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 15526, "name": "address", "nodeType": "ElementaryTypeName", "src": "705:7:63", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "704:17:63" }, "returnParameters": { "id": 15529, "nodeType": "ParameterList", "parameters": [], "src": "731:0:63" }, "scope": 15558, "src": "685:119:63", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { "id": 15556, "nodeType": "Block", "src": "859:78:63", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 15549, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15543, "src": "885:7:63", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 15546, "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15471, "src": "869:8:63", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$15265_storage", "typeString": "struct Roles.Role storage ref" } }, "id": 15548, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", "referencedDeclaration": 15328, "src": "869:15:63", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$15265_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$15265_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, "id": 15550, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "869:24:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15551, "nodeType": "ExpressionStatement", "src": "869:24:63" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 15553, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15543, "src": "922:7:63", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 15552, "name": "PauserRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 15469, "src": "908:13:63", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 15554, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "908:22:63", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 15555, "nodeType": "EmitStatement", "src": "903:27:63" } ] }, "documentation": null, "id": 15557, "implemented": true, "kind": "function", "modifiers": [], "name": "_removePauser", "nodeType": "FunctionDefinition", "parameters": { "id": 15544, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15543, "name": "account", "nodeType": "VariableDeclaration", "scope": 15557, "src": "833:15:63", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 15542, "name": "address", "nodeType": "ElementaryTypeName", "src": "833:7:63", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "832:17:63" }, "returnParameters": { "id": 15545, "nodeType": "ParameterList", "parameters": [], "src": "859:0:63" }, "scope": 15558, "src": "810:127:63", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 15559, "src": "49:890:63" } ], "src": "0:940:63" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/access/roles/PauserRole.sol", "exportedSymbols": { "PauserRole": [ 15558 ] }, "id": 15559, "nodeType": "SourceUnit", "nodes": [ { "id": 15457, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:63" }, { "absolutePath": "openzeppelin-solidity/contracts/access/Roles.sol", "file": "../Roles.sol", "id": 15458, "nodeType": "ImportDirective", "scope": 15559, "sourceUnit": 15353, "src": "25:22:63", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 15558, "linearizedBaseContracts": [ 15558 ], "name": "PauserRole", "nodeType": "ContractDefinition", "nodes": [ { "id": 15461, "libraryName": { "contractScope": null, "id": 15459, "name": "Roles", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 15352, "src": "81:5:63", "typeDescriptions": { "typeIdentifier": "t_contract$_Roles_$15352", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", "src": "75:27:63", "typeName": { "contractScope": null, "id": 15460, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 15265, "src": "91:10:63", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$15265_storage_ptr", "typeString": "struct Roles.Role" } } }, { "anonymous": false, "documentation": null, "id": 15465, "name": "PauserAdded", "nodeType": "EventDefinition", "parameters": { "id": 15464, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 15463, "indexed": true,