The CredentialAtomicQuerySigValidator contract is used to verify any claim-related zk proof generated by using the
credentialAtomicQuerySig circuit. The core of the contract is its
verify function that takes the proof generated by a user and executes a set of verifications:
- Verifies that the proof is valid. This verification is actually performed inside the
verifierSigcontract which is automatically generated using circom.
- Verifies that the input used to generate the proof matches the query associated to that specific request.
- Verifies that the user's and the Issuer's identity states are valid based on the State Contract.
The CredentialAtomicQuerySigValidator executes the same set of verifications of the Verification Library. The former is required when performing on-chain verification while the latter is required for off-chain verification.
Further protocol related contracts can be found at Iden3 - Smart Contracts.