The basics are in the previous section, please review this first.
When we want to support Verax on a chain, we will deploy contracts which write to both Verax and EAS.
These are the deployment steps:
- Run
deployAttester
- Run
deployResolver
- Run
deployVerifierWithVeraxPortal
, which deploys both the GitcoinVeraxPortal and GitcoinVerifierWithVeraxPortal - Use the resolver's
addToAllowlist
function to allowlist the portal address - Deploy the schemas using Verax's Schema Registry on Etherscan
- Register the portal using Verax's Portal Registry on Etherscan
- Deploy the EAS schemas as usual
- Use the portal's
addSchemaMapping
function to register the mapping from each EAS schema to the equivalent Verax schema - Use the attester's
addVerifier
to register the verifier
The onchainDeployments file will contain the following additional fields:
{
"...",
"Verax": {
"AttestationRegistry": {
"address": "/* Must be manually set, scripts will instruct you to do so */"
},
"schemas": {
"passport": {
"uid": "/* Manually set for documentation purposes */"
},
"score": {
"uid": "/* Manually set for documentation purposes */"
}
}
},
"GitcoinVeraxPortal": {
"address": "/* Automatically set by the scripts */"
}
}