4
4
5
5
const TCP = require ( 'libp2p-tcp' )
6
6
const Libp2p = require ( './libp2p' )
7
- const PeerInfo = require ( 'peer-info' )
8
7
const PeerId = require ( 'peer-id' )
9
8
const ma = require ( 'multiaddr' )
10
9
const CID = require ( 'cids' )
@@ -58,15 +57,11 @@ class Daemon {
58
57
*/
59
58
connect ( connectRequest ) {
60
59
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 )
68
62
69
- return this . libp2p . dial ( peerInfo )
63
+ this . libp2p . peerStore . addressBook . set ( peerId , addrs )
64
+ return this . libp2p . dial ( peerId )
70
65
}
71
66
72
67
/**
@@ -85,16 +80,14 @@ class Daemon {
85
80
async openStream ( request ) {
86
81
const { peer, proto } = request . streamOpen
87
82
88
- const peerInfo = new PeerInfo (
89
- PeerId . createFromB58String ( peer . toString ( ) )
90
- )
83
+ const peerId = PeerId . createFromB58String ( peer . toString ( ) )
91
84
92
- const connection = this . libp2p . registrar . getConnection ( peerInfo )
85
+ const connection = this . libp2p . connectionManager . get ( peerId )
93
86
const { stream, protocol } = await connection . newStream ( proto )
94
87
95
88
return {
96
89
streamInfo : {
97
- peer : peerInfo . id . toBytes ( ) ,
90
+ peer : peerId . toBytes ( ) ,
98
91
addr : connection . remoteAddr . buffer ,
99
92
proto : protocol
100
93
} ,
@@ -195,8 +188,8 @@ class Daemon {
195
188
[ PeerstoreRequest . Type . GET_PROTOCOLS ] : function * ( daemon ) {
196
189
try {
197
190
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
200
193
yield OkResponse ( { peerStore : { protos } } )
201
194
} catch ( err ) {
202
195
throw new Error ( 'ERR_INVALID_PEERSTORE_REQUEST' )
@@ -277,12 +270,13 @@ class Daemon {
277
270
const peerId = PeerId . createFromBytes ( dht . peer )
278
271
try {
279
272
const peer = await daemon . libp2p . peerRouting . findPeer ( peerId )
273
+
280
274
yield OkResponse ( {
281
275
dht : {
282
276
type : DHTResponse . Type . VALUE ,
283
277
peer : {
284
278
id : peer . id . toBytes ( ) ,
285
- addrs : peer . multiaddrInfos . map ( mi => mi . multiaddr . buffer )
279
+ addrs : peer . multiaddrs . map ( m => m . buffer )
286
280
}
287
281
}
288
282
} )
@@ -311,7 +305,7 @@ class Daemon {
311
305
type : DHTResponse . Type . VALUE ,
312
306
peer : {
313
307
id : provider . id . toBytes ( ) ,
314
- addrs : provider . multiaddrInfos . map ( mi => mi . multiaddr . buffer )
308
+ addrs : ( provider . multiaddrs || [ ] ) . map ( m => m . buffer )
315
309
}
316
310
} )
317
311
}
@@ -430,18 +424,21 @@ class Daemon {
430
424
case Request . Type . IDENTIFY : {
431
425
yield OkResponse ( {
432
426
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 )
435
429
}
436
430
} )
437
431
break
438
432
}
439
433
// Get a list of our current peers
440
434
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
+
443
440
return {
444
- id : pi . id . toBytes ( ) ,
441
+ id : peer . id . toBytes ( ) ,
445
442
addrs : [ addr ? addr . buffer : null ]
446
443
}
447
444
} )
0 commit comments