UNPKG

@daostack/access_control

Version:

Capability-based access control for Ethereum smart contracts.

1,442 lines (1,441 loc) 74.5 kB
{ "contractName": "ERC1480Interface", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "name": "_id", "type": "bytes32" }, { "indexed": true, "name": "_from", "type": "address" }, { "indexed": true, "name": "_to", "type": "address" }, { "indexed": false, "name": "_assignable", "type": "bool" }, { "indexed": false, "name": "_start", "type": "uint256" }, { "indexed": false, "name": "_expiration", "type": "uint256" }, { "indexed": false, "name": "_uses", "type": "uint256" } ], "name": "AssignKey", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_id", "type": "bytes32" }, { "indexed": true, "name": "_owner", "type": "address" } ], "name": "RevokeKey", "type": "event" }, { "constant": false, "inputs": [ { "name": "_id", "type": "bytes32" }, { "name": "_to", "type": "address" }, { "name": "_assignable", "type": "bool" }, { "name": "_start", "type": "uint256" }, { "name": "_expiration", "type": "uint256" }, { "name": "_uses", "type": "uint256" } ], "name": "assignKey", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_id", "type": "bytes32" }, { "name": "_to", "type": "address" } ], "name": "assignFullKey", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_id", "type": "bytes32" } ], "name": "revokeKey", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_id", "type": "bytes32" }, { "name": "_owner", "type": "address" } ], "name": "unlockable", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_id", "type": "bytes32" }, { "name": "_owner", "type": "address" } ], "name": "getKey", "outputs": [ { "name": "", "type": "bool" }, { "name": "", "type": "bool" }, { "name": "", "type": "uint256" }, { "name": "", "type": "uint256" }, { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", "source": "pragma solidity ^0.4.24;\n\n\n/// @title ERC1480Interface - Access Control Interface\n/// @dev basic inteface for access control mechanism\n/// Note: the ERC-165 identifier for this interface is 0x33f9cb64.\ninterface ERC1480Interface {\n\n event AssignKey(\n bytes32 indexed _id, \n address indexed _from, \n address indexed _to, \n bool _assignable, \n uint _start, \n uint _expiration, \n uint _uses\n );\n\n event RevokeKey(bytes32 indexed _id, address indexed _owner);\n\n /// @dev assign partial or all capabilities from the sender to an account\n /// @param _id lock id\n /// @param _to recipient\n /// @param _assignable can the recipient further assign capabilities to other accounts?\n /// @param _start the key's start time (block number)\n /// @param _expiration the key's expiration time (block number)\n /// @param _uses number of times this key can be used (in `unlock(..)`)\n function assignKey(\n bytes32 _id,\n address _to, \n bool _assignable, \n uint _start, \n uint _expiration, \n uint _uses\n ) external;\n\n /// @dev assign all capabilities from the sender to an account\n /// @param _id lock id\n /// @param _to recipient\n function assignFullKey(bytes32 _id, address _to) external;\n\n /// @dev revoke the sender's key\n /// @param _id lock id\n function revokeKey(bytes32 _id) external;\n\n /// @dev does the owner have a valid key for the lock id\n /// @param _id lock id\n /// @param _owner owner address\n function unlockable(bytes32 _id, address _owner) external view returns (bool);\n\n /// @dev does the owner have a valid key for the lock id\n /// @param _id lock id\n /// @param _owner owner address\n /// @return the properties of the requested key as a tuple\n function getKey(bytes32 _id, address _owner) external view returns (bool, bool, uint, uint, uint);\n}\n", "sourcePath": "/home/tsuberim/projects/daostack/access_control/contracts/ERC1480Interface.sol", "ast": { "absolutePath": "/home/tsuberim/projects/daostack/access_control/contracts/ERC1480Interface.sol", "exportedSymbols": { "ERC1480Interface": [ 126 ] }, "id": 127, "nodeType": "SourceUnit", "nodes": [ { "id": 50, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:1" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": "@title ERC1480Interface - Access Control Interface\n @dev basic inteface for access control mechanism\n Note: the ERC-165 identifier for this interface is 0x33f9cb64.", "fullyImplemented": false, "id": 126, "linearizedBaseContracts": [ 126 ], "name": "ERC1480Interface", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 66, "name": "AssignKey", "nodeType": "EventDefinition", "parameters": { "id": 65, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 52, "indexed": true, "name": "_id", "nodeType": "VariableDeclaration", "scope": 66, "src": "261:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 51, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "261:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 54, "indexed": true, "name": "_from", "nodeType": "VariableDeclaration", "scope": 66, "src": "291:21:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 53, "name": "address", "nodeType": "ElementaryTypeName", "src": "291:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 56, "indexed": true, "name": "_to", "nodeType": "VariableDeclaration", "scope": 66, "src": "323:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 55, "name": "address", "nodeType": "ElementaryTypeName", "src": "323:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 58, "indexed": false, "name": "_assignable", "nodeType": "VariableDeclaration", "scope": 66, "src": "353:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 57, "name": "bool", "nodeType": "ElementaryTypeName", "src": "353:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 60, "indexed": false, "name": "_start", "nodeType": "VariableDeclaration", "scope": 66, "src": "380:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 59, "name": "uint", "nodeType": "ElementaryTypeName", "src": "380:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 62, "indexed": false, "name": "_expiration", "nodeType": "VariableDeclaration", "scope": 66, "src": "402:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 61, "name": "uint", "nodeType": "ElementaryTypeName", "src": "402:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 64, "indexed": false, "name": "_uses", "nodeType": "VariableDeclaration", "scope": 66, "src": "429:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 63, "name": "uint", "nodeType": "ElementaryTypeName", "src": "429:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "251:194:1" }, "src": "236:210:1" }, { "anonymous": false, "documentation": null, "id": 72, "name": "RevokeKey", "nodeType": "EventDefinition", "parameters": { "id": 71, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 68, "indexed": true, "name": "_id", "nodeType": "VariableDeclaration", "scope": 72, "src": "468:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 67, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "468:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 70, "indexed": true, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 72, "src": "489:22:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 69, "name": "address", "nodeType": "ElementaryTypeName", "src": "489:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "467:45:1" }, "src": "452:61:1" }, { "body": null, "documentation": "@dev assign partial or all capabilities from the sender to an account\n @param _id lock id\n @param _to recipient\n @param _assignable can the recipient further assign capabilities to other accounts?\n @param _start the key's start time (block number)\n @param _expiration the key's expiration time (block number)\n @param _uses number of times this key can be used (in `unlock(..)`)", "id": 87, "implemented": false, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "assignKey", "nodeType": "FunctionDefinition", "parameters": { "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 74, "name": "_id", "nodeType": "VariableDeclaration", "scope": 87, "src": "975:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 73, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "975:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 76, "name": "_to", "nodeType": "VariableDeclaration", "scope": 87, "src": "996:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 75, "name": "address", "nodeType": "ElementaryTypeName", "src": "996:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 78, "name": "_assignable", "nodeType": "VariableDeclaration", "scope": 87, "src": "1018:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 77, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1018:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 80, "name": "_start", "nodeType": "VariableDeclaration", "scope": 87, "src": "1045:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 79, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1045:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 82, "name": "_expiration", "nodeType": "VariableDeclaration", "scope": 87, "src": "1067:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 81, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1067:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 84, "name": "_uses", "nodeType": "VariableDeclaration", "scope": 87, "src": "1094:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 83, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1094:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "965:149:1" }, "payable": false, "returnParameters": { "id": 86, "nodeType": "ParameterList", "parameters": [], "src": "1123:0:1" }, "scope": 126, "src": "947:177:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": "@dev assign all capabilities from the sender to an account\n @param _id lock id\n @param _to recipient", "id": 94, "implemented": false, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "assignFullKey", "nodeType": "FunctionDefinition", "parameters": { "id": 92, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 89, "name": "_id", "nodeType": "VariableDeclaration", "scope": 94, "src": "1276:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 88, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1276:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 91, "name": "_to", "nodeType": "VariableDeclaration", "scope": 94, "src": "1289:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 90, "name": "address", "nodeType": "ElementaryTypeName", "src": "1289:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "1275:26:1" }, "payable": false, "returnParameters": { "id": 93, "nodeType": "ParameterList", "parameters": [], "src": "1310:0:1" }, "scope": 126, "src": "1253:58:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": "@dev revoke the sender's key\n @param _id lock id", "id": 99, "implemented": false, "isConstructor": false, "isDeclaredConst": false, "modifiers": [], "name": "revokeKey", "nodeType": "FunctionDefinition", "parameters": { "id": 97, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 96, "name": "_id", "nodeType": "VariableDeclaration", "scope": 99, "src": "1400:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 95, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1400:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" } ], "src": "1399:13:1" }, "payable": false, "returnParameters": { "id": 98, "nodeType": "ParameterList", "parameters": [], "src": "1421:0:1" }, "scope": 126, "src": "1381:41:1", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": "@dev does the owner have a valid key for the lock id\n @param _id lock id\n @param _owner owner address", "id": 108, "implemented": false, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "unlockable", "nodeType": "FunctionDefinition", "parameters": { "id": 104, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 101, "name": "_id", "nodeType": "VariableDeclaration", "scope": 108, "src": "1572:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 100, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1572:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 103, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 108, "src": "1585:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 102, "name": "address", "nodeType": "ElementaryTypeName", "src": "1585:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "1571:29:1" }, "payable": false, "returnParameters": { "id": 107, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 106, "name": "", "nodeType": "VariableDeclaration", "scope": 108, "src": "1624:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 105, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1624:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" } ], "src": "1623:6:1" }, "scope": 126, "src": "1552:78:1", "stateMutability": "view", "superFunction": null, "visibility": "external" }, { "body": null, "documentation": "@dev does the owner have a valid key for the lock id\n @param _id lock id\n @param _owner owner address\n @return the properties of the requested key as a tuple", "id": 125, "implemented": false, "isConstructor": false, "isDeclaredConst": true, "modifiers": [], "name": "getKey", "nodeType": "FunctionDefinition", "parameters": { "id": 113, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 110, "name": "_id", "nodeType": "VariableDeclaration", "scope": 125, "src": "1839:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 109, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1839:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 112, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 125, "src": "1852:14:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 111, "name": "address", "nodeType": "ElementaryTypeName", "src": "1852:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" } ], "src": "1838:29:1" }, "payable": false, "returnParameters": { "id": 124, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 115, "name": "", "nodeType": "VariableDeclaration", "scope": 125, "src": "1891:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 114, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1891:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 117, "name": "", "nodeType": "VariableDeclaration", "scope": 125, "src": "1897:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 116, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1897:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 119, "name": "", "nodeType": "VariableDeclaration", "scope": 125, "src": "1903:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 118, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1903:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 121, "name": "", "nodeType": "VariableDeclaration", "scope": 125, "src": "1909:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 120, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1909:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 123, "name": "", "nodeType": "VariableDeclaration", "scope": 125, "src": "1915:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 122, "name": "uint", "nodeType": "ElementaryTypeName", "src": "1915:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "1890:30:1" }, "scope": 126, "src": "1823:98:1", "stateMutability": "view", "superFunction": null, "visibility": "external" } ], "scope": 127, "src": "202:1721:1" } ], "src": "0:1924:1" }, "legacyAST": { "absolutePath": "/home/tsuberim/projects/daostack/access_control/contracts/ERC1480Interface.sol", "exportedSymbols": { "ERC1480Interface": [ 126 ] }, "id": 127, "nodeType": "SourceUnit", "nodes": [ { "id": 50, "literals": [ "solidity", "^", "0.4", ".24" ], "nodeType": "PragmaDirective", "src": "0:24:1" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "interface", "documentation": "@title ERC1480Interface - Access Control Interface\n @dev basic inteface for access control mechanism\n Note: the ERC-165 identifier for this interface is 0x33f9cb64.", "fullyImplemented": false, "id": 126, "linearizedBaseContracts": [ 126 ], "name": "ERC1480Interface", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": null, "id": 66, "name": "AssignKey", "nodeType": "EventDefinition", "parameters": { "id": 65, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 52, "indexed": true, "name": "_id", "nodeType": "VariableDeclaration", "scope": 66, "src": "261:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 51, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "261:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 54, "indexed": true, "name": "_from", "nodeType": "VariableDeclaration", "scope": 66, "src": "291:21:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 53, "name": "address", "nodeType": "ElementaryTypeName", "src": "291:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 56, "indexed": true, "name": "_to", "nodeType": "VariableDeclaration", "scope": 66, "src": "323:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 55, "name": "address", "nodeType": "ElementaryTypeName", "src": "323:7:1", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 58, "indexed": false, "name": "_assignable", "nodeType": "VariableDeclaration", "scope": 66, "src": "353:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 57, "name": "bool", "nodeType": "ElementaryTypeName", "src": "353:4:1", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 60, "indexed": false, "name": "_start", "nodeType": "VariableDeclaration", "scope": 66, "src": "380:11:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 59, "name": "uint", "nodeType": "ElementaryTypeName", "src": "380:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 62, "indexed": false, "name": "_expiration", "nodeType": "VariableDeclaration", "scope": 66, "src": "402:16:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 61, "name": "uint", "nodeType": "ElementaryTypeName", "src": "402:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 64, "indexed": false, "name": "_uses", "nodeType": "VariableDeclaration", "scope": 66, "src": "429:10:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 63, "name": "uint", "nodeType": "ElementaryTypeName", "src": "429:4:1", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "251:194:1" }, "src": "236:210:1" }, { "anonymous": false, "documentation": null, "id": 72, "name": "RevokeKey", "nodeType": "EventDefinition", "parameters": { "id": 71, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 68, "indexed": true, "name": "_id", "nodeType": "VariableDeclaration", "scope": 72, "src": "468:19:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 67, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "468:7:1", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 70, "indexed": true, "name": "_owner", "nodeType": "VariableDeclaration", "scope": 72, "src": "489:22:1", "stateVariable": false,