An ETHRequestHandler function that signs EIP-712 typed data using an Ethereum wallet.
Throws an error if the signer or payload is not defined, or if the validation of the signer and requester addresses fails.
An object containing the signature.
This function validates the signer and payload, then determines the version of the EIP-712 message being signed. It then uses the appropriate method to sign the message and returns the signature. The function can handle both V1 and V3/V4 versions of EIP-712 messages.
Note: It is assumed that the addresses are in the correct format and have already been validated for length and character set.