Closed crazyyuan closed 11 months ago
The challenge primarily pertains to business logic. Consider a scenario with a ticket schema. Possession of an EAS record, whether on-chain or off-chain, signifies ticket ownership. This schema employs a resolver contract to validate the ticket data before creating EAS records.
Given the high gas fees, I've opted for an off-chain approach to issue tickets to users. However, the resolver contract's logic isn't applied with off-chain EAS record creation. This implies that anyone can create an off-chain record for the ticket schema, therefore, the use of off-chain EAS is ineffective.
Of course offchain attestations can not be forced to obey the resolver. The trick here is to stimulate a transaction to verify if it passes the resolver. You will notice that in order to push offchain attestations to easscan it will only allow valid offchain attestations to be posted.
Wouldn't it be better to pass resolver as an optional parameter when making off-chain attestations? Typically, I would like to make off-chain attestations that are already verified by default.
@crazyyuan we might add a helper method for this
I create the scheme with the resolver contract. But when I make the off-chain attestation, it seems that just sign the data without passing the resolver contract. Is this reasonable? Would you consider improving it in the future?
ps: I read the docs about Resolver Contracts, which didn't indicate about off-chain.