{
  "contractName": "SignatureInterface",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "userContract",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "id",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "documentsId",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "createdAt",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "deployer",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "signaturit",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "attribute",
          "type": "string"
        },
        {
          "name": "adr",
          "type": "address"
        }
      ],
      "name": "notify",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "notifyCreation",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        },
        {
          "name": "signatureType",
          "type": "string"
        },
        {
          "name": "documentCreatedAt",
          "type": "uint256"
        }
      ],
      "name": "createDocument",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        },
        {
          "name": "documentOwner",
          "type": "address"
        }
      ],
      "name": "setDocumentOwner",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        },
        {
          "name": "signedFileHash",
          "type": "string"
        }
      ],
      "name": "setSignedFileHash",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        },
        {
          "name": "cancelReason",
          "type": "string"
        }
      ],
      "name": "cancelDocument",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        },
        {
          "name": "fileId",
          "type": "string"
        },
        {
          "name": "fileName",
          "type": "string"
        },
        {
          "name": "fileHash",
          "type": "string"
        },
        {
          "name": "fileCreatedAt",
          "type": "uint256"
        },
        {
          "name": "fileSize",
          "type": "uint256"
        }
      ],
      "name": "createFile",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        },
        {
          "name": "eventId",
          "type": "string"
        },
        {
          "name": "eventType",
          "type": "string"
        },
        {
          "name": "eventUserAgent",
          "type": "string"
        },
        {
          "name": "eventCreatedAt",
          "type": "uint256"
        }
      ],
      "name": "createEvent",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "clauseType",
          "type": "string"
        }
      ],
      "name": "getClause",
      "outputs": [
        {
          "name": "clauseAddress",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        }
      ],
      "name": "getFile",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        }
      ],
      "name": "getDocument",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "getDocumentByIndex",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getDocumentsSize",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "documentId",
          "type": "string"
        },
        {
          "name": "eventId",
          "type": "string"
        }
      ],
      "name": "getEvent",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity <0.6.0;\n\nimport \"./DocumentInterface.sol\";\nimport \"./SignaturitUserInterface.sol\";\n\n\ncontract SignatureInterface {\n    address public signaturit;\n    address public deployer;\n    address public owner;\n\n    string public id;\n\n    string[] public documentsId;\n\n    int public createdAt;\n\n    mapping(string => DocumentInterface) private documents;\n\n    mapping(string => address) private clauses;\n\n    SignaturitUserInterface public userContract;\n\n    function notify(\n        string memory attribute,\n        address adr\n    )\n        public;\n    \n    function notifyCreation()\n        public;\n\n    function createDocument(\n        string memory documentId,\n        string memory signatureType,\n        uint documentCreatedAt\n    )\n        public;\n\n    function setDocumentOwner(\n        string memory documentId,\n        address documentOwner\n    )\n        public;\n\n    function setSignedFileHash(\n        string memory documentId,\n        string memory signedFileHash\n    )\n        public;\n\n    function cancelDocument(\n        string memory documentId,\n        string memory cancelReason\n    )\n        public;\n\n    function createFile(\n        string memory documentId,\n        string memory fileId,\n        string memory fileName,\n        string memory fileHash,\n        uint fileCreatedAt,\n        uint fileSize\n    )\n        public;\n\n    function createEvent(\n        string memory documentId,\n        string memory eventId,\n        string memory eventType,\n        string memory eventUserAgent,\n        uint eventCreatedAt\n    )\n        public;\n\n    function getClause(\n        string memory clauseType\n    )\n        public\n        view\n        returns (address clauseAddress);\n\n    function getFile(\n        string memory documentId\n    )\n        public\n        view\n        returns (address);\n\n    function getDocument(\n        string memory documentId\n    )\n        public\n        view\n        returns (address);\n\n    function getDocumentByIndex(\n        uint index\n    )\n        public\n        view\n        returns (address);\n\n    function getDocumentsSize()\n        public\n        view\n        returns (uint);\n\n    function getEvent(\n        string memory documentId,\n        string memory eventId\n    )\n        public\n        view\n        returns (address);\n\n    function _notifyEntityEvent (\n        string memory notifiersKey,\n        string memory createdEvent,\n        address adrToNotify\n    )\n        private;\n\n    function _getDocument(\n        string memory documentId\n    )\n        private\n        returns (DocumentInterface);\n\n    function _documentExist(\n        string memory documentId\n    )\n        private\n        view\n        returns (bool);\n}\n",
  "sourcePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/interfaces/SignatureInterface.sol",
  "ast": {
    "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/interfaces/SignatureInterface.sol",
    "exportedSymbols": {
      "SignatureInterface": [
        7088
      ]
    },
    "id": 7089,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6929,
        "literals": [
          "solidity",
          "<",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:29"
      },
      {
        "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/interfaces/DocumentInterface.sol",
        "file": "./DocumentInterface.sol",
        "id": 6930,
        "nodeType": "ImportDirective",
        "scope": 7089,
        "sourceUnit": 6881,
        "src": "25:33:29",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/interfaces/SignaturitUserInterface.sol",
        "file": "./SignaturitUserInterface.sol",
        "id": 6931,
        "nodeType": "ImportDirective",
        "scope": 7089,
        "sourceUnit": 7252,
        "src": "59:39:29",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": false,
        "id": 7088,
        "linearizedBaseContracts": [
          7088
        ],
        "name": "SignatureInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 6933,
            "name": "signaturit",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "135:25:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6932,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "135:7:29",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6935,
            "name": "deployer",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "166:23:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6934,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "166:7:29",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6937,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "195:20:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6936,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "195:7:29",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6939,
            "name": "id",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "222:16:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 6938,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "222:6:29",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6942,
            "name": "documentsId",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "245:27:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_string_storage_$dyn_storage",
              "typeString": "string[]"
            },
            "typeName": {
              "baseType": {
                "id": 6940,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "245:6:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "id": 6941,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "245:8:29",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                "typeString": "string[]"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6944,
            "name": "createdAt",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "279:20:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_int256",
              "typeString": "int256"
            },
            "typeName": {
              "id": 6943,
              "name": "int",
              "nodeType": "ElementaryTypeName",
              "src": "279:3:29",
              "typeDescriptions": {
                "typeIdentifier": "t_int256",
                "typeString": "int256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6948,
            "name": "documents",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "306:54:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_contract$_DocumentInterface_$6880_$",
              "typeString": "mapping(string => contract DocumentInterface)"
            },
            "typeName": {
              "id": 6947,
              "keyType": {
                "id": 6945,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "314:6:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "306:36:29",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_contract$_DocumentInterface_$6880_$",
                "typeString": "mapping(string => contract DocumentInterface)"
              },
              "valueType": {
                "contractScope": null,
                "id": 6946,
                "name": "DocumentInterface",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 6880,
                "src": "324:17:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_DocumentInterface_$6880",
                  "typeString": "contract DocumentInterface"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6952,
            "name": "clauses",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "367:42:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_address_$",
              "typeString": "mapping(string => address)"
            },
            "typeName": {
              "id": 6951,
              "keyType": {
                "id": 6949,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "375:6:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "367:26:29",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_address_$",
                "typeString": "mapping(string => address)"
              },
              "valueType": {
                "id": 6950,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "385:7:29",
                "stateMutability": "nonpayable",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6954,
            "name": "userContract",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "416:43:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
              "typeString": "contract SignaturitUserInterface"
            },
            "typeName": {
              "contractScope": null,
              "id": 6953,
              "name": "SignaturitUserInterface",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7251,
              "src": "416:23:29",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                "typeString": "contract SignaturitUserInterface"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6961,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "notify",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6959,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6956,
                  "name": "attribute",
                  "nodeType": "VariableDeclaration",
                  "scope": 6961,
                  "src": "491:23:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6955,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "491:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6958,
                  "name": "adr",
                  "nodeType": "VariableDeclaration",
                  "scope": 6961,
                  "src": "524:11:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6957,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "524:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "481:60:29"
            },
            "returnParameters": {
              "id": 6960,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "556:0:29"
            },
            "scope": 7088,
            "src": "466:91:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6964,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "notifyCreation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6962,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "590:2:29"
            },
            "returnParameters": {
              "id": 6963,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "607:0:29"
            },
            "scope": 7088,
            "src": "567:41:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6973,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6971,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6966,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6973,
                  "src": "647:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6965,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "647:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6968,
                  "name": "signatureType",
                  "nodeType": "VariableDeclaration",
                  "scope": 6973,
                  "src": "681:27:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6967,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "681:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6970,
                  "name": "documentCreatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 6973,
                  "src": "718:22:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6969,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "718:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "637:109:29"
            },
            "returnParameters": {
              "id": 6972,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "761:0:29"
            },
            "scope": 7088,
            "src": "614:148:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6980,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setDocumentOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6978,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6975,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6980,
                  "src": "803:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6974,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "803:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6977,
                  "name": "documentOwner",
                  "nodeType": "VariableDeclaration",
                  "scope": 6980,
                  "src": "837:21:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6976,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "793:71:29"
            },
            "returnParameters": {
              "id": 6979,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "879:0:29"
            },
            "scope": 7088,
            "src": "768:112:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6987,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSignedFileHash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6985,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6982,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6987,
                  "src": "922:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6981,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "922:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6984,
                  "name": "signedFileHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 6987,
                  "src": "956:28:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6983,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "956:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "912:78:29"
            },
            "returnParameters": {
              "id": 6986,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1005:0:29"
            },
            "scope": 7088,
            "src": "886:120:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6994,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "cancelDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6992,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6989,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6994,
                  "src": "1045:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6988,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1045:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6991,
                  "name": "cancelReason",
                  "nodeType": "VariableDeclaration",
                  "scope": 6994,
                  "src": "1079:26:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6990,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1079:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1035:76:29"
            },
            "returnParameters": {
              "id": 6993,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1126:0:29"
            },
            "scope": 7088,
            "src": "1012:115:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7009,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createFile",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7007,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6996,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1162:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6995,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1162:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6998,
                  "name": "fileId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1196:20:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6997,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1196:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7000,
                  "name": "fileName",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1226:22:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6999,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1226:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7002,
                  "name": "fileHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1258:22:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7001,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1258:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7004,
                  "name": "fileCreatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1290:18:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7003,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1290:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7006,
                  "name": "fileSize",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1318:13:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7005,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1318:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1152:185:29"
            },
            "returnParameters": {
              "id": 7008,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1352:0:29"
            },
            "scope": 7088,
            "src": "1133:220:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7022,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createEvent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7020,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7011,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1389:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7010,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1389:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7013,
                  "name": "eventId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1423:21:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7012,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1423:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7015,
                  "name": "eventType",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1454:23:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7014,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1454:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7017,
                  "name": "eventUserAgent",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1487:28:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7016,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1487:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7019,
                  "name": "eventCreatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1525:19:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7018,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1525:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1379:171:29"
            },
            "returnParameters": {
              "id": 7021,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1565:0:29"
            },
            "scope": 7088,
            "src": "1359:207:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7029,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getClause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7025,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7024,
                  "name": "clauseType",
                  "nodeType": "VariableDeclaration",
                  "scope": 7029,
                  "src": "1600:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7023,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1600:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1590:40:29"
            },
            "returnParameters": {
              "id": 7028,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7027,
                  "name": "clauseAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 7029,
                  "src": "1676:21:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7026,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1676:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1675:23:29"
            },
            "scope": 7088,
            "src": "1572:127:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7036,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFile",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7032,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7031,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7036,
                  "src": "1731:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7030,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1731:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1721:40:29"
            },
            "returnParameters": {
              "id": 7035,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7034,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7036,
                  "src": "1807:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7033,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1807:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1806:9:29"
            },
            "scope": 7088,
            "src": "1705:111:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7043,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7039,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7038,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7043,
                  "src": "1852:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7037,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1852:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1842:40:29"
            },
            "returnParameters": {
              "id": 7042,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7041,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7043,
                  "src": "1928:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7040,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1928:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1927:9:29"
            },
            "scope": 7088,
            "src": "1822:115:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7050,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDocumentByIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7046,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7045,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7050,
                  "src": "1980:10:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7044,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1980:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1970:26:29"
            },
            "returnParameters": {
              "id": 7049,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7048,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7050,
                  "src": "2042:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7047,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2042:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2041:9:29"
            },
            "scope": 7088,
            "src": "1943:108:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7055,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDocumentsSize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7051,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2082:2:29"
            },
            "returnParameters": {
              "id": 7054,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7053,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7055,
                  "src": "2130:4:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7052,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2130:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2129:6:29"
            },
            "scope": 7088,
            "src": "2057:79:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7064,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getEvent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7060,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7057,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7064,
                  "src": "2169:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7056,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2169:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7059,
                  "name": "eventId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7064,
                  "src": "2203:21:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7058,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2203:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2159:71:29"
            },
            "returnParameters": {
              "id": 7063,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7062,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7064,
                  "src": "2276:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7061,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2276:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2275:9:29"
            },
            "scope": 7088,
            "src": "2142:143:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7073,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_notifyEntityEvent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7071,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7066,
                  "name": "notifiersKey",
                  "nodeType": "VariableDeclaration",
                  "scope": 7073,
                  "src": "2329:26:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7065,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2329:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7068,
                  "name": "createdEvent",
                  "nodeType": "VariableDeclaration",
                  "scope": 7073,
                  "src": "2365:26:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7067,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2365:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7070,
                  "name": "adrToNotify",
                  "nodeType": "VariableDeclaration",
                  "scope": 7073,
                  "src": "2401:19:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7069,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2401:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2319:107:29"
            },
            "returnParameters": {
              "id": 7072,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2442:0:29"
            },
            "scope": 7088,
            "src": "2291:152:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7080,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_getDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7076,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7075,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7080,
                  "src": "2480:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7074,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2480:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2470:40:29"
            },
            "returnParameters": {
              "id": 7079,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7078,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7080,
                  "src": "2544:17:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DocumentInterface_$6880",
                    "typeString": "contract DocumentInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 7077,
                    "name": "DocumentInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 6880,
                    "src": "2544:17:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DocumentInterface_$6880",
                      "typeString": "contract DocumentInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2543:19:29"
            },
            "scope": 7088,
            "src": "2449:114:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7087,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_documentExist",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7083,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7082,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7087,
                  "src": "2602:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7081,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2602:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2592:40:29"
            },
            "returnParameters": {
              "id": 7086,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7085,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7087,
                  "src": "2679:4:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7084,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2679:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2678:6:29"
            },
            "scope": 7088,
            "src": "2569:116:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 7089,
        "src": "101:2586:29"
      }
    ],
    "src": "0:2688:29"
  },
  "legacyAST": {
    "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/interfaces/SignatureInterface.sol",
    "exportedSymbols": {
      "SignatureInterface": [
        7088
      ]
    },
    "id": 7089,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 6929,
        "literals": [
          "solidity",
          "<",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:29"
      },
      {
        "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/interfaces/DocumentInterface.sol",
        "file": "./DocumentInterface.sol",
        "id": 6930,
        "nodeType": "ImportDirective",
        "scope": 7089,
        "sourceUnit": 6881,
        "src": "25:33:29",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/interfaces/SignaturitUserInterface.sol",
        "file": "./SignaturitUserInterface.sol",
        "id": 6931,
        "nodeType": "ImportDirective",
        "scope": 7089,
        "sourceUnit": 7252,
        "src": "59:39:29",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [],
        "contractDependencies": [],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": false,
        "id": 7088,
        "linearizedBaseContracts": [
          7088
        ],
        "name": "SignatureInterface",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": false,
            "id": 6933,
            "name": "signaturit",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "135:25:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6932,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "135:7:29",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6935,
            "name": "deployer",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "166:23:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6934,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "166:7:29",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6937,
            "name": "owner",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "195:20:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_address",
              "typeString": "address"
            },
            "typeName": {
              "id": 6936,
              "name": "address",
              "nodeType": "ElementaryTypeName",
              "src": "195:7:29",
              "stateMutability": "nonpayable",
              "typeDescriptions": {
                "typeIdentifier": "t_address",
                "typeString": "address"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6939,
            "name": "id",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "222:16:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_storage",
              "typeString": "string"
            },
            "typeName": {
              "id": 6938,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "222:6:29",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6942,
            "name": "documentsId",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "245:27:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_string_storage_$dyn_storage",
              "typeString": "string[]"
            },
            "typeName": {
              "baseType": {
                "id": 6940,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "245:6:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "id": 6941,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "245:8:29",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr",
                "typeString": "string[]"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6944,
            "name": "createdAt",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "279:20:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_int256",
              "typeString": "int256"
            },
            "typeName": {
              "id": 6943,
              "name": "int",
              "nodeType": "ElementaryTypeName",
              "src": "279:3:29",
              "typeDescriptions": {
                "typeIdentifier": "t_int256",
                "typeString": "int256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 6948,
            "name": "documents",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "306:54:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_contract$_DocumentInterface_$6880_$",
              "typeString": "mapping(string => contract DocumentInterface)"
            },
            "typeName": {
              "id": 6947,
              "keyType": {
                "id": 6945,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "314:6:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "306:36:29",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_contract$_DocumentInterface_$6880_$",
                "typeString": "mapping(string => contract DocumentInterface)"
              },
              "valueType": {
                "contractScope": null,
                "id": 6946,
                "name": "DocumentInterface",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 6880,
                "src": "324:17:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_contract$_DocumentInterface_$6880",
                  "typeString": "contract DocumentInterface"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6952,
            "name": "clauses",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "367:42:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_string_memory_$_t_address_$",
              "typeString": "mapping(string => address)"
            },
            "typeName": {
              "id": 6951,
              "keyType": {
                "id": 6949,
                "name": "string",
                "nodeType": "ElementaryTypeName",
                "src": "375:6:29",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                }
              },
              "nodeType": "Mapping",
              "src": "367:26:29",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_string_memory_$_t_address_$",
                "typeString": "mapping(string => address)"
              },
              "valueType": {
                "id": 6950,
                "name": "address",
                "nodeType": "ElementaryTypeName",
                "src": "385:7:29",
                "stateMutability": "nonpayable",
                "typeDescriptions": {
                  "typeIdentifier": "t_address",
                  "typeString": "address"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "constant": false,
            "id": 6954,
            "name": "userContract",
            "nodeType": "VariableDeclaration",
            "scope": 7088,
            "src": "416:43:29",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
              "typeString": "contract SignaturitUserInterface"
            },
            "typeName": {
              "contractScope": null,
              "id": 6953,
              "name": "SignaturitUserInterface",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7251,
              "src": "416:23:29",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                "typeString": "contract SignaturitUserInterface"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6961,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "notify",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6959,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6956,
                  "name": "attribute",
                  "nodeType": "VariableDeclaration",
                  "scope": 6961,
                  "src": "491:23:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6955,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "491:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6958,
                  "name": "adr",
                  "nodeType": "VariableDeclaration",
                  "scope": 6961,
                  "src": "524:11:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6957,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "524:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "481:60:29"
            },
            "returnParameters": {
              "id": 6960,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "556:0:29"
            },
            "scope": 7088,
            "src": "466:91:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6964,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "notifyCreation",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6962,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "590:2:29"
            },
            "returnParameters": {
              "id": 6963,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "607:0:29"
            },
            "scope": 7088,
            "src": "567:41:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6973,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6971,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6966,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6973,
                  "src": "647:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6965,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "647:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6968,
                  "name": "signatureType",
                  "nodeType": "VariableDeclaration",
                  "scope": 6973,
                  "src": "681:27:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6967,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "681:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6970,
                  "name": "documentCreatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 6973,
                  "src": "718:22:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 6969,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "718:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "637:109:29"
            },
            "returnParameters": {
              "id": 6972,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "761:0:29"
            },
            "scope": 7088,
            "src": "614:148:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6980,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setDocumentOwner",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6978,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6975,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6980,
                  "src": "803:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6974,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "803:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6977,
                  "name": "documentOwner",
                  "nodeType": "VariableDeclaration",
                  "scope": 6980,
                  "src": "837:21:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 6976,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "837:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "793:71:29"
            },
            "returnParameters": {
              "id": 6979,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "879:0:29"
            },
            "scope": 7088,
            "src": "768:112:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6987,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "setSignedFileHash",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6985,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6982,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6987,
                  "src": "922:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6981,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "922:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6984,
                  "name": "signedFileHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 6987,
                  "src": "956:28:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6983,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "956:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "912:78:29"
            },
            "returnParameters": {
              "id": 6986,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1005:0:29"
            },
            "scope": 7088,
            "src": "886:120:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 6994,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "cancelDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 6992,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6989,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 6994,
                  "src": "1045:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6988,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1045:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6991,
                  "name": "cancelReason",
                  "nodeType": "VariableDeclaration",
                  "scope": 6994,
                  "src": "1079:26:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6990,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1079:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1035:76:29"
            },
            "returnParameters": {
              "id": 6993,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1126:0:29"
            },
            "scope": 7088,
            "src": "1012:115:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7009,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createFile",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7007,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 6996,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1162:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6995,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1162:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 6998,
                  "name": "fileId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1196:20:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6997,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1196:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7000,
                  "name": "fileName",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1226:22:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 6999,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1226:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7002,
                  "name": "fileHash",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1258:22:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7001,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1258:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7004,
                  "name": "fileCreatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1290:18:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7003,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1290:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7006,
                  "name": "fileSize",
                  "nodeType": "VariableDeclaration",
                  "scope": 7009,
                  "src": "1318:13:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7005,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1318:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1152:185:29"
            },
            "returnParameters": {
              "id": 7008,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1352:0:29"
            },
            "scope": 7088,
            "src": "1133:220:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7022,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "createEvent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7020,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7011,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1389:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7010,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1389:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7013,
                  "name": "eventId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1423:21:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7012,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1423:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7015,
                  "name": "eventType",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1454:23:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7014,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1454:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7017,
                  "name": "eventUserAgent",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1487:28:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7016,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1487:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7019,
                  "name": "eventCreatedAt",
                  "nodeType": "VariableDeclaration",
                  "scope": 7022,
                  "src": "1525:19:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7018,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1525:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1379:171:29"
            },
            "returnParameters": {
              "id": 7021,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1565:0:29"
            },
            "scope": 7088,
            "src": "1359:207:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7029,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getClause",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7025,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7024,
                  "name": "clauseType",
                  "nodeType": "VariableDeclaration",
                  "scope": 7029,
                  "src": "1600:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7023,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1600:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1590:40:29"
            },
            "returnParameters": {
              "id": 7028,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7027,
                  "name": "clauseAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 7029,
                  "src": "1676:21:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7026,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1676:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1675:23:29"
            },
            "scope": 7088,
            "src": "1572:127:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7036,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getFile",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7032,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7031,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7036,
                  "src": "1731:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7030,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1731:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1721:40:29"
            },
            "returnParameters": {
              "id": 7035,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7034,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7036,
                  "src": "1807:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7033,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1807:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1806:9:29"
            },
            "scope": 7088,
            "src": "1705:111:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7043,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7039,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7038,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7043,
                  "src": "1852:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7037,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1852:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1842:40:29"
            },
            "returnParameters": {
              "id": 7042,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7041,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7043,
                  "src": "1928:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7040,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1928:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1927:9:29"
            },
            "scope": 7088,
            "src": "1822:115:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7050,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDocumentByIndex",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7046,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7045,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 7050,
                  "src": "1980:10:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7044,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1980:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1970:26:29"
            },
            "returnParameters": {
              "id": 7049,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7048,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7050,
                  "src": "2042:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7047,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2042:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2041:9:29"
            },
            "scope": 7088,
            "src": "1943:108:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7055,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getDocumentsSize",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7051,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2082:2:29"
            },
            "returnParameters": {
              "id": 7054,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7053,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7055,
                  "src": "2130:4:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 7052,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2130:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2129:6:29"
            },
            "scope": 7088,
            "src": "2057:79:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7064,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getEvent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7060,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7057,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7064,
                  "src": "2169:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7056,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2169:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7059,
                  "name": "eventId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7064,
                  "src": "2203:21:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7058,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2203:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2159:71:29"
            },
            "returnParameters": {
              "id": 7063,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7062,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7064,
                  "src": "2276:7:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7061,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2276:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2275:9:29"
            },
            "scope": 7088,
            "src": "2142:143:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7073,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_notifyEntityEvent",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7071,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7066,
                  "name": "notifiersKey",
                  "nodeType": "VariableDeclaration",
                  "scope": 7073,
                  "src": "2329:26:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7065,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2329:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7068,
                  "name": "createdEvent",
                  "nodeType": "VariableDeclaration",
                  "scope": 7073,
                  "src": "2365:26:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7067,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2365:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 7070,
                  "name": "adrToNotify",
                  "nodeType": "VariableDeclaration",
                  "scope": 7073,
                  "src": "2401:19:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 7069,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2401:7:29",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2319:107:29"
            },
            "returnParameters": {
              "id": 7072,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2442:0:29"
            },
            "scope": 7088,
            "src": "2291:152:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7080,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_getDocument",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7076,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7075,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7080,
                  "src": "2480:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7074,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2480:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2470:40:29"
            },
            "returnParameters": {
              "id": 7079,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7078,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7080,
                  "src": "2544:17:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_DocumentInterface_$6880",
                    "typeString": "contract DocumentInterface"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 7077,
                    "name": "DocumentInterface",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 6880,
                    "src": "2544:17:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_DocumentInterface_$6880",
                      "typeString": "contract DocumentInterface"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2543:19:29"
            },
            "scope": 7088,
            "src": "2449:114:29",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "private"
          },
          {
            "body": null,
            "documentation": null,
            "id": 7087,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "_documentExist",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 7083,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7082,
                  "name": "documentId",
                  "nodeType": "VariableDeclaration",
                  "scope": 7087,
                  "src": "2602:24:29",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 7081,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2602:6:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2592:40:29"
            },
            "returnParameters": {
              "id": 7086,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 7085,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 7087,
                  "src": "2679:4:29",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 7084,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2679:4:29",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2678:6:29"
            },
            "scope": 7088,
            "src": "2569:116:29",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "private"
          }
        ],
        "scope": 7089,
        "src": "101:2586:29"
      }
    ],
    "src": "0:2688:29"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.0+commit.1d4f565a.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.3",
  "updatedAt": "2020-01-15T10:55:50.249Z"
}