We are working on a charity NFT, and we want to gate minting to those who have ALREADY donated to the charity by sending ETH to the charity wallet.
This makes things cleaner for tax write off purposes for the minter vs. just doing a rev share to the charity on the contract.
Implementation Idea #1: Offchain admin signature
The way we are thinking about implementing it is by querying off chain whether the minter address has donated, and if they have sign a custom message with an "admin wallet" private key for their address that gives them mint access (after ECDSA signature verification on chain).
Implementation Idea #2: Direct on chain verification??
The downside of implementation #1 is it relies on a centralized server and admin private key to query the chain and gate access.
I was wondering if it might be possible to have the minter submit their donation transaction hash or some sort of merkle proof maybe? and verify directly on chain that the transaction was valid and mined?