getNodesAddressesByAddress method
Implementation
List<String> getNodesAddressesByAddress(String address) {
List<String> result = [];
XchgNetworkRange? preferredRange;
int preferredRangeScore = 0;
if (address.startsWith("#")) {
address = address.substring(1);
}
var addressHex =
base32.decodeAsHexString(address.toUpperCase()).toLowerCase();
for (var range in ranges) {
int rangeScore = 0;
for (int i = 0; i < addressHex.length && i < range.prefix.length; i++) {
if (addressHex[i] == range.prefix[i]) {
rangeScore++;
}
}
if (rangeScore > preferredRangeScore) {
preferredRange = range;
preferredRangeScore = rangeScore;
}
}
if (preferredRange != null) {
for (var host in preferredRange.hosts) {
result.add(host.address);
}
}
return result;
}