{ "contractName": "SelfAuthorized", "abi": [], "bytecode": "0x6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00a165627a7a7230582089be6830aa63b2ce4480c1565e02c1d4e7d28bdf01f3f1cfbca1af4fc2fd06f50029", "deployedBytecode": "0x6080604052600080fd00a165627a7a7230582089be6830aa63b2ce4480c1565e02c1d4e7d28bdf01f3f1cfbca1af4fc2fd06f50029", "sourceMap": "152:166:11:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;152:166:11;;;;;;;", "deployedSourceMap": "152:166:11:-;;;;;", "source": "pragma solidity 0.4.24;\n\n\n/// @title SelfAuthorized - authorizes current contract to perform actions\n/// @author Richard Meissner - \ncontract SelfAuthorized {\n modifier authorized() {\n require(msg.sender == address(this), \"Method can only be called from this contract\");\n _;\n }\n}\n", "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/common/SelfAuthorized.sol", "ast": { "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/common/SelfAuthorized.sol", "exportedSymbols": { "SelfAuthorized": [ 1735 ] }, "id": 1736, "nodeType": "SourceUnit", "nodes": [ { "id": 1720, "literals": [ "solidity", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:23:11" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - ", "fullyImplemented": true, "id": 1735, "linearizedBaseContracts": [ 1735 ], "name": "SelfAuthorized", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 1733, "nodeType": "Block", "src": "204:112:11", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1723, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4491, "src": "222:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 1724, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "222:10:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1726, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4504, "src": "244:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_SelfAuthorized_$1735", "typeString": "contract SelfAuthorized" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_SelfAuthorized_$1735", "typeString": "contract SelfAuthorized" } ], "id": 1725, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "236:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 1727, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "236:13:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "222:27:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207468697320636f6e7472616374", "id": 1729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "251:46:11", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733", "typeString": "literal_string \"Method can only be called from this contract\"" }, "value": "Method can only be called from this contract" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733", "typeString": "literal_string \"Method can only be called from this contract\"" } ], "id": 1722, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4494, 4495 ], "referencedDeclaration": 4495, "src": "214:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1730, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "214:84:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1731, "nodeType": "ExpressionStatement", "src": "214:84:11" }, { "id": 1732, "nodeType": "PlaceholderStatement", "src": "308:1:11" } ] }, "documentation": null, "id": 1734, "name": "authorized", "nodeType": "ModifierDefinition", "parameters": { "id": 1721, "nodeType": "ParameterList", "parameters": [], "src": "201:2:11" }, "src": "182:134:11", "visibility": "internal" } ], "scope": 1736, "src": "152:166:11" } ], "src": "0:319:11" }, "legacyAST": { "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/common/SelfAuthorized.sol", "exportedSymbols": { "SelfAuthorized": [ 1735 ] }, "id": 1736, "nodeType": "SourceUnit", "nodes": [ { "id": 1720, "literals": [ "solidity", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:23:11" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": "@title SelfAuthorized - authorizes current contract to perform actions\n @author Richard Meissner - ", "fullyImplemented": true, "id": 1735, "linearizedBaseContracts": [ 1735 ], "name": "SelfAuthorized", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 1733, "nodeType": "Block", "src": "204:112:11", "statements": [ { "expression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, "id": 1728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 1723, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4491, "src": "222:3:11", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 1724, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "222:10:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, "id": 1726, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4504, "src": "244:4:11", "typeDescriptions": { "typeIdentifier": "t_contract$_SelfAuthorized_$1735", "typeString": "contract SelfAuthorized" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_contract$_SelfAuthorized_$1735", "typeString": "contract SelfAuthorized" } ], "id": 1725, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "236:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": "address" }, "id": 1727, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "236:13:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "src": "222:27:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "argumentTypes": null, "hexValue": "4d6574686f642063616e206f6e6c792062652063616c6c65642066726f6d207468697320636f6e7472616374", "id": 1729, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "251:46:11", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733", "typeString": "literal_string \"Method can only be called from this contract\"" }, "value": "Method can only be called from this contract" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_c4780ef0a1d41d59bac8c510cf9ada421bccf2b90f75a8e4ba2e8c09e8d72733", "typeString": "literal_string \"Method can only be called from this contract\"" } ], "id": 1722, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4494, 4495 ], "referencedDeclaration": 4495, "src": "214:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 1730, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "214:84:11", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 1731, "nodeType": "ExpressionStatement", "src": "214:84:11" }, { "id": 1732, "nodeType": "PlaceholderStatement", "src": "308:1:11" } ] }, "documentation": null, "id": 1734, "name": "authorized", "nodeType": "ModifierDefinition", "parameters": { "id": 1721, "nodeType": "ParameterList", "parameters": [], "src": "201:2:11" }, "src": "182:134:11", "visibility": "internal" } ], "scope": 1736, "src": "152:166:11" } ], "src": "0:319:11" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "2.0.0", "updatedAt": "2018-09-26T08:32:07.644Z" }