@daostack/access_control
Version:
Capability-based access control for Ethereum smart contracts.
1,442 lines (1,441 loc) • 74.5 kB
JSON
{
"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,