fix parse enr ip

This commit is contained in:
thinkAfCod 2024-08-19 23:41:31 +08:00
parent 2ebd307f5b
commit 064a3cf2a9

View file

@ -172,8 +172,20 @@ func ParseForAddEnr(validSchemes enr.IdentityScheme, input string) (*Node, error
var ip6 netip.Addr
n.Load((*enr.IPv4Addr)(&ip4))
n.Load((*enr.IPv6Addr)(&ip6))
n.setIP4(ip4)
n.setIP6(ip6)
valid4 := ip4.IsValid()
valid6 := ip6.IsValid()
switch {
case valid4 && valid6:
if localityScore(ip4) >= localityScore(ip6) {
n.setIP4(ip4)
} else {
n.setIP6(ip6)
}
case valid4:
n.setIP4(ip4)
case valid6:
n.setIP6(ip6)
}
return n, nil
}