Enable Native Meta Transactions
Remove dependency on msg.sender and msg.value from smart contracts
In below diagram, you can see how a meta transaction looks like if native meta transactions are enabled in your DApp. With this it doesn't matter which relayer relays your transaction as our code will be independent of msg.sender property.
Meta Transaction Flow

EIP712 Standard for Signing Transactions

This standard allows wallets to display data in signing prompts in a structured and readable format. EIP712 is a great step forward for security and usability because users will no longer need to sign off on inscrutable hexadecimal strings, which is a practice that can be confusing and insecure.
Here's the Github Repository of EIP712 Standard​
Last modified 1yr ago