> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.adid.dev/llms.txt.
> For full documentation content, see https://docs.adid.dev/llms-full.txt.

# ZKProofVerifier

The on-chain Groth16 verifier and proof registry. Stores anchored proofs by DID and provides on-chain verification for ZK identity claims.

## Functions

| Signature                                                                     | Access        | Notes                        |
| ----------------------------------------------------------------------------- | ------------- | ---------------------------- |
| `submitProof(bytes proof, uint256[] publicSignals) returns (bytes32 proofId)` | `holder`      | Verifies and anchors a proof |
| `getProof(bytes32 proofId)`                                                   | `public view` | Retrieve anchored proof      |
| `revokeProof(bytes32 proofId)`                                                | `holder`      | Mark a proof revoked         |
| `getDIDProofs(string did)`                                                    | `public view` | Enumerate proofs for a DID   |
| `verifyBatch(bytes[] proofs, uint256[][] signals)`                            | `public`      | Batch verification           |

## Events

```solidity
event ProofAnchored(bytes32 indexed proofId, string did, uint256 timestamp);
event ProofRevoked (bytes32 indexed proofId, address indexed revoker);
```