filterValid method
Filter out addresses that are too old or invalid
Implementation
void filterValid({
int? maxAge,
bool requireReachable = true,
}) {
final now = DateTime.now().millisecondsSinceEpoch ~/ 1000;
addressList.removeWhere((addr) {
// Check age
if (maxAge != null && now - addr.timestamp > maxAge) {
return true;
}
// Check if address looks reachable
if (requireReachable) {
// Remove localhost addresses (except for testing)
if (addr.isLocalhost) return true;
// Remove zero addresses
if (addr.isZero) return true;
// Require standard ports for Bitcoin
if (addr.port != 8333 && addr.port != 18333 && addr.port != 18444) {
return true;
}
}
return false;
});
}