{ "contractName": "XBRNetworkProxy", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "MaintainerAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "MaintainerRemoved", "type": "event" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "addMaintainer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isMaintainer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceMaintainer", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "networkContract", "type": "address" } ], "name": "setNetworkContract", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MaintainerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MaintainerRemoved\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMaintainer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMaintainer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMaintainer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"networkContract\",\"type\":\"address\"}],\"name\":\"setNetworkContract\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The XBR Project\",\"methods\":{\"addMaintainer(address)\":{\"params\":{\"account\":\"The account to grant maintainer rights to.\"}},\"isMaintainer(address)\":{\"params\":{\"account\":\"The account to check.\"},\"return\":\"`true` if the account is maintainer, otherwise `false`.\"}},\"title\":\"XBR Network root SC\"},\"userdoc\":{\"methods\":{\"addMaintainer(address)\":{\"notice\":\"Add a new maintainer to the list of maintainers.\"},\"isMaintainer(address)\":{\"notice\":\"Check if the given address is currently a maintainer.\"},\"renounceMaintainer()\":{\"notice\":\"Give away maintainer rights.\"}}}},\"settings\":{\"compilationTarget\":{\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetworkProxy.sol\":\"XBRNetworkProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRMaintained.sol\":{\"keccak256\":\"0x2d3c274d75b270759fd8d6822d0690595cdae6d3878abc7eb33c3d19ce358dfe\",\"urls\":[\"bzz-raw://f5995d408d9a328f36a76e9c9e09828a0ff114757f7c25650944367bcd403389\",\"dweb:/ipfs/QmPNqFpo6x9pF7xkC28eEyTqAcT9WwTvUYsVEKbTVywqs3\"]},\"/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetworkProxy.sol\":{\"keccak256\":\"0x65c21f7ee4e4cb131a2c785b29b4104e0aa984bb31a63f985e2b1da076c68d7a\",\"urls\":[\"bzz-raw://cce3d592487d387f56e52efdd7c66c4ed167e805c75b24fc053da70fdefd92c0\",\"dweb:/ipfs/QmVLvdn7F9CeKQTvUkYfzsDHTY9KdnA9q7t6B4boqjepXL\"]},\"openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]}},\"version\":1}", "bytecode": "0x6080604052610016336001600160e01b0361001b16565b61015b565b61003381600061006a60201b6102b41790919060201c565b6040516001600160a01b038216907f1390a149489c82e9e2e89927bdb17ad1ea3f0cc314fce06c96369721d3afb8f090600090a250565b61007d82826001600160e01b036100f416565b156100cf576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b60006001600160a01b03821661013b5760405162461bcd60e51b81526004018080602001828103825260228152602001806105176022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6103ad8061016a6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063314db06b14610051578063599b93481461005b5780636b453c1f14610081578063dd57366a146100a7575b600080fd5b6100596100e1565b005b6100596004803603602081101561007157600080fd5b50356001600160a01b03166100ec565b6100596004803603602081101561009757600080fd5b50356001600160a01b0316610120565b6100cd600480360360208110156100bd57600080fd5b50356001600160a01b031661013e565b604080519115158252519081900360200190f35b6100ea33610156565b565b6100f53361013e565b6100fe57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6101293361013e565b61013257600080fd5b61013b8161019e565b50565b6000610150818363ffffffff6101e616565b92915050565b61016760008263ffffffff61024d16565b6040516001600160a01b038216907fa7b36d52bea726c3aa90d876d0e52a1089a347b3e3408a03f08eae32f96fdbb490600090a250565b6101af60008263ffffffff6102b416565b6040516001600160a01b038216907f1390a149489c82e9e2e89927bdb17ad1ea3f0cc314fce06c96369721d3afb8f090600090a250565b60006001600160a01b03821661022d5760405162461bcd60e51b81526004018080602001828103825260228152602001806103576022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61025782826101e6565b6102925760405162461bcd60e51b81526004018080602001828103825260218152602001806103366021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6102be82826101e6565b15610310576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff1916600117905556fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a265627a7a723158205a9411b14bfd716615ac60e437a46e1c154acf562d08dfa784d15db19fc2146564736f6c63430005100032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063314db06b14610051578063599b93481461005b5780636b453c1f14610081578063dd57366a146100a7575b600080fd5b6100596100e1565b005b6100596004803603602081101561007157600080fd5b50356001600160a01b03166100ec565b6100596004803603602081101561009757600080fd5b50356001600160a01b0316610120565b6100cd600480360360208110156100bd57600080fd5b50356001600160a01b031661013e565b604080519115158252519081900360200190f35b6100ea33610156565b565b6100f53361013e565b6100fe57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6101293361013e565b61013257600080fd5b61013b8161019e565b50565b6000610150818363ffffffff6101e616565b92915050565b61016760008263ffffffff61024d16565b6040516001600160a01b038216907fa7b36d52bea726c3aa90d876d0e52a1089a347b3e3408a03f08eae32f96fdbb490600090a250565b6101af60008263ffffffff6102b416565b6040516001600160a01b038216907f1390a149489c82e9e2e89927bdb17ad1ea3f0cc314fce06c96369721d3afb8f090600090a250565b60006001600160a01b03821661022d5760405162461bcd60e51b81526004018080602001828103825260228152602001806103576022913960400191505060405180910390fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b61025782826101e6565b6102925760405162461bcd60e51b81526004018080602001828103825260218152602001806103366021913960400191505060405180910390fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6102be82826101e6565b15610310576040805162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015290519081900360640190fd5b6001600160a01b0316600090815260209190915260409020805460ff1916600117905556fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a265627a7a723158205a9411b14bfd716615ac60e437a46e1c154acf562d08dfa784d15db19fc2146564736f6c63430005100032", "sourceMap": "933:218:6:-;;;1843:26:3;1858:10;-1:-1:-1;;;;;1843:14:3;:26;:::i;:::-;933:218:6;;2784:131:3;2845:24;2861:7;2845:11;:15;;;;;;:24;;;;:::i;:::-;2884;;-1:-1:-1;;;;;2884:24:3;;;;;;;;2784:131;:::o;260:175:11:-;337:18;341:4;347:7;-1:-1:-1;;;;;337:3:11;:18;:::i;:::-;336:19;328:63;;;;;-1:-1:-1;;;328:63:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:11;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:11;424:4;401:27;;;260:175::o;779:200::-;851:4;-1:-1:-1;;;;;875:21:11;;867:68;;;;-1:-1:-1;;;867:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:11;:11;:20;;;;;;;;;;;;;;;779:200::o;933:218:6:-;;;;;;;", "deployedSourceMap": "933:218:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;933:218:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2694:84:3;;;:::i;:::-;;1022:127:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1022:127:6;-1:-1:-1;;;;;1022:127:6;;:::i;2533:103:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2533:103:3;-1:-1:-1;;;;;2533:103:3;;:::i;2268:115::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2268:115:3;-1:-1:-1;;;;;2268:115:3;;:::i;:::-;;;;;;;;;;;;;;;;;;2694:84;2742:29;2760:10;2742:17;:29::i;:::-;2694:84::o;1022:127:6:-;2020:24:3;2033:10;2020:12;:24::i;:::-;2012:33;;;;;;1108:16:6;:34;;-1:-1:-1;;;;;;1108:34:6;-1:-1:-1;;;;;1108:34:6;;;;;;;;;;1022:127::o;2533:103:3:-;2020:24;2033:10;2020:12;:24::i;:::-;2012:33;;;;;;2606:23;2621:7;2606:14;:23::i;:::-;2533:103;:::o;2268:115::-;2329:4;2352:24;2329:4;2368:7;2352:24;:15;:24;:::i;:::-;2345:31;2268:115;-1:-1:-1;;2268:115:3:o;2921:139::-;2985:27;:11;3004:7;2985:27;:18;:27;:::i;:::-;3027:26;;-1:-1:-1;;;;;3027:26:3;;;;;;;;2921:139;:::o;2784:131::-;2845:24;:11;2861:7;2845:24;:15;:24;:::i;:::-;2884;;-1:-1:-1;;;;;2884:24:3;;;;;;;;2784:131;:::o;779:200:11:-;851:4;-1:-1:-1;;;;;875:21:11;;867:68;;;;-1:-1:-1;;;867:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;952:20:11;:11;:20;;;;;;;;;;;;;;;779:200::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;-1:-1:-1;;;581:64:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;655:20:11;678:5;655:20;;;;;;;;;;;:28;;-1:-1:-1;;655:28:11;;;510:180::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;-1:-1:-1;;;328:63:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;401:20:11;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;401:27:11;424:4;401:27;;;260:175::o", "source": "///////////////////////////////////////////////////////////////////////////////\n//\n// Copyright (C) 2018-2020 Crossbar.io Technologies GmbH and contributors.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n//\n///////////////////////////////////////////////////////////////////////////////\n\npragma solidity ^0.5.12;\n\nimport \"./XBRMaintained.sol\";\n\n\n/**\n * @title XBR Network root SC\n * @author The XBR Project\n */\ncontract XBRNetworkProxy is XBRMaintained {\n\n address internal _networkContract;\n\n function setNetworkContract (address networkContract) public onlyMaintainer {\n _networkContract = networkContract;\n }\n}\n", "sourcePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetworkProxy.sol", "ast": { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetworkProxy.sol", "exportedSymbols": { "XBRNetworkProxy": [ 3906 ] }, "id": 3907, "nodeType": "SourceUnit", "nodes": [ { "id": 3888, "literals": [ "solidity", "^", "0.5", ".12" ], "nodeType": "PragmaDirective", "src": "810:24:6" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRMaintained.sol", "file": "./XBRMaintained.sol", "id": 3889, "nodeType": "ImportDirective", "scope": 3907, "sourceUnit": 1730, "src": "836:29:6", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 3890, "name": "XBRMaintained", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1729, "src": "961:13:6", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRMaintained_$1729", "typeString": "contract XBRMaintained" } }, "id": 3891, "nodeType": "InheritanceSpecifier", "src": "961:13:6" } ], "contractDependencies": [ 1729 ], "contractKind": "contract", "documentation": "@title XBR Network root SC\n@author The XBR Project", "fullyImplemented": true, "id": 3906, "linearizedBaseContracts": [ 3906, 1729 ], "name": "XBRNetworkProxy", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 3893, "name": "_networkContract", "nodeType": "VariableDeclaration", "scope": 3906, "src": "982:33:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3892, "name": "address", "nodeType": "ElementaryTypeName", "src": "982:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "body": { "id": 3904, "nodeType": "Block", "src": "1098:51:6", "statements": [ { "expression": { "argumentTypes": null, "id": 3902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 3900, "name": "_networkContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3893, "src": "1108:16:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3901, "name": "networkContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3895, "src": "1127:15:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1108:34:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3903, "nodeType": "ExpressionStatement", "src": "1108:34:6" } ] }, "documentation": null, "id": 3905, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 3898, "modifierName": { "argumentTypes": null, "id": 3897, "name": "onlyMaintainer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1662, "src": "1083:14:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "1083:14:6" } ], "name": "setNetworkContract", "nodeType": "FunctionDefinition", "parameters": { "id": 3896, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3895, "name": "networkContract", "nodeType": "VariableDeclaration", "scope": 3905, "src": "1051:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3894, "name": "address", "nodeType": "ElementaryTypeName", "src": "1051:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "1050:25:6" }, "returnParameters": { "id": 3899, "nodeType": "ParameterList", "parameters": [], "src": "1098:0:6" }, "scope": 3906, "src": "1022:127:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 3907, "src": "933:218:6" } ], "src": "810:342:6" }, "legacyAST": { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRNetworkProxy.sol", "exportedSymbols": { "XBRNetworkProxy": [ 3906 ] }, "id": 3907, "nodeType": "SourceUnit", "nodes": [ { "id": 3888, "literals": [ "solidity", "^", "0.5", ".12" ], "nodeType": "PragmaDirective", "src": "810:24:6" }, { "absolutePath": "/home/travis/build/crossbario/xbr-protocol/contracts/XBRMaintained.sol", "file": "./XBRMaintained.sol", "id": 3889, "nodeType": "ImportDirective", "scope": 3907, "sourceUnit": 1730, "src": "836:29:6", "symbolAliases": [], "unitAlias": "" }, { "baseContracts": [ { "arguments": null, "baseName": { "contractScope": null, "id": 3890, "name": "XBRMaintained", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 1729, "src": "961:13:6", "typeDescriptions": { "typeIdentifier": "t_contract$_XBRMaintained_$1729", "typeString": "contract XBRMaintained" } }, "id": 3891, "nodeType": "InheritanceSpecifier", "src": "961:13:6" } ], "contractDependencies": [ 1729 ], "contractKind": "contract", "documentation": "@title XBR Network root SC\n@author The XBR Project", "fullyImplemented": true, "id": 3906, "linearizedBaseContracts": [ 3906, 1729 ], "name": "XBRNetworkProxy", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "id": 3893, "name": "_networkContract", "nodeType": "VariableDeclaration", "scope": 3906, "src": "982:33:6", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3892, "name": "address", "nodeType": "ElementaryTypeName", "src": "982:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "body": { "id": 3904, "nodeType": "Block", "src": "1098:51:6", "statements": [ { "expression": { "argumentTypes": null, "id": 3902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 3900, "name": "_networkContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3893, "src": "1108:16:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "id": 3901, "name": "networkContract", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 3895, "src": "1127:15:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "1108:34:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 3903, "nodeType": "ExpressionStatement", "src": "1108:34:6" } ] }, "documentation": null, "id": 3905, "implemented": true, "kind": "function", "modifiers": [ { "arguments": null, "id": 3898, "modifierName": { "argumentTypes": null, "id": 3897, "name": "onlyMaintainer", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1662, "src": "1083:14:6", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", "src": "1083:14:6" } ], "name": "setNetworkContract", "nodeType": "FunctionDefinition", "parameters": { "id": 3896, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 3895, "name": "networkContract", "nodeType": "VariableDeclaration", "scope": 3905, "src": "1051:23:6", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 3894, "name": "address", "nodeType": "ElementaryTypeName", "src": "1051:7:6", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "1050:25:6" }, "returnParameters": { "id": 3899, "nodeType": "ParameterList", "parameters": [], "src": "1098:0:6" }, "scope": 3906, "src": "1022:127:6", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 3907, "src": "933:218:6" } ], "src": "810:342:6" }, "compiler": { "name": "solc", "version": "0.5.16+commit.9c3226ce.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.1.0", "updatedAt": "2020-04-13T15:29:57.201Z", "devdoc": { "author": "The XBR Project", "methods": { "addMaintainer(address)": { "params": { "account": "The account to grant maintainer rights to." } }, "isMaintainer(address)": { "params": { "account": "The account to check." }, "return": "`true` if the account is maintainer, otherwise `false`." } }, "title": "XBR Network root SC" }, "userdoc": { "methods": { "addMaintainer(address)": { "notice": "Add a new maintainer to the list of maintainers." }, "isMaintainer(address)": { "notice": "Check if the given address is currently a maintainer." }, "renounceMaintainer()": { "notice": "Give away maintainer rights." } } } }