Project Overview
This project manages gas distribution through a system of three roles:
- Recipient: Members who are eligible to receive free gas distributions
- Sponsors: Allowlisted addresses that can connect to the application and designate gas recipients. Sponsors can also designate additional sponsors.
- Bank: Account that handles the backend gas distribution. This account must be funded and is configured through environment variables.
Gas Permissions
There is an initial account that is able to initiate the gas distribution process. This account is configured within the application. This account will create an attestation that grants an additional account the ability to sponsor gas recipients and other sponsors.
Claim Process
Once a recipient has a gas attestation from a validated sponsor, they can claim gas. They are prompted to sign a message that validates who they are. Once the user is validated, the api controlled account creates a reference attestation which passes the claim attestation as the referenced attestation and places the recipient as the attestation subject. It then transfers a small amount of ETH to the recipient.