44
55const TCP = require ( 'libp2p-tcp' )
66const Libp2p = require ( './libp2p' )
7- const PeerInfo = require ( 'peer-info' )
87const PeerId = require ( 'peer-id' )
98const ma = require ( 'multiaddr' )
109const CID = require ( 'cids' )
@@ -58,15 +57,11 @@ class Daemon {
5857 */
5958 connect ( connectRequest ) {
6059 const peer = connectRequest . connect . peer
61- const addrs = connectRequest . connect . addrs
62- const peerInfo = new PeerInfo (
63- PeerId . createFromBytes ( peer )
64- )
65- addrs . forEach ( ( a ) => {
66- peerInfo . multiaddrs . add ( ma ( a ) )
67- } )
60+ const addrs = connectRequest . connect . addrs . map ( ( a ) => ma ( a ) )
61+ const peerId = PeerId . createFromBytes ( peer )
6862
69- return this . libp2p . dial ( peerInfo )
63+ this . libp2p . peerStore . addressBook . set ( peerId , addrs )
64+ return this . libp2p . dial ( peerId )
7065 }
7166
7267 /**
@@ -85,16 +80,14 @@ class Daemon {
8580 async openStream ( request ) {
8681 const { peer, proto } = request . streamOpen
8782
88- const peerInfo = new PeerInfo (
89- PeerId . createFromB58String ( peer . toString ( ) )
90- )
83+ const peerId = PeerId . createFromB58String ( peer . toString ( ) )
9184
92- const connection = this . libp2p . registrar . getConnection ( peerInfo )
85+ const connection = this . libp2p . connectionManager . get ( peerId )
9386 const { stream, protocol } = await connection . newStream ( proto )
9487
9588 return {
9689 streamInfo : {
97- peer : peerInfo . id . toBytes ( ) ,
90+ peer : peerId . toBytes ( ) ,
9891 addr : connection . remoteAddr . buffer ,
9992 proto : protocol
10093 } ,
@@ -195,8 +188,8 @@ class Daemon {
195188 [ PeerstoreRequest . Type . GET_PROTOCOLS ] : function * ( daemon ) {
196189 try {
197190 const peerId = PeerId . createFromBytes ( peerStore . id )
198- const peerInfo = daemon . libp2p . peerStore . get ( peerId )
199- const protos = Array . from ( peerInfo . protocols )
191+ const peer = daemon . libp2p . peerStore . get ( peerId )
192+ const protos = peer . protocols
200193 yield OkResponse ( { peerStore : { protos } } )
201194 } catch ( err ) {
202195 throw new Error ( 'ERR_INVALID_PEERSTORE_REQUEST' )
@@ -277,12 +270,13 @@ class Daemon {
277270 const peerId = PeerId . createFromBytes ( dht . peer )
278271 try {
279272 const peer = await daemon . libp2p . peerRouting . findPeer ( peerId )
273+
280274 yield OkResponse ( {
281275 dht : {
282276 type : DHTResponse . Type . VALUE ,
283277 peer : {
284278 id : peer . id . toBytes ( ) ,
285- addrs : peer . multiaddrInfos . map ( mi => mi . multiaddr . buffer )
279+ addrs : peer . multiaddrs . map ( m => m . buffer )
286280 }
287281 }
288282 } )
@@ -311,7 +305,7 @@ class Daemon {
311305 type : DHTResponse . Type . VALUE ,
312306 peer : {
313307 id : provider . id . toBytes ( ) ,
314- addrs : provider . multiaddrInfos . map ( mi => mi . multiaddr . buffer )
308+ addrs : ( provider . multiaddrs || [ ] ) . map ( m => m . buffer )
315309 }
316310 } )
317311 }
@@ -430,18 +424,21 @@ class Daemon {
430424 case Request . Type . IDENTIFY : {
431425 yield OkResponse ( {
432426 identify : {
433- id : daemon . libp2p . peerInfo . id . toBytes ( ) ,
434- addrs : daemon . libp2p . peerInfo . multiaddrs . toArray ( ) . map ( m => m . buffer )
427+ id : daemon . libp2p . peerId . toBytes ( ) ,
428+ addrs : daemon . libp2p . multiaddrs . map ( m => m . buffer )
435429 }
436430 } )
437431 break
438432 }
439433 // Get a list of our current peers
440434 case Request . Type . LIST_PEERS : {
441- const peers = Array . from ( daemon . libp2p . peerStore . peers . values ( ) ) . map ( ( pi ) => {
442- const addr = pi . isConnected ( )
435+ const peers = Array . from ( daemon . libp2p . peerStore . peers . values ( ) ) . map ( ( peer ) => {
436+ // TODO: conn mgr
437+ const conn = daemon . libp2p . registrar . getConnection ( peer . id )
438+ const addr = conn . remoteAddr
439+
443440 return {
444- id : pi . id . toBytes ( ) ,
441+ id : peer . id . toBytes ( ) ,
445442 addrs : [ addr ? addr . buffer : null ]
446443 }
447444 } )
0 commit comments