{
  "contractName": "IERC735",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "claimId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "topic",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "scheme",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "issuer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "name": "ClaimAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "claimId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "topic",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "scheme",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "issuer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "name": "ClaimChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "claimId",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "topic",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "scheme",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "issuer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "name": "ClaimRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "claimRequestId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "topic",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "scheme",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "issuer",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "name": "ClaimRequested",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_claimId",
          "type": "bytes32"
        }
      ],
      "name": "getClaim",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "topic",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "scheme",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "issuer",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "signature",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "string",
          "name": "uri",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_topic",
          "type": "uint256"
        }
      ],
      "name": "getClaimIdsByTopic",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "claimIds",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_topic",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_scheme",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "issuer",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_signature",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        },
        {
          "internalType": "string",
          "name": "_uri",
          "type": "string"
        }
      ],
      "name": "addClaim",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "claimRequestId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_claimId",
          "type": "bytes32"
        }
      ],
      "name": "removeClaim",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"claimId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"topic\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scheme\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"ClaimAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"claimId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"topic\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scheme\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"ClaimChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"claimId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"topic\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scheme\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"ClaimRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"claimRequestId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"topic\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scheme\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"ClaimRequested\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_topic\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_scheme\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"addClaim\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"claimRequestId\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_claimId\",\"type\":\"bytes32\"}],\"name\":\"getClaim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"topic\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"scheme\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_topic\",\"type\":\"uint256\"}],\"name\":\"getClaimIdsByTopic\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"claimIds\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_claimId\",\"type\":\"bytes32\"}],\"name\":\"removeClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"interface of the ERC735 (Claim Holder) standard as defined in the EIP.\",\"events\":{\"ClaimAdded(bytes32,uint256,uint256,address,bytes,bytes,string)\":{\"details\":\"Emitted when a claim was added. Specification: MUST be triggered when a claim was successfully added.\"},\"ClaimChanged(bytes32,uint256,uint256,address,bytes,bytes,string)\":{\"details\":\"Emitted when a claim was changed. Specification: MUST be triggered when changeClaim was successfully called.\"},\"ClaimRemoved(bytes32,uint256,uint256,address,bytes,bytes,string)\":{\"details\":\"Emitted when a claim was removed. Specification: MUST be triggered when removeClaim was successfully called.\"},\"ClaimRequested(uint256,uint256,uint256,address,bytes,bytes,string)\":{\"details\":\"Emitted when a claim request was performed. Specification: Is not clear\"}},\"kind\":\"dev\",\"methods\":{\"addClaim(uint256,uint256,address,bytes,bytes,string)\":{\"details\":\"Add or update a claim. Triggers Event: `ClaimRequested`, `ClaimAdded`, `ClaimChanged` Specification: Requests the ADDITION or the CHANGE of a claim from an issuer. Claims can requested to be added by anybody, including the claim holder itself (self issued). _signature is a signed message of the following structure: `keccak256(abi.encode(address identityHolder_address, uint256 topic, bytes data))`. Claim IDs are generated using `keccak256(abi.encode(address issuer_address + uint256 topic))`. This COULD implement an approval process for pending claims, or add them right away. MUST return a claimRequestId (use claim ID) that COULD be sent to the approve function.\"},\"getClaim(bytes32)\":{\"details\":\"Get a claim by its ID. Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`.\"},\"getClaimIdsByTopic(uint256)\":{\"details\":\"Returns an array of claim IDs by topic.\"},\"removeClaim(bytes32)\":{\"details\":\"Removes a claim. Triggers Event: `ClaimRemoved` Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@onchain-id/solidity/contracts/interface/IERC735.sol\":\"IERC735\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10},\"remappings\":[]},\"sources\":{\"@onchain-id/solidity/contracts/interface/IERC735.sol\":{\"keccak256\":\"0x3b77ce6012a96cf0075197cdeb1b98b66ca1722ef23241e40ba6185f03bf4584\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://766e139f0c3cc0c6489561e75df0d8eab8c277f90009e4fa19add4f22bb40d82\",\"dweb:/ipfs/QmcbAReZn9nLcnYn9AHiDmcYJ42JqAU5QSy4dKhUcJUnjy\"]}},\"version\":1}",
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "immutableReferences": {},
  "generatedSources": [],
  "deployedGeneratedSources": [],
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.0;\n\n/**\n * @dev interface of the ERC735 (Claim Holder) standard as defined in the EIP.\n */\ninterface IERC735 {\n\n    /**\n     * @dev Emitted when a claim request was performed.\n     *\n     * Specification: Is not clear\n     */\n    event ClaimRequested(uint256 indexed claimRequestId, uint256 indexed topic, uint256 scheme, address indexed issuer, bytes signature, bytes data, string uri);\n\n    /**\n     * @dev Emitted when a claim was added.\n     *\n     * Specification: MUST be triggered when a claim was successfully added.\n     */\n    event ClaimAdded(bytes32 indexed claimId, uint256 indexed topic, uint256 scheme, address indexed issuer, bytes signature, bytes data, string uri);\n\n    /**\n     * @dev Emitted when a claim was removed.\n     *\n     * Specification: MUST be triggered when removeClaim was successfully called.\n     */\n    event ClaimRemoved(bytes32 indexed claimId, uint256 indexed topic, uint256 scheme, address indexed issuer, bytes signature, bytes data, string uri);\n\n    /**\n     * @dev Emitted when a claim was changed.\n     *\n     * Specification: MUST be triggered when changeClaim was successfully called.\n     */\n    event ClaimChanged(bytes32 indexed claimId, uint256 indexed topic, uint256 scheme, address indexed issuer, bytes signature, bytes data, string uri);\n\n    /**\n     * @dev Get a claim by its ID.\n     *\n     * Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`.\n     */\n    function getClaim(bytes32 _claimId) external view returns(uint256 topic, uint256 scheme, address issuer, bytes memory signature, bytes memory data, string memory uri);\n\n    /**\n     * @dev Returns an array of claim IDs by topic.\n     */\n    function getClaimIdsByTopic(uint256 _topic) external view returns(bytes32[] memory claimIds);\n\n    /**\n     * @dev Add or update a claim.\n     *\n     * Triggers Event: `ClaimRequested`, `ClaimAdded`, `ClaimChanged`\n     *\n     * Specification: Requests the ADDITION or the CHANGE of a claim from an issuer.\n     * Claims can requested to be added by anybody, including the claim holder itself (self issued).\n     *\n     * _signature is a signed message of the following structure: `keccak256(abi.encode(address identityHolder_address, uint256 topic, bytes data))`.\n     * Claim IDs are generated using `keccak256(abi.encode(address issuer_address + uint256 topic))`.\n     *\n     * This COULD implement an approval process for pending claims, or add them right away.\n     * MUST return a claimRequestId (use claim ID) that COULD be sent to the approve function.\n     */\n    function addClaim(uint256 _topic, uint256 _scheme, address issuer, bytes calldata _signature, bytes calldata _data, string calldata _uri) external returns (bytes32 claimRequestId);\n\n    /**\n     * @dev Removes a claim.\n     *\n     * Triggers Event: `ClaimRemoved`\n     *\n     * Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`.\n     */\n    function removeClaim(bytes32 _claimId) external returns (bool success);\n}\n",
  "sourcePath": "@onchain-id/solidity/contracts/interface/IERC735.sol",
  "ast": {
    "absolutePath": "@onchain-id/solidity/contracts/interface/IERC735.sol",
    "exportedSymbols": {
      "IERC735": [
        1734
      ]
    },
    "id": 1735,
    "license": "GPL-3.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1611,
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "36:23:4"
      },
      {
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "IERC735",
        "contractDependencies": [],
        "contractKind": "interface",
        "documentation": {
          "id": 1612,
          "nodeType": "StructuredDocumentation",
          "src": "61:86:4",
          "text": " @dev interface of the ERC735 (Claim Holder) standard as defined in the EIP."
        },
        "fullyImplemented": false,
        "id": 1734,
        "linearizedBaseContracts": [
          1734
        ],
        "name": "IERC735",
        "nameLocation": "158:7:4",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "anonymous": false,
            "documentation": {
              "id": 1613,
              "nodeType": "StructuredDocumentation",
              "src": "173:109:4",
              "text": " @dev Emitted when a claim request was performed.\n Specification: Is not clear"
            },
            "eventSelector": "e6b6db97dedfb44cbced367387e40b3f92dbee1b1be87f9367f7b673532b0d69",
            "id": 1629,
            "name": "ClaimRequested",
            "nameLocation": "293:14:4",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1628,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1615,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "claimRequestId",
                  "nameLocation": "324:14:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1629,
                  "src": "308:30:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1614,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "308:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1617,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "topic",
                  "nameLocation": "356:5:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1629,
                  "src": "340:21:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1616,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "340:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1619,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "scheme",
                  "nameLocation": "371:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1629,
                  "src": "363:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1618,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "363:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1621,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "issuer",
                  "nameLocation": "395:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1629,
                  "src": "379:22:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1620,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "379:7:4",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1623,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "signature",
                  "nameLocation": "409:9:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1629,
                  "src": "403:15:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1622,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "403:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1625,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "426:4:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1629,
                  "src": "420:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1624,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "420:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1627,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "uri",
                  "nameLocation": "439:3:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1629,
                  "src": "432:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1626,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "432:6:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "307:136:4"
            },
            "src": "287:157:4"
          },
          {
            "anonymous": false,
            "documentation": {
              "id": 1630,
              "nodeType": "StructuredDocumentation",
              "src": "450:139:4",
              "text": " @dev Emitted when a claim was added.\n Specification: MUST be triggered when a claim was successfully added."
            },
            "eventSelector": "46149b18aa084502c3f12bc75e19eda8bda8d102b82cce8474677a6d0d5f43c5",
            "id": 1646,
            "name": "ClaimAdded",
            "nameLocation": "600:10:4",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1645,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1632,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "627:7:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1646,
                  "src": "611:23:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1631,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "611:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1634,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "topic",
                  "nameLocation": "652:5:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1646,
                  "src": "636:21:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1633,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "636:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1636,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "scheme",
                  "nameLocation": "667:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1646,
                  "src": "659:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1635,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "659:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1638,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "issuer",
                  "nameLocation": "691:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1646,
                  "src": "675:22:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1637,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "675:7:4",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1640,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "signature",
                  "nameLocation": "705:9:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1646,
                  "src": "699:15:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1639,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "699:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1642,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "722:4:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1646,
                  "src": "716:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1641,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "716:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1644,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "uri",
                  "nameLocation": "735:3:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1646,
                  "src": "728:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1643,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "728:6:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "610:129:4"
            },
            "src": "594:146:4"
          },
          {
            "anonymous": false,
            "documentation": {
              "id": 1647,
              "nodeType": "StructuredDocumentation",
              "src": "746:146:4",
              "text": " @dev Emitted when a claim was removed.\n Specification: MUST be triggered when removeClaim was successfully called."
            },
            "eventSelector": "3cf57863a89432c61c4a27073c6ee39e8a764bff5a05aebfbcdcdc80b2e6130a",
            "id": 1663,
            "name": "ClaimRemoved",
            "nameLocation": "903:12:4",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1662,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1649,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "932:7:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1663,
                  "src": "916:23:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1648,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "916:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1651,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "topic",
                  "nameLocation": "957:5:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1663,
                  "src": "941:21:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1650,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "941:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1653,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "scheme",
                  "nameLocation": "972:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1663,
                  "src": "964:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1652,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "964:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1655,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "issuer",
                  "nameLocation": "996:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1663,
                  "src": "980:22:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1654,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "980:7:4",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1657,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "signature",
                  "nameLocation": "1010:9:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1663,
                  "src": "1004:15:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1656,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1004:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1659,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1027:4:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1663,
                  "src": "1021:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1658,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1021:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1661,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "uri",
                  "nameLocation": "1040:3:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1663,
                  "src": "1033:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1660,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1033:6:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "915:129:4"
            },
            "src": "897:148:4"
          },
          {
            "anonymous": false,
            "documentation": {
              "id": 1664,
              "nodeType": "StructuredDocumentation",
              "src": "1051:146:4",
              "text": " @dev Emitted when a claim was changed.\n Specification: MUST be triggered when changeClaim was successfully called."
            },
            "eventSelector": "3bab293fc00db832d7619a9299914251b8747c036867ec056cbd506f60135b13",
            "id": 1680,
            "name": "ClaimChanged",
            "nameLocation": "1208:12:4",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 1679,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1666,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "claimId",
                  "nameLocation": "1237:7:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1680,
                  "src": "1221:23:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1665,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1221:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1668,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "topic",
                  "nameLocation": "1262:5:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1680,
                  "src": "1246:21:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1667,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1246:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1670,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "scheme",
                  "nameLocation": "1277:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1680,
                  "src": "1269:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1669,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1269:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1672,
                  "indexed": true,
                  "mutability": "mutable",
                  "name": "issuer",
                  "nameLocation": "1301:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1680,
                  "src": "1285:22:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1671,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1285:7:4",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1674,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "signature",
                  "nameLocation": "1315:9:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1680,
                  "src": "1309:15:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1673,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1309:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1676,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1332:4:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1680,
                  "src": "1326:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1675,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1326:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1678,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "uri",
                  "nameLocation": "1345:3:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1680,
                  "src": "1338:10:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1677,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1338:6:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1220:129:4"
            },
            "src": "1202:148:4"
          },
          {
            "documentation": {
              "id": 1681,
              "nodeType": "StructuredDocumentation",
              "src": "1356:154:4",
              "text": " @dev Get a claim by its ID.\n Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`."
            },
            "functionSelector": "c9100bcb",
            "id": 1698,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getClaim",
            "nameLocation": "1524:8:4",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1684,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1683,
                  "mutability": "mutable",
                  "name": "_claimId",
                  "nameLocation": "1541:8:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1698,
                  "src": "1533:16:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1682,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1533:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1532:18:4"
            },
            "returnParameters": {
              "id": 1697,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1686,
                  "mutability": "mutable",
                  "name": "topic",
                  "nameLocation": "1581:5:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1698,
                  "src": "1573:13:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1685,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1573:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1688,
                  "mutability": "mutable",
                  "name": "scheme",
                  "nameLocation": "1596:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1698,
                  "src": "1588:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1687,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1588:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1690,
                  "mutability": "mutable",
                  "name": "issuer",
                  "nameLocation": "1612:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1698,
                  "src": "1604:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1689,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1604:7:4",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1692,
                  "mutability": "mutable",
                  "name": "signature",
                  "nameLocation": "1633:9:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1698,
                  "src": "1620:22:4",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1691,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1620:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1694,
                  "mutability": "mutable",
                  "name": "data",
                  "nameLocation": "1657:4:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1698,
                  "src": "1644:17:4",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1693,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "1644:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1696,
                  "mutability": "mutable",
                  "name": "uri",
                  "nameLocation": "1677:3:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1698,
                  "src": "1663:17:4",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1695,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1663:6:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1572:109:4"
            },
            "scope": 1734,
            "src": "1515:167:4",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 1699,
              "nodeType": "StructuredDocumentation",
              "src": "1688:63:4",
              "text": " @dev Returns an array of claim IDs by topic."
            },
            "functionSelector": "80e9e9e1",
            "id": 1707,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "getClaimIdsByTopic",
            "nameLocation": "1765:18:4",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1702,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1701,
                  "mutability": "mutable",
                  "name": "_topic",
                  "nameLocation": "1792:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1707,
                  "src": "1784:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1700,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1784:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1783:16:4"
            },
            "returnParameters": {
              "id": 1706,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1705,
                  "mutability": "mutable",
                  "name": "claimIds",
                  "nameLocation": "1839:8:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1707,
                  "src": "1822:25:4",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr",
                    "typeString": "bytes32[]"
                  },
                  "typeName": {
                    "baseType": {
                      "id": 1703,
                      "name": "bytes32",
                      "nodeType": "ElementaryTypeName",
                      "src": "1822:7:4",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "id": 1704,
                    "nodeType": "ArrayTypeName",
                    "src": "1822:9:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr",
                      "typeString": "bytes32[]"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1821:27:4"
            },
            "scope": 1734,
            "src": "1756:93:4",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 1708,
              "nodeType": "StructuredDocumentation",
              "src": "1855:769:4",
              "text": " @dev Add or update a claim.\n Triggers Event: `ClaimRequested`, `ClaimAdded`, `ClaimChanged`\n Specification: Requests the ADDITION or the CHANGE of a claim from an issuer.\n Claims can requested to be added by anybody, including the claim holder itself (self issued).\n _signature is a signed message of the following structure: `keccak256(abi.encode(address identityHolder_address, uint256 topic, bytes data))`.\n Claim IDs are generated using `keccak256(abi.encode(address issuer_address + uint256 topic))`.\n This COULD implement an approval process for pending claims, or add them right away.\n MUST return a claimRequestId (use claim ID) that COULD be sent to the approve function."
            },
            "functionSelector": "b1a34e0d",
            "id": 1725,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "addClaim",
            "nameLocation": "2638:8:4",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1721,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1710,
                  "mutability": "mutable",
                  "name": "_topic",
                  "nameLocation": "2655:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1725,
                  "src": "2647:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1709,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2647:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1712,
                  "mutability": "mutable",
                  "name": "_scheme",
                  "nameLocation": "2671:7:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1725,
                  "src": "2663:15:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1711,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2663:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1714,
                  "mutability": "mutable",
                  "name": "issuer",
                  "nameLocation": "2688:6:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1725,
                  "src": "2680:14:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1713,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2680:7:4",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1716,
                  "mutability": "mutable",
                  "name": "_signature",
                  "nameLocation": "2711:10:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1725,
                  "src": "2696:25:4",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1715,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2696:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1718,
                  "mutability": "mutable",
                  "name": "_data",
                  "nameLocation": "2738:5:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1725,
                  "src": "2723:20:4",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_calldata_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1717,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2723:5:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1720,
                  "mutability": "mutable",
                  "name": "_uri",
                  "nameLocation": "2761:4:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1725,
                  "src": "2745:20:4",
                  "stateVariable": false,
                  "storageLocation": "calldata",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_calldata_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1719,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "2745:6:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2646:120:4"
            },
            "returnParameters": {
              "id": 1724,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1723,
                  "mutability": "mutable",
                  "name": "claimRequestId",
                  "nameLocation": "2793:14:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1725,
                  "src": "2785:22:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1722,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2785:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "2784:24:4"
            },
            "scope": 1734,
            "src": "2629:180:4",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "documentation": {
              "id": 1726,
              "nodeType": "StructuredDocumentation",
              "src": "2815:193:4",
              "text": " @dev Removes a claim.\n Triggers Event: `ClaimRemoved`\n Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`."
            },
            "functionSelector": "4eee424a",
            "id": 1733,
            "implemented": false,
            "kind": "function",
            "modifiers": [],
            "name": "removeClaim",
            "nameLocation": "3022:11:4",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 1729,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1728,
                  "mutability": "mutable",
                  "name": "_claimId",
                  "nameLocation": "3042:8:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1733,
                  "src": "3034:16:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1727,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3034:7:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3033:18:4"
            },
            "returnParameters": {
              "id": 1732,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1731,
                  "mutability": "mutable",
                  "name": "success",
                  "nameLocation": "3075:7:4",
                  "nodeType": "VariableDeclaration",
                  "scope": 1733,
                  "src": "3070:12:4",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 1730,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3070:4:4",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "3069:14:4"
            },
            "scope": 1734,
            "src": "3013:71:4",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 1735,
        "src": "148:2938:4",
        "usedErrors": []
      }
    ],
    "src": "36:3051:4"
  },
  "compiler": {
    "name": "solc",
    "version": "0.8.17+commit.8df45f5f.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "3.4.8",
  "updatedAt": "2022-12-08T12:51:01.303Z",
  "devdoc": {
    "details": "interface of the ERC735 (Claim Holder) standard as defined in the EIP.",
    "events": {
      "ClaimAdded(bytes32,uint256,uint256,address,bytes,bytes,string)": {
        "details": "Emitted when a claim was added. Specification: MUST be triggered when a claim was successfully added."
      },
      "ClaimChanged(bytes32,uint256,uint256,address,bytes,bytes,string)": {
        "details": "Emitted when a claim was changed. Specification: MUST be triggered when changeClaim was successfully called."
      },
      "ClaimRemoved(bytes32,uint256,uint256,address,bytes,bytes,string)": {
        "details": "Emitted when a claim was removed. Specification: MUST be triggered when removeClaim was successfully called."
      },
      "ClaimRequested(uint256,uint256,uint256,address,bytes,bytes,string)": {
        "details": "Emitted when a claim request was performed. Specification: Is not clear"
      }
    },
    "kind": "dev",
    "methods": {
      "addClaim(uint256,uint256,address,bytes,bytes,string)": {
        "details": "Add or update a claim. Triggers Event: `ClaimRequested`, `ClaimAdded`, `ClaimChanged` Specification: Requests the ADDITION or the CHANGE of a claim from an issuer. Claims can requested to be added by anybody, including the claim holder itself (self issued). _signature is a signed message of the following structure: `keccak256(abi.encode(address identityHolder_address, uint256 topic, bytes data))`. Claim IDs are generated using `keccak256(abi.encode(address issuer_address + uint256 topic))`. This COULD implement an approval process for pending claims, or add them right away. MUST return a claimRequestId (use claim ID) that COULD be sent to the approve function."
      },
      "getClaim(bytes32)": {
        "details": "Get a claim by its ID. Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`."
      },
      "getClaimIdsByTopic(uint256)": {
        "details": "Returns an array of claim IDs by topic."
      },
      "removeClaim(bytes32)": {
        "details": "Removes a claim. Triggers Event: `ClaimRemoved` Claim IDs are generated using `keccak256(abi.encode(address issuer_address, uint256 topic))`."
      }
    },
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  }
}