UNPKG

@gooddollar/goodcontracts

Version:
1,301 lines 94.8 kB
{ "contractName": "PauserRole", "abi": [ { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "PauserAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "PauserRemoved", "type": "event" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isPauser", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "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": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"PauserRemoved\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPauser\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renouncePauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"openzeppelin-solidity/contracts/access/roles/PauserRole.sol\":\"PauserRole\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzz-raw://4ca6617349a9b36fd82e9442a8e445ce9021a174e4399d1457ddc894ee3f5df3\",\"dweb:/ipfs/QmcmyB4cNazZ1sw963Afaijt67M9bDgwmGXCgQajGTD4tm\"]},\"openzeppelin-solidity/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0x6506133e295a7199df2ac5dfc52853d9d767f68450b6d0193e9d8056b164ce86\",\"urls\":[\"bzz-raw://9c03592a9e6b1377e401b74eccf175a250232b5a341347d3fc5cb50e9bc86ba2\",\"dweb:/ipfs/QmYAr1yXT89hNUMJ37aiBpD9HtYfBDqmueVCzphRuuU7oZ\"]}},\"version\":1}", "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": [ 20947 ] }, "id": 20948, "nodeType": "SourceUnit", "nodes": [ { "id": 20846, "literals": [ "solidity", "^", "0.5", ".0" ], "nodeType": "PragmaDirective", "src": "0:23:72" }, { "absolutePath": "openzeppelin-solidity/contracts/access/Roles.sol", "file": "../Roles.sol", "id": 20847, "nodeType": "ImportDirective", "scope": 20948, "sourceUnit": 20742, "src": "25:22:72", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 20947, "linearizedBaseContracts": [ 20947 ], "name": "PauserRole", "nodeType": "ContractDefinition", "nodes": [ { "id": 20850, "libraryName": { "contractScope": null, "id": 20848, "name": "Roles", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20741, "src": "81:5:72", "typeDescriptions": { "typeIdentifier": "t_contract$_Roles_$20741", "typeString": "library Roles" } }, "nodeType": "UsingForDirective", "src": "75:27:72", "typeName": { "contractScope": null, "id": 20849, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20654, "src": "91:10:72", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$20654_storage_ptr", "typeString": "struct Roles.Role" } } }, { "anonymous": false, "documentation": null, "id": 20854, "name": "PauserAdded", "nodeType": "EventDefinition", "parameters": { "id": 20853, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20852, "indexed": true, "name": "account", "nodeType": "VariableDeclaration", "scope": 20854, "src": "126:23:72", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20851, "name": "address", "nodeType": "ElementaryTypeName", "src": "126:7:72", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "125:25:72" }, "src": "108:43:72" }, { "anonymous": false, "documentation": null, "id": 20858, "name": "PauserRemoved", "nodeType": "EventDefinition", "parameters": { "id": 20857, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20856, "indexed": true, "name": "account", "nodeType": "VariableDeclaration", "scope": 20858, "src": "176:23:72", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20855, "name": "address", "nodeType": "ElementaryTypeName", "src": "176:7:72", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "175:25:72" }, "src": "156:45:72" }, { "constant": false, "id": 20860, "name": "_pausers", "nodeType": "VariableDeclaration", "scope": 20947, "src": "207:27:72", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$20654_storage", "typeString": "struct Roles.Role" }, "typeName": { "contractScope": null, "id": 20859, "name": "Roles.Role", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 20654, "src": "207:10:72", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$20654_storage_ptr", "typeString": "struct Roles.Role" } }, "value": null, "visibility": "private" }, { "body": { "id": 20868, "nodeType": "Block", "src": "265:39:72", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 20864, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22171, "src": "286:3:72", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 20865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "286:10:72", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" } ], "id": 20863, "name": "_addPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20930, "src": "275:10:72", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 20866, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "275:22:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20867, "nodeType": "ExpressionStatement", "src": "275:22:72" } ] }, "documentation": null, "id": 20869, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 20861, "nodeType": "ParameterList", "parameters": [], "src": "253:2:72" }, "returnParameters": { "id": 20862, "nodeType": "ParameterList", "parameters": [], "src": "265:0:72" }, "scope": 20947, "src": "241:63:72", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { "id": 20879, "nodeType": "Block", "src": "332:57:72", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 20873, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22171, "src": "359:3:72", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 20874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "359:10:72", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" } ], "id": 20872, "name": "isPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20893, "src": "350:8:72", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", "typeString": "function (address) view returns (bool)" } }, "id": 20875, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "350:20:72", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" } ], "id": 20871, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 22174, 22175 ], "referencedDeclaration": 22174, "src": "342:7:72", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", "typeString": "function (bool) pure" } }, "id": 20876, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "342:29:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20877, "nodeType": "ExpressionStatement", "src": "342:29:72" }, { "id": 20878, "nodeType": "PlaceholderStatement", "src": "381:1:72" } ] }, "documentation": null, "id": 20880, "name": "onlyPauser", "nodeType": "ModifierDefinition", "parameters": { "id": 20870, "nodeType": "ParameterList", "parameters": [], "src": "329:2:72" }, "src": "310:79:72", "visibility": "internal" }, { "body": { "id": 20892, "nodeType": "Block", "src": "457:45:72", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20889, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20882, "src": "487:7:72", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 20887, "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20860, "src": "474:8:72", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$20654_storage", "typeString": "struct Roles.Role storage ref" } }, "id": 20888, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "has", "nodeType": "MemberAccess", "referencedDeclaration": 20740, "src": "474:12:72", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$20654_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$20654_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" } }, "id": 20890, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "474:21:72", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "functionReturnParameters": 20886, "id": 20891, "nodeType": "Return", "src": "467:28:72" } ] }, "documentation": null, "id": 20893, "implemented": true, "kind": "function", "modifiers": [], "name": "isPauser", "nodeType": "FunctionDefinition", "parameters": { "id": 20883, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20882, "name": "account", "nodeType": "VariableDeclaration", "scope": 20893, "src": "413:15:72", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20881, "name": "address", "nodeType": "ElementaryTypeName", "src": "413:7:72", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "412:17:72" }, "returnParameters": { "id": 20886, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20885, "name": "", "nodeType": "VariableDeclaration", "scope": 20893, "src": "451:4:72", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 20884, "name": "bool", "nodeType": "ElementaryTypeName", "src": "451:4:72", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "450:6:72" }, "scope": 20947, "src": "395:107:72", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 20904, "nodeType": "Block", "src": "562:36:72", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20901, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20895, "src": "583:7:72", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 20900, "name": "_addPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20930, "src": "572:10:72", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 20902, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "572:19:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20903, "nodeType": "ExpressionStatement", "src": "572:19:72" } ] }, "documentation": null, "id": 20905, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 20898, "modifierName": { "argumentTypes": null, "id": 20897, "name": "onlyPauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20880, "src": "551:10:72", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "551:10:72" } ], "name": "addPauser", "nodeType": "FunctionDefinition", "parameters": { "id": 20896, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20895, "name": "account", "nodeType": "VariableDeclaration", "scope": 20905, "src": "527:15:72", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20894, "name": "address", "nodeType": "ElementaryTypeName", "src": "527:7:72", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "526:17:72" }, "returnParameters": { "id": 20899, "nodeType": "ParameterList", "parameters": [], "src": "562:0:72" }, "scope": 20947, "src": "508:90:72", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 20913, "nodeType": "Block", "src": "637:42:72", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 20909, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 22171, "src": "661:3:72", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 20910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "661:10:72", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address_payable", "typeString": "address payable" } ], "id": 20908, "name": "_removePauser", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20946, "src": "647:13:72", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 20911, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "647:25:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20912, "nodeType": "ExpressionStatement", "src": "647:25:72" } ] }, "documentation": null, "id": 20914, "implemented": true, "kind": "function", "modifiers": [], "name": "renouncePauser", "nodeType": "FunctionDefinition", "parameters": { "id": 20906, "nodeType": "ParameterList", "parameters": [], "src": "627:2:72" }, "returnParameters": { "id": 20907, "nodeType": "ParameterList", "parameters": [], "src": "637:0:72" }, "scope": 20947, "src": "604:75:72", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 20929, "nodeType": "Block", "src": "731:73:72", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20922, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20916, "src": "754:7:72", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 20919, "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20860, "src": "741:8:72", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$20654_storage", "typeString": "struct Roles.Role storage ref" } }, "id": 20921, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "add", "nodeType": "MemberAccess", "referencedDeclaration": 20686, "src": "741:12:72", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$20654_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$20654_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, "id": 20923, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "741:21:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20924, "nodeType": "ExpressionStatement", "src": "741:21:72" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20926, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20916, "src": "789:7:72", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 20925, "name": "PauserAdded", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20854, "src": "777:11:72", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 20927, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "777:20:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20928, "nodeType": "EmitStatement", "src": "772:25:72" } ] }, "documentation": null, "id": 20930, "implemented": true, "kind": "function", "modifiers": [], "name": "_addPauser", "nodeType": "FunctionDefinition", "parameters": { "id": 20917, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20916, "name": "account", "nodeType": "VariableDeclaration", "scope": 20930, "src": "705:15:72", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20915, "name": "address", "nodeType": "ElementaryTypeName", "src": "705:7:72", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "704:17:72" }, "returnParameters": { "id": 20918, "nodeType": "ParameterList", "parameters": [], "src": "731:0:72" }, "scope": 20947, "src": "685:119:72", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" }, { "body": { "id": 20945, "nodeType": "Block", "src": "859:78:72", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20938, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20932, "src": "885:7:72", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "expression": { "argumentTypes": null, "id": 20935, "name": "_pausers", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20860, "src": "869:8:72", "typeDescriptions": { "typeIdentifier": "t_struct$_Role_$20654_storage", "typeString": "struct Roles.Role storage ref" } }, "id": 20937, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "remove", "nodeType": "MemberAccess", "referencedDeclaration": 20717, "src": "869:15:72", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$20654_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$20654_storage_ptr_$", "typeString": "function (struct Roles.Role storage pointer,address)" } }, "id": 20939, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "869:24:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20940, "nodeType": "ExpressionStatement", "src": "869:24:72" }, { "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 20942, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20932, "src": "922:7:72", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 20941, "name": "PauserRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 20858, "src": "908:13:72", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, "id": 20943, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "908:22:72", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 20944, "nodeType": "EmitStatement", "src": "903:27:72" } ] }, "documentation": null, "id": 20946, "implemented": true, "kind": "function", "modifiers": [], "name": "_removePauser", "nodeType": "FunctionDefinition", "parameters": { "id": 20933, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 20932, "name": "account", "nodeType": "VariableDeclaration", "scope": 20946, "src": "833:15:72", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 20931, "name": "address", "nodeType": "ElementaryTypeName", "src": "833:7:72", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "832:17:72" }, "returnParameters": { "id": 20934, "nodeType": "ParameterList", "parameters": [], "src": "859:0:72" }, "scope": 20947, "src": "810:127:72", "stateMutability": "nonpayable", "superFunction": null, "visibility": "internal" } ], "scope": 20948, "src": "49:890:72" } ], "src": "0:940:72" }, "legacyAST": { "absolutePath": "openzeppelin-solidity/contracts/access/roles/PauserRole.sol", "exportedSymbols": { "PauserRole": [ 20947 ] }, "id": 20948, "nodeType": "SourceUnit", "nodes": [ { "id": 20846, "liter