Hub

The contract where everything happenson-chain

Before a user can submit a proof on-chain, the Hub ensures

  1. An allowed verifier, either a server or smart contract, has verified a VOLE-based ZKP

  2. This verifier has posted any necessary data off-chain so others can check its steps in verifying the proof

  3. Any nullifier revealed by the ZKP has not been spent

Once a proof is on-chain, the Hub sends a non-transferable ERC721 representing a SBT. The Hub also allows reading the relevant metadata pertaining to the SBT, i.e. the public values of the corresponding proof, via the method getSBT.

For more information, you may look at the source code

Last updated