mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-02-27 01:03:08 +00:00
filter peers if mix is enabled
This commit is contained in:
parent
4b26a54727
commit
fa57dcddef
2
vendor/mix
vendored
2
vendor/mix
vendored
@ -1 +1 @@
|
||||
Subproject commit 230a5c49583f8d82711f047e1ece21da9eff2b01
|
||||
Subproject commit 2f8ed4e389a166b6905a83ab2dc3b9bd1fc36b04
|
||||
@ -249,6 +249,8 @@ proc getBootStrapMixNodes*(node: WakuNode): Table[PeerId, MixPubInfo] =
|
||||
|
||||
#TODO: Ideally these procs should be moved out into mix specific file, but keeping it here for now.
|
||||
proc mixPoolFilter*(cluster: Option[uint16], peer: RemotePeerInfo): bool =
|
||||
# Note that origin based(discv5) filtering is not done intentionally
|
||||
# so that more mix nodes can be discovered.
|
||||
if peer.enr.isNone():
|
||||
trace "peer has no ENR", peer = $peer
|
||||
return false
|
||||
@ -257,11 +259,14 @@ proc mixPoolFilter*(cluster: Option[uint16], peer: RemotePeerInfo): bool =
|
||||
debug "peer has mismatching cluster", peer = $peer
|
||||
return false
|
||||
|
||||
#TODO: Filter if mix is enabled
|
||||
# Filter if mix is enabled
|
||||
if not peer.enr.get().supportsCapability(Capabilities.Mix):
|
||||
debug "peer doesn't support mix", peer = $peer
|
||||
return false
|
||||
|
||||
return true
|
||||
|
||||
proc addPeerId*(multiaddr: MultiAddress, peerId: PeerId): MultiAddress =
|
||||
proc appendPeerIdToMultiaddr*(multiaddr: MultiAddress, peerId: PeerId): MultiAddress =
|
||||
if multiaddr.contains(multiCodec("p2p")).get():
|
||||
return multiaddr
|
||||
|
||||
@ -295,7 +300,7 @@ proc populateMixNodePool*(node: WakuNode) {.async.} =
|
||||
let remotePeerENR = remotePeers[i].enr.get()
|
||||
# TODO: use the most exposed/external multiaddr of the peer, right now using the first
|
||||
let maddrWithPeerId =
|
||||
toString(addPeerId(remotePeers[i].addrs[0], remotePeers[i].peerId))
|
||||
toString(appendPeerIdToMultiaddr(remotePeers[i].addrs[0], remotePeers[i].peerId))
|
||||
trace "remote peer ENR",
|
||||
peerId = remotePeers[i].peerId, enr = remotePeerENR, maddr = maddrWithPeerId
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user