Skip to content

Smart Contracts

State contract addresses:

State.sol on Github

The core role of State smart contract is to:

  • Verify the proof on-chain via its transitState function
  • If valid, update the identities mapping, adding the new identity state associated with a specific identifier.

The State contract provides a timestamp of the changes that occur inside an identity state. No personal information (such as claims) is stored on-chain nor it is inferrable from the information stored on-chain.

Note that the actual proof verification is executed by calling the verifyProof function inside the verifier.sol.

The verifier.sol contract is automatically generated using SnarkJS and can be used as a standalone contract to verify the proof. State.sol implements further logic once the proof is verified (such as updating the identity state).