How to make your contract compatible with Relay
data
is empty. For these, the Relayer will execute them directly to avoid the gas overhead of using Multicaller.
msg.sender
for authentication. There are a couple of ways around this:
msg.sender
, you could mint via a router contract then have it forwarded the NFT to the user.