def METHOD_NAME(data: Dict[str, Any], signature: bytes) -> bytes:
    """
    Recover the Ethereum address of the signer, given the data and signature.
    :param data: Signed data.
    :param signature: Signature.
    :return: Signing address.
    """
    assert type(signature) == bytes and len(signature) == _EIP712_SIG_LEN
    signer_address = signing.recover_typed_data(data, *signing.signature_to_v_r_s(signature))
    return a2b_hex(signer_address[2:])