{ "contractName": "ISignatureValidator", "abi": [ { "constant": false, "inputs": [ { "name": "_data", "type": "bytes" }, { "name": "_signature", "type": "bytes" } ], "name": "isValidSignature", "outputs": [ { "name": "isValid", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity 0.4.24;\n\ncontract ISignatureValidator {\n /**\n * @dev Should return whether the signature provided is valid for the provided data\n * @param _data Arbitrary length data signed on the behalf of address(this)\n * @param _signature Signature byte array associated with _data\n *\n * MUST return a bool upon valid or invalid signature with corresponding _data\n * MUST take (bytes, bytes) as arguments\n */ \n function isValidSignature(\n bytes _data, \n bytes _signature)\n public\n returns (bool isValid); \n}", "sourcePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/interfaces/ISignatureValidator.sol", "ast": { "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/interfaces/ISignatureValidator.sol", "exportedSymbols": { "ISignatureValidator": [ 1803 ] }, "id": 1804, "nodeType": "SourceUnit", "nodes": [ { "id": 1793, "literals": [ "solidity", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:23:13" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "id": 1803, "linearizedBaseContracts": [ 1803 ], "name": "ISignatureValidator", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": "@dev Should return whether the signature provided is valid for the provided data\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n * MUST return a bool upon valid or invalid signature with corresponding _data\nMUST take (bytes, bytes) as arguments", "id": 1802, "implemented": false, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "isValidSignature", "nodeType": "FunctionDefinition", "parameters": { "id": 1798, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1795, "name": "_data", "nodeType": "VariableDeclaration", "scope": 1802, "src": "476:11:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1794, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "476:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1797, "name": "_signature", "nodeType": "VariableDeclaration", "scope": 1802, "src": "498:16:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1796, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "498:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "466:49:13" }, "payable": false, "returnParameters": { "id": 1801, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1800, "name": "isValid", "nodeType": "VariableDeclaration", "scope": 1802, "src": "548:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1799, "name": "bool", "nodeType": "ElementaryTypeName", "src": "548:4:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "547:14:13" }, "scope": 1803, "src": "441:121:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 1804, "src": "25:540:13" } ], "src": "0:565:13" }, "legacyAST": { "absolutePath": "/Users/apanizo/git/gnosis/safe-contracts/contracts/interfaces/ISignatureValidator.sol", "exportedSymbols": { "ISignatureValidator": [ 1803 ] }, "id": 1804, "nodeType": "SourceUnit", "nodes": [ { "id": 1793, "literals": [ "solidity", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:23:13" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": false, "id": 1803, "linearizedBaseContracts": [ 1803 ], "name": "ISignatureValidator", "nodeType": "ContractDefinition", "nodes": [ { "body": null, "documentation": "@dev Should return whether the signature provided is valid for the provided data\n@param _data Arbitrary length data signed on the behalf of address(this)\n@param _signature Signature byte array associated with _data\n * MUST return a bool upon valid or invalid signature with corresponding _data\nMUST take (bytes, bytes) as arguments", "id": 1802, "implemented": false, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "isValidSignature", "nodeType": "FunctionDefinition", "parameters": { "id": 1798, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1795, "name": "_data", "nodeType": "VariableDeclaration", "scope": 1802, "src": "476:11:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1794, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "476:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 1797, "name": "_signature", "nodeType": "VariableDeclaration", "scope": 1802, "src": "498:16:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 1796, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "498:5:13", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "value": null, "visibility": "internal" } ], "src": "466:49:13" }, "payable": false, "returnParameters": { "id": 1801, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 1800, "name": "isValid", "nodeType": "VariableDeclaration", "scope": 1802, "src": "548:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 1799, "name": "bool", "nodeType": "ElementaryTypeName", "src": "548:4:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "547:14:13" }, "scope": 1803, "src": "441:121:13", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" } ], "scope": 1804, "src": "25:540:13" } ], "src": "0:565:13" }, "compiler": { "name": "solc", "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "2.0.0", "updatedAt": "2018-09-26T08:32:07.644Z" }