EIP-712: How to Verify Typed Data On Chain

Implementing EIP-712: Typed structured data hashing and signing