Contact constructor
Creates a new Contact.
publicKey
is a public key to identify the contact.
url
is a relay URL where events from publicKey
can be found.
petname
is a local name (nickname) for the profile.
An ArgumentError is thrown if publicKey
is invalid or if url
is not
a valid relay URL.
Implementation
Contact({required this.publicKey, this.url = '', this.petname = ''}) {
if (!keyIsValid(publicKey)) {
throw ArgumentError.value(publicKey, 'publicKey', 'Invalid key');
}
if (url.isNotEmpty &&
!url.contains(RegExp(
r'^(wss?:\/\/)([0-9]{1,3}(?:\.[0-9]{1,3}){3}|[^:]+):?([0-9]{1,5})?$'))) {
throw ArgumentError.value(url, 'url', 'Invalid relay address');
}
}