Skip to main content

Smart Contracts

Privado ID Smart Contracts - Github
caution

*Polygon Mumbai testnet has been deprecated

State Contract addresses

For situations where one needs to publish data on the blockchain, such as creating an MTP-type credential, generating on-chain proofs and making credential revocations effective, it is important to have the following Smart Contracts addresses:

  • Mainnet -> 0x2F4E9C03e077F923BeEe6102314e6C01228C67EA
  • Testnet(Origin) -> 0x8c0De84cD393b92f243B82c659cB1E36d0Ac1a1F
info

Check a contract codebase and algorithms of work docs, repository.

Validator addresses

Current addresses on Uptick Mainnet (V2.0.1 V2 validators):

SigMTP
Verifier0x9ee6a2682Caa2E0AC99dA46afb88Ad7e6A58Cd1b0x5f24dD9FbEa358B9dD96daA281e82160fdefD3CD

Current addresses on Uptick Origin testnet. (V2.0.1 V2 validators)

SigMTP
Verifier0xF2D4Eeb4d455fb673104902282Ce68B9ce4Ac4500x3DcAe4c8d94359D31e4C89D7F2b944859408C618
note

More about v3 circuit.

Check the examples of deployment for v3 validator

CredentialAtomicQuerySigValidator

CredentialAtomicQuerySigValidator.sol - Github

The CredentialAtomicQuerySigValidator contract is used to verify any credential-related zk proof generated by user using the credentialAtomicQuerySigV2OnChain circuit. The contract only verifies proofs based on credential of type Signature

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 theverifierSig contract 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.

CredentialAtomicQueryMTPValidator

CredentialAtomicQueryMTPValidator.sol - Github

Performs the same set of verifications of the CredentialAtomicQuerySigValidator but for credential of type MTP.

Further protocol related contracts can be found at Iden3 - Smart Contracts