defaultAddrsFactory function

List<MultiAddr> defaultAddrsFactory(
  1. List<MultiAddr> addrs
)

Default addresses factory function. Filters out loopback and unspecified addresses from the provided list.

Implementation

List<MultiAddr> defaultAddrsFactory(List<MultiAddr> addrs) {
  return addrs.where((addr) {
    // Check for loopback
    if (addr.isLoopback()) {
      return false;
    }
    // Check for unspecified (0.0.0.0 or ::)
    final ip4Val = addr.valueForProtocol('ip4');
    final ip6Val = addr.valueForProtocol('ip6');
    if ((ip4Val == '0.0.0.0' || ip4Val == '0.0.0.0.0.0') || (ip6Val == '::' || ip6Val == '0:0:0:0:0:0:0:0')) {
      return false;
    }
    // Potentially add more filters here, e.g., for link-local, private IPs if desired by default.
    return true;
  }).toList();
}