{
    "Function": "checkSignature",
    "File": "contracts/discovery/erc1056/EthereumDIDRegistry.sol",
    "Parent Contracts": [],
    "High-Level Calls": [],
    "Internal Calls": [
        "identityOwner",
        "ecrecover(bytes32,uint8,bytes32,bytes32)",
        "require(bool,string)"
    ],
    "Library Calls": [],
    "Low-Level Calls": [],
    "Code": "function checkSignature(\n        address identity,\n        uint8 sigV,\n        bytes32 sigR,\n        bytes32 sigS,\n        bytes32 hash\n    ) internal returns (address) {\n        address signer = ecrecover(hash, sigV, sigR, sigS);\n        require(signer == identityOwner(identity), \"Signer must be the identity owner\");\n        nonce[signer]++;\n        return signer;\n    }"
}