From 94940411b0fd525044765b9068068ddf274eba2f Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" <110212804+fryorcraken@users.noreply.github.com> Date: Wed, 29 Mar 2023 04:14:03 +1100 Subject: [PATCH] fix: ensure that websocket multiaddrs are returned from ENR (#1275) Closes: #1271 Co-authored-by: Danish Arora <35004822+danisharora099@users.noreply.github.com> --- packages/enr/src/enr.spec.ts | 9 ++++++++- packages/enr/src/enr.ts | 3 +-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/enr/src/enr.spec.ts b/packages/enr/src/enr.spec.ts index 4ca19fc92e..769d25b02b 100644 --- a/packages/enr/src/enr.spec.ts +++ b/packages/enr/src/enr.spec.ts @@ -311,6 +311,9 @@ describe("ENR", function () { const ip6 = "::1"; const tcp = 8080; const udp = 8080; + const wsMultiaddr = multiaddr( + "/dns4/node-01.do-ams3.wakuv2.prod.statusim.net/tcp/8000/wss" + ); let peerId: PeerId; let enr: ENR; @@ -323,6 +326,7 @@ describe("ENR", function () { enr.udp = udp; enr.tcp6 = tcp; enr.udp6 = udp; + enr.multiaddrs = [wsMultiaddr]; }); it("should properly create location multiaddrs - udp4", () => { @@ -391,7 +395,7 @@ describe("ENR", function () { const peerInfo = enr.peerInfo!; console.log(peerInfo); expect(peerInfo.id.toString()).to.equal(peerId.toString()); - expect(peerInfo.multiaddrs.length).to.equal(4); + expect(peerInfo.multiaddrs.length).to.equal(5); expect(peerInfo.multiaddrs.map((ma) => ma.toString())).to.contain( multiaddr(`/ip4/${ip4}/tcp/${tcp}`).toString() ); @@ -404,6 +408,9 @@ describe("ENR", function () { expect(peerInfo.multiaddrs.map((ma) => ma.toString())).to.contain( multiaddr(`/ip6/${ip6}/udp/${udp}`).toString() ); + expect(peerInfo.multiaddrs.map((ma) => ma.toString())).to.contain( + wsMultiaddr.toString() + ); }); }); diff --git a/packages/enr/src/enr.ts b/packages/enr/src/enr.ts index 60d949277f..5f81117704 100644 --- a/packages/enr/src/enr.ts +++ b/packages/enr/src/enr.ts @@ -99,9 +99,8 @@ export class ENR extends RawEnr implements IEnr { } const _multiaddrs = this.multiaddrs ?? []; - multiaddrs.concat(_multiaddrs); - return multiaddrs; + return multiaddrs.concat(_multiaddrs); } get peerInfo(): PeerInfo | undefined {