createExternalMessage function
        
dynamic
createExternalMessage(
    
- dynamic domain,
- dynamic address,
- dynamic statement,
- dynamic uri,
- dynamic version,
- dynamic chainId,
- dynamic nonce,
Create a compatible message for signing for external providers.
Implementation
createExternalMessage(
    domain, address, statement, uri, version, chainId, nonce) {
  // Address must be EIP55 compliant, if using web3dart, use the hexEip55 method.
  DateTime now = DateTime.now();
  int millisecondsSinceEpoch = now.millisecondsSinceEpoch;
  String iso8601 = DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch)
      .toIso8601String();
  // Remove microseconds from the ISO 8601 string
  int indexOfDot = iso8601.indexOf('.');
  String iso8601WithoutMicroseconds =
      iso8601.substring(0, indexOfDot + 4) + 'Z';
// final message
  final message =
      "$domain wants you to sign in with your Ethereum account:\n$address\n\n$statement\n\nURI: $uri\nVersion: $version\nChain ID: $chainId\nNonce: $nonce\nIssued At: $iso8601WithoutMicroseconds";
  return message;
}