🗒️EAS and Resolvers

Overview

The project utilizes the Ethereum Attestation Service (EAS) to create a web of trust system through two main schemas:

  • Pretrust Schema

  • Vouch Schema

Schemas

Pretrust Schema

The pretrust schema serves as the seeding group for the web of trust. Its primary purpose is to ensure that each unique Zupass credential is linked to only one Ethereum address.

Schema Structure:

bytes32 nullifier,
bytes32 category,
bytes32 subcategory,
bytes32 issuer,
bytes32 credentialType,
bytes32 platform

Schema URL: Base EAS Scanner - Pretrust Schema

Pretrust Resolver

The pretrust resolver implements the following key functionality:

  • Validates Zupass credentials

  • Ensures one-to-one mapping between credentials and addresses

  • Prevents duplicate attestations for the same credential

Vouch Schema

The vouch schema represents endorsements between users within the system.

Schema Structure:

bytes32 platform,
bytes32 category,
bytes32 subCategory

Schema URL: Base EAS Scanner - Vouch Schema

Vouch Resolver

The vouch resolver provides the following capabilities:

  • Season management by admins

  • Vouch limit enforcement per user per season

  • Admin management system

  • Query interface for season and user data

Base Sepolia

Vouch Resolver Contract

Vouch Schema

Add new Communities and/or Categories

Currently, you need to be whitelisted for this. Join this telegram group for requests: https://t.me/+BEa8nA1BW-swMzk5

  1. Head to Resolver Contract

  2. Go to Read Contract and then to getVouchCode

  3. Go to Write Contract and then fill the Code you got from previous step in setVouchingLimit

Last updated