@@ -24,7 +24,7 @@ class PeerRouting {
2424 * @param {object } params
2525 * @param {import('peer-id') } params.peerId
2626 * @param {import('../routing-table').RoutingTable } params.routingTable
27- * @param {import('.. /types').PeerStore } params.peerStore
27+ * @param {import('libp2p/src/peer-store /types').PeerStore } params.peerStore
2828 * @param {import('../network').Network } params.network
2929 * @param {import('libp2p-interfaces/src/types').DhtValidators } params.validators
3030 * @param {import('../query/manager').QueryManager } params.queryManager
@@ -52,11 +52,11 @@ class PeerRouting {
5252
5353 if ( p ) {
5454 this . _log ( 'findPeerLocal found %p in routing table' , peer )
55- peerData = this . _peerStore . get ( p )
55+ peerData = await this . _peerStore . get ( p )
5656 }
5757
5858 if ( ! peerData ) {
59- peerData = this . _peerStore . get ( peer )
59+ peerData = await this . _peerStore . get ( peer )
6060 }
6161
6262 if ( peerData ) {
@@ -141,7 +141,7 @@ class PeerRouting {
141141 const match = peers . find ( ( p ) => p . equals ( id ) )
142142
143143 if ( match ) {
144- const peer = this . _peerStore . get ( id )
144+ const peer = await this . _peerStore . get ( id )
145145
146146 if ( peer ) {
147147 this . _log ( 'found in peerStore' )
@@ -232,13 +232,15 @@ class PeerRouting {
232232
233233 this . _log ( 'found %d peers close to %b' , peers . length , key )
234234
235- yield * peers . peers . map ( peer => finalPeerEvent ( {
236- from : this . _peerId ,
237- peer : {
238- id : peer ,
239- multiaddrs : ( this . _peerStore . addressBook . get ( peer ) || [ ] ) . map ( addr => addr . multiaddr )
240- }
241- } ) )
235+ for ( const peer of peers . peers ) {
236+ yield finalPeerEvent ( {
237+ from : this . _peerId ,
238+ peer : {
239+ id : peer ,
240+ multiaddrs : ( await ( this . _peerStore . addressBook . get ( peer ) ) || [ ] ) . map ( addr => addr . multiaddr )
241+ }
242+ } )
243+ }
242244 }
243245
244246 /**
@@ -294,16 +296,20 @@ class PeerRouting {
294296 async getCloserPeersOffline ( key , closerThan ) {
295297 const id = await utils . convertBuffer ( key )
296298 const ids = this . _routingTable . closestPeers ( id )
297- const output = ids
298- . map ( ( p ) => {
299- const peer = this . _peerStore . get ( p )
299+ const output = [ ]
300300
301- return {
302- id : p ,
303- multiaddrs : peer ? peer . addresses . map ( ( address ) => address . multiaddr ) : [ ]
304- }
301+ for ( const peerId of ids ) {
302+ if ( peerId . equals ( closerThan ) ) {
303+ continue
304+ }
305+
306+ const peer = await this . _peerStore . get ( peerId )
307+
308+ output . push ( {
309+ id : peerId ,
310+ multiaddrs : peer ? peer . addresses . map ( ( address ) => address . multiaddr ) : [ ]
305311 } )
306- . filter ( ( closer ) => ! closer . id . equals ( closerThan ) )
312+ }
307313
308314 if ( output . length ) {
309315 this . _log ( 'getCloserPeersOffline found %d peer(s) closer to %b than %p' , output . length , key , closerThan )
0 commit comments