diff --git a/.gitignore b/.gitignore index c105b13b..2953ef7c 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,6 @@ lib # swp file *.swp + +# others +package-lock.json diff --git a/README.md b/README.md index 2eb5f54e..f8475ba8 100644 --- a/README.md +++ b/README.md @@ -13,14 +13,14 @@ Included is a libp2p peer-discovery compatibility module. ```typescript import { Discv5Discovery, ENR } from "@chainsafe/discv5"; import Libp2p from "libp2p"; -import PeerInfo from "peer-info"; +import PeerId from "peer-id"; -const myPeerInfo: PeerInfo = ...; +const myPeerId: PeerId = ...; const bootstrapEnrs: ENR[] = [...]; const libp2p = new Libp2p({ - peerInfo: myPeerInfo, + peerId: myPeerId, modules: { peerDiscovery: [Discv5Discovery], }, diff --git a/package.json b/package.json index f1eecd20..2c551aef 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "libp2p-crypto": "^0.17.5", "multiaddr": "^7.4.2", "peer-id": "^0.13.11", - "peer-info": "^0.17.5", "rlp": "^2.2.4", "strict-event-emitter-types": "^2.0.0" } diff --git a/src/libp2p/discv5.ts b/src/libp2p/discv5.ts index a5cc4264..46bc1403 100644 --- a/src/libp2p/discv5.ts +++ b/src/libp2p/discv5.ts @@ -1,5 +1,5 @@ import { EventEmitter } from "events"; -import PeerInfo = require("peer-info"); +import PeerId = require("peer-id"); import Multiaddr = require("multiaddr"); import { randomBytes } from "libp2p-crypto"; @@ -24,7 +24,7 @@ export interface IDiscv5DiscoveryInputOptions { } export interface IDiscv5DiscoveryOptions extends IDiscv5DiscoveryInputOptions { - peerInfo: PeerInfo; + peerId: PeerId; } /** @@ -38,7 +38,7 @@ export class Discv5Discovery extends EventEmitter { constructor(options: IDiscv5DiscoveryOptions) { super(); - this.discv5 = Discv5.create(options.enr, options.peerInfo.id, Multiaddr(options.bindAddr)); + this.discv5 = Discv5.create(options.enr, options.peerId, Multiaddr(options.bindAddr)); this.started = false; options.bootEnrs.forEach((bootEnr) => this.discv5.addEnr(bootEnr)); } @@ -69,12 +69,10 @@ export class Discv5Discovery extends EventEmitter { return; } for (const enr of enrs) { - const peerInfo = new PeerInfo(await enr.peerId()); - const multiaddrTCP = enr.multiaddrTCP; - if (multiaddrTCP) { - peerInfo.multiaddrs.add(multiaddrTCP); - } - this.emit("peer", peerInfo); + this.emit("peer", { + id: enr.peerId(), + multiaddrs: [Multiaddr(enr.multiaddrTCP)] + }); } } } diff --git a/yarn.lock b/yarn.lock index 56cbda60..d078c3a3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -574,7 +574,7 @@ chokidar@^3.0.0: optionalDependencies: fsevents "~2.1.1" -cids@^0.8.0, cids@~0.8.0: +cids@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/cids/-/cids-0.8.0.tgz#41bf050bc7669cc8d648e21ca834b747bf6fa673" integrity sha512-HdKURxtSOnww3H28CJU2TauIklEBsOn+ouGl2EOnSfVCVkH6+sWTj7to2D/BmuWvwzEy2+ZIKdcIwsXHJBQVew== @@ -1804,13 +1804,6 @@ lru-cache@4.1.x, lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" -mafmt@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-7.1.0.tgz#4126f6d0eded070ace7dbbb6fb04977412d380b5" - integrity sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA== - dependencies: - multiaddr "^7.3.0" - make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -1941,18 +1934,6 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -multiaddr@^7.3.0: - version "7.4.3" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.4.3.tgz#0626945acf309f1c811a95613a0a4371c7aa6109" - integrity sha512-gFjXmjcCMyrx5KF1QOohUQm6a3E2XF4kydvClS8DmRJkY3qJaDPNNe0OC7mWvVUE0nnE8HjyToQfABnpKClXRA== - dependencies: - buffer "^5.5.0" - cids "~0.8.0" - class-is "^1.1.0" - is-ip "^3.1.0" - multibase "^0.7.0" - varint "^5.0.0" - multiaddr@^7.4.2: version "7.4.2" resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-7.4.2.tgz#70021158dfcdc81d8e0e2664b82a7bc1b4c8dce2" @@ -2307,7 +2288,7 @@ pathval@^1.1.0: resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= -peer-id@^0.13.11, peer-id@~0.13.2: +peer-id@^0.13.11: version "0.13.11" resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.13.11.tgz#d3b11e45d80839363aeac0e4fa1758368e3b93cd" integrity sha512-CWDPr4ppKslARSe1qfMlGjTiDqL4Hl25Qyfq43PEPAeRD2meI8B2HfxO0NMMB8BUhNvNGPeDAwhLptyB9jVwkw== @@ -2319,16 +2300,6 @@ peer-id@^0.13.11, peer-id@~0.13.2: multihashes "~0.4.15" protons "^1.0.2" -peer-info@^0.17.5: - version "0.17.5" - resolved "https://registry.yarnpkg.com/peer-info/-/peer-info-0.17.5.tgz#80afc709e03069cf94a29d8fcfa0426140fa7b69" - integrity sha512-ebbbnvdCnb0onWuW+QNXO4KvLPuQ+kih3zezhov2uxHqA6VLbtzMUyQ06IHtwYLr50AYYWyBOSn17g4zEBsFpw== - dependencies: - mafmt "^7.1.0" - multiaddr "^7.3.0" - peer-id "~0.13.2" - unique-by "^1.0.0" - pem-jwk@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-2.0.0.tgz#1c5bb264612fc391340907f5c1de60c06d22f085" @@ -2979,11 +2950,6 @@ ultron@~1.1.0: resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== -unique-by@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-by/-/unique-by-1.0.0.tgz#5220c86ba7bc572fb713ad74651470cb644212bd" - integrity sha1-UiDIa6e8Vy+3E610ZRRwy2RCEr0= - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"