Smart Contracts
Deeproof uses smart contracts on the Mantle Sepolia testnet to verify proofs and store verification states.
Contract Addresses
| Contract Name | Address | Description |
|---|---|---|
| Groth16 Verifier | 0x21a3Cfdeb67f06C9353E43306c5E34f2C2E905e3 | The main contract that verifies ZK proofs and stores the registry of verified users. |
Contract Functions
verifyProof()
This is the core function called by the frontend.
Inputs:
_pA,_pB,_pC: Cryptographic proof points generated by the ZK circuit._pubSignals: Public inputs, containing theminKycLeveland youridentityCommitment.
What it does:
- Verifies Math: Checks if the proof points
A,B, andCmathematically correspond to thepubSignalsaccording to the Verification Key. - Prevents Replay: Checks if this specific proof has been used before (Nullifier check).
- Updates Registry: If valid, it records your address as "Verified" in the contract's storage.
Developer Integration
(To be completed when SDK is finalized)
Third-party protocols can check a user's status by calling:
function isVerified(address user) external view returns (bool);