From eb27b8db032e6b1002df4dde8c23e7111e7fbbf3 Mon Sep 17 00:00:00 2001 From: Vasco Santos Date: Wed, 1 Apr 2020 11:12:34 +0200 Subject: [PATCH] chore: do not use peerstore.put on get-peer-info --- src/get-peer-info.js | 7 ++++++- src/peer-store/address-book.js | 4 ++-- test/dialing/direct.node.js | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/get-peer-info.js b/src/get-peer-info.js index 83135eeb..122a8ddc 100644 --- a/src/get-peer-info.js +++ b/src/get-peer-info.js @@ -38,7 +38,12 @@ function getPeerInfo (peer, peerStore) { addr && peer.multiaddrs.add(addr) - return peerStore ? peerStore.put(peer, { replace: false }) : peer + if (peerStore) { + peerStore.addressBook.set(peer.id, peer.multiaddrs.toArray(), { replace: false }) + peerStore.protoBook.set(peer.id, Array.from(peer.protocols), { replace: false }) + } + + return peer } /** diff --git a/src/peer-store/address-book.js b/src/peer-store/address-book.js index c3c3ed25..c9a54bb4 100644 --- a/src/peer-store/address-book.js +++ b/src/peer-store/address-book.js @@ -109,7 +109,7 @@ class AddressBook extends Book { // Already knows the peer if (rec && rec.length === multiaddrInfos.length) { - const intersection = rec.filter((mi) => multiaddrInfos.some((newMi) => mi.multiaddr === newMi.multiaddr)) + const intersection = rec.filter((mi) => multiaddrInfos.some((newMi) => mi.multiaddr.equals(newMi.multiaddr))) // Are new addresses equal to the old ones? // If yes, no changes needed! @@ -154,7 +154,7 @@ class AddressBook extends Book { // Add recorded uniquely to the new array (Union) rec && rec.forEach((mi) => { - if (!multiaddrInfos.find(r => r.multiaddr === mi.multiaddr)) { + if (!multiaddrInfos.find(r => r.multiaddr.equals(mi.multiaddr))) { multiaddrInfos.push(mi) } }) diff --git a/test/dialing/direct.node.js b/test/dialing/direct.node.js index c87d8814..dccc583f 100644 --- a/test/dialing/direct.node.js +++ b/test/dialing/direct.node.js @@ -123,7 +123,7 @@ describe('Dialing (direct, TCP)', () => { const peerId = await PeerId.createFromJSON(Peers[0]) const peerInfo = new PeerInfo(peerId) peerInfo.multiaddrs.add(remoteAddr) - peerStore.put(peerInfo) + peerStore.addressBook.set(peerInfo.id, peerInfo.multiaddrs.toArray()) const connection = await dialer.connectToPeer(peerInfo) expect(connection).to.exist()