Smart Contracts
Polygon ID Smart Contracts - Github
Blockchain addresses
For situations where one needs to publish data on the blockchain, such as creating a mtp-type credential, generating on-chain proofs and make credential revocations effective, it is important to have the Smart Contracts addresses:
- Testnet(mumbai) ->
0x134B1BE34911E39A8397ec6289782989729807a4
- Mainnet ->
0x624ce98D2d27b20b8f8d521723Df8fC4db71D79D
Validator addresses
Current addresses on Polygon Mumbai testnet.
Sig | MTP | |
---|---|---|
Validators | 0xF2D4Eeb4d455fb673104902282Ce68B9ce4Ac450 | 0x3DcAe4c8d94359D31e4C89D7F2b944859408C618 |
ERC20 examples | 0x9017a99afb69CB7B21C7DD29827b4762DECD53FD | 0x3Bf7f4774DC3f92431fA690fa000f636562dCC18 |
Current addresses on Polygon Main. (ERC20 example with airdrop use case, restricted to 1 request).
Sig | MTP | |
---|---|---|
Verifier | 0x6f6E19781600d6B06D64A6b86431FB7dB3E919e0 | 0x9DB901F3AFdAAA73F5B2123B186F566fA3Ed1551 |
Validators | 0x9ee6a2682Caa2E0AC99dA46afb88Ad7e6A58Cd1b | 0x5f24dD9FbEa358B9dD96daA281e82160fdefD3CD |
ERC20 examples | 0x8732e29eE329fD19Ff868a3Df3D5F6A3116027A2 | 0x5c31BB88AA57C69FF537C5d86102246D61712C90 |
ERC20 examples with airdrop use case, not restricted.
Sig | MTP | |
---|---|---|
Validators | 0x9ee6a2682Caa2E0AC99dA46afb88Ad7e6A58Cd1b | 0x5f24dD9FbEa358B9dD96daA281e82160fdefD3CD |
ERC20 examples | 0x7C14Aa764130852A8B64BA7058bf71E4292d677F | 0xa3Bc012FCf034bee8d16161730CE4eAb34C35100 |
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 the
verifierSig
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.
CredentialAtomicQuerySigValidator address:
CredentialAtomicQueryMTPValidator
CredentialAtomicQueryMTPValidator.sol - Github
Performs the same set of verifications of the CredentialAtomicQuerySigValidator but for credential of type MTP
CredentialAtomicQueryMTPValidator address:
Further protocol related contracts can be found at Iden3 - Smart Contracts
New Polygon ID Documentation Website Available!
We've released a new version of our documention. Head to devs.polygonid.com to check it out.