How to mint a PoV

Visitors can mint proof of visit at any time at their discretion in exchange for a spot signature received from the spot device. Basically, visitors need to mint it themselves, but proxy minting and disposable wallet is also possible to improve UI/UX. See About VisitorRegistry for more details.

mint by visitors themselves

Flow

  1. The visitor calls VisitedBy::mint() with a spot signature. VisitedBy treats msg.sender as the recipient of the PoV.

  2. SpotVerifier::verify() called by VisitedBy::mint() returns the EOA recovered from the signature.

  3. The visitor's EOA is resolved in the VisitorRegistry.

  4. If the visitor is not registered in the VisitorRegistry, the address as it is is used.

  5. If the EOA just resolved by SpotVerifier was registered in SpotResistry, then SpotResolver's address is returned by SpotResistry. If it is not registered, 0x0 is returned.

  6. Then, SpotResolver::mint() is called.

  7. Finally, SpotResolver calls PoV::mint() according to PoV ID, and you can receive PoV.

Proxy mint

Soon...

Last updated