diff --git a/p2p/discover/lookup_util_test.go b/p2p/discover/lookup_util_test.go index a6f19b726b8..cad8782f8f2 100644 --- a/p2p/discover/lookup_util_test.go +++ b/p2p/discover/lookup_util_test.go @@ -25,6 +25,7 @@ import ( "crypto/ecdsa" "fmt" "net" + "slices" "sort" "testing" @@ -149,7 +150,7 @@ func (tn *preminedTestnet) neighborsAtDistances(base *enode.Node, distances []ui for i := range lookupTestnet.dists[d] { n := lookupTestnet.node(d, i) d := enode.LogDist(base.ID(), n.ID()) - if containsUint(uint(d), distances) { + if slices.Contains(distances, uint(d)) { result = append(result, n) if len(result) >= elems { return result diff --git a/p2p/discover/v5_udp.go b/p2p/discover/v5_udp.go index d28120b5303..b457f2e4707 100644 --- a/p2p/discover/v5_udp.go +++ b/p2p/discover/v5_udp.go @@ -29,6 +29,7 @@ import ( "io" "math" "net" + "slices" "sync" "time" @@ -435,7 +436,7 @@ func (t *UDPv5) verifyResponseNode(c *callV5, r *enr.Record, distances []uint, s } if distances != nil { nd := enode.LogDist(c.node.ID(), node.ID()) - if !containsUint(uint(nd), distances) { + if !slices.Contains(distances, uint(nd)) { return nil, errors.New("does not match any requested distance") } } @@ -446,15 +447,6 @@ func (t *UDPv5) verifyResponseNode(c *callV5, r *enr.Record, distances []uint, s return node, nil } -func containsUint(x uint, xs []uint) bool { - for _, v := range xs { - if x == v { - return true - } - } - return false -} - // call sends the given call and sets up a handler for response packets (of message type // responseType). Responses are dispatched to the call's response channel. func (t *UDPv5) call(node *enode.Node, responseType byte, packet v5wire.Packet) *callV5 {