@libp2p/interop 7.0.0 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,39 +13,38 @@ export function connectTests(factory) {
13
13
  }
14
14
  function runConnectTests(name, factory, optionsA, optionsB) {
15
15
  describe(`connect using ${name}`, () => {
16
- let daemons;
16
+ let daemonA;
17
+ let daemonB;
17
18
  // Start Daemons
18
19
  before(async function () {
19
20
  this.timeout(20 * 1000);
20
- daemons = await Promise.all([
21
- factory.spawn(optionsA),
22
- factory.spawn(optionsB)
23
- ]);
21
+ daemonA = await factory.spawn(optionsA);
22
+ daemonB = await factory.spawn(optionsB);
24
23
  });
25
24
  // Stop daemons
26
25
  after(async function () {
27
- if (daemons != null) {
28
- await Promise.all(daemons.map(async (daemon) => { await daemon.stop(); }));
29
- }
26
+ await Promise.all([daemonA, daemonB]
27
+ .filter(Boolean)
28
+ .map(async (d) => { await d.stop(); }));
30
29
  });
31
30
  it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
32
31
  this.timeout(10 * 1000);
33
- const identify1 = await daemons[0].client.identify();
34
- const identify2 = await daemons[1].client.identify();
32
+ const identify1 = await daemonA.client.identify();
33
+ const identify2 = await daemonB.client.identify();
35
34
  // verify connected peers
36
- const knownPeersBeforeConnect1 = await daemons[0].client.listPeers();
35
+ const knownPeersBeforeConnect1 = await daemonA.client.listPeers();
37
36
  expect(knownPeersBeforeConnect1).to.have.lengthOf(0);
38
- const knownPeersBeforeConnect2 = await daemons[1].client.listPeers();
37
+ const knownPeersBeforeConnect2 = await daemonB.client.listPeers();
39
38
  expect(knownPeersBeforeConnect2).to.have.lengthOf(0);
40
39
  // connect peers
41
- await daemons[0].client.connect(identify2.peerId, identify2.addrs);
42
- // daemons[0] will take some time to get the peers
40
+ await daemonA.client.connect(identify2.peerId, identify2.addrs);
41
+ // daemonA will take some time to get the peers
43
42
  await new Promise(resolve => setTimeout(resolve, 1000));
44
43
  // verify connected peers
45
- const knownPeersAfterConnect1 = await daemons[0].client.listPeers();
44
+ const knownPeersAfterConnect1 = await daemonA.client.listPeers();
46
45
  expect(knownPeersAfterConnect1).to.have.length.greaterThanOrEqual(1);
47
46
  expect(knownPeersAfterConnect1[0].toString()).to.equal(identify2.peerId.toString());
48
- const knownPeersAfterConnect2 = await daemons[1].client.listPeers();
47
+ const knownPeersAfterConnect2 = await daemonB.client.listPeers();
49
48
  expect(knownPeersAfterConnect2).to.have.length.greaterThanOrEqual(1);
50
49
  expect(knownPeersAfterConnect2[0].toString()).to.equal(identify1.peerId.toString());
51
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/connect.ts"],"names":[],"mappings":"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"}
@@ -19,30 +19,29 @@ export function contentFetchingTests(factory) {
19
19
  }
20
20
  function runContentFetchingTests(factory, optionsA, optionsB) {
21
21
  describe('dht.contentFetching', () => {
22
- let daemons;
22
+ let daemonA;
23
+ let daemonB;
23
24
  // Start Daemons
24
25
  before(async function () {
25
26
  this.timeout(20 * 1000);
26
- daemons = await Promise.all([
27
- factory.spawn(optionsA),
28
- factory.spawn(optionsB)
29
- ]);
27
+ daemonA = await factory.spawn(optionsA);
28
+ daemonB = await factory.spawn(optionsB);
30
29
  // connect them
31
- const identify0 = await daemons[0].client.identify();
32
- await daemons[1].client.connect(identify0.peerId, identify0.addrs);
30
+ const identify0 = await daemonA.client.identify();
31
+ await daemonB.client.connect(identify0.peerId, identify0.addrs);
33
32
  // jsDaemon1 will take some time to get the peers
34
33
  await new Promise(resolve => setTimeout(resolve, 1000));
35
34
  });
36
35
  // Stop daemons
37
36
  after(async function () {
38
- if (daemons != null) {
39
- await Promise.all(daemons.map(async (daemon) => { await daemon.stop(); }));
40
- }
37
+ await Promise.all([daemonA, daemonB]
38
+ .filter(Boolean)
39
+ .map(async (d) => { await d.stop(); }));
41
40
  });
42
41
  it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
43
42
  this.timeout(10 * 1000);
44
- await daemons[0].client.dht.put(record.key, record.value);
45
- const data = await daemons[1].client.dht.get(record.key);
43
+ await daemonA.client.dht.put(record.key, record.value);
44
+ const data = await daemonB.client.dht.get(record.key);
46
45
  expect(data).to.equalBytes(record.value);
47
46
  });
48
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"content-fetching.js","sourceRoot":"","sources":["../../../src/dht/content-fetching.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,MAAM,MAAM,GAAG;IACb,GAAG,EAAE,gBAAgB,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC;QAC5B,oBAAoB,CAAC,sDAAsD,EAAE,QAAQ,CAAC;KACvF,CAAC;IACF,KAAK,EAAE,oBAAoB,CAAC,wlBAAwlB,EAAE,KAAK,CAAC;CAC7nB,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAE,OAAsB;IAC1D,MAAM,SAAS,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE1C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,uBAAuB,CACrB,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAC3B,CAAA;SACF;KACF;AACH,CAAC;AAED,SAAS,uBAAuB,CAAE,OAAsB,EAAE,QAAsB,EAAE,QAAsB;IACtG,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,OAAiB,CAAA;QAErB,gBAAgB;QAChB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;aACxB,CAAC,CAAA;YAEF,eAAe;YACf,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAEpD,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAElE,iDAAiD;YACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,eAAe;QACf,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CACvD,CAAA;aACF;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,OAAO,EAAE,KAAK;YACxD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAEzD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"content-fetching.js","sourceRoot":"","sources":["../../../src/dht/content-fetching.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,MAAM,MAAM,GAAG;IACb,GAAG,EAAE,gBAAgB,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC;QAC5B,oBAAoB,CAAC,sDAAsD,EAAE,QAAQ,CAAC;KACvF,CAAC;IACF,KAAK,EAAE,oBAAoB,CAAC,wlBAAwlB,EAAE,KAAK,CAAC;CAC7nB,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAE,OAAsB;IAC1D,MAAM,SAAS,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE1C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,uBAAuB,CACrB,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAC3B,CAAA;SACF;KACF;AACH,CAAC;AAED,SAAS,uBAAuB,CAAE,OAAsB,EAAE,QAAsB,EAAE,QAAsB;IACtG,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QAEnB,gBAAgB;QAChB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAEvC,eAAe;YACf,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAEjD,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAE/D,iDAAiD;YACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,eAAe;QACf,KAAK,CAAC,KAAK;YACT,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,OAAO,EAAE,OAAO,CAAC;iBACf,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CACtC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,OAAO,EAAE,KAAK;YACxD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;YAEtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACrD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -16,32 +16,36 @@ export function contentRoutingTests(factory) {
16
16
  }
17
17
  function runContentRoutingTests(factory, optionsA, optionsB) {
18
18
  describe('dht.contentRouting', () => {
19
- let daemons;
19
+ let daemonA;
20
+ let daemonB;
21
+ let daemonC;
20
22
  let identify;
21
23
  // Start Daemons
22
24
  before(async function () {
23
25
  this.timeout(20 * 1000);
24
- daemons = await Promise.all([
25
- factory.spawn(optionsA),
26
- factory.spawn(optionsB),
27
- factory.spawn(optionsB)
26
+ daemonA = await factory.spawn(optionsA);
27
+ daemonB = await factory.spawn(optionsB);
28
+ daemonC = await factory.spawn(optionsB);
29
+ identify = await Promise.all([
30
+ daemonA.client.identify(),
31
+ daemonB.client.identify(),
32
+ daemonC.client.identify()
28
33
  ]);
29
- identify = await Promise.all(daemons.map(async (d) => await d.client.identify()));
30
- await daemons[0].client.connect(identify[1].peerId, identify[1].addrs);
31
- await daemons[0].client.connect(identify[2].peerId, identify[2].addrs);
34
+ await daemonA.client.connect(identify[1].peerId, identify[1].addrs);
35
+ await daemonA.client.connect(identify[2].peerId, identify[2].addrs);
32
36
  // get the peers in the table
33
37
  await new Promise(resolve => setTimeout(resolve, 1000));
34
38
  });
35
39
  // Stop daemons
36
40
  after(async function () {
37
- if (daemons != null) {
38
- await Promise.all(daemons.map(async (daemon) => { await daemon.stop(); }));
39
- }
41
+ await Promise.all([daemonA, daemonB]
42
+ .filter(Boolean)
43
+ .map(async (d) => { await d.stop(); }));
40
44
  });
41
45
  it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
42
46
  const cid = CID.parse('QmVzw6MPsF96TyXBSRs1ptLoVMWRv5FCYJZZGJSVB2Hp39');
43
- await daemons[0].client.dht.provide(cid);
44
- const providers = await all(daemons[1].client.dht.findProviders(cid, 1));
47
+ await daemonA.client.dht.provide(cid);
48
+ const providers = await all(daemonB.client.dht.findProviders(cid, 1));
45
49
  expect(providers).to.exist();
46
50
  expect(providers.length).to.be.greaterThan(0);
47
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"content-routing.js","sourceRoot":"","sources":["../../../src/dht/content-routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-routing.js","sourceRoot":"","sources":["../../../src/dht/content-routing.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,GAAG,MAAM,QAAQ,CAAA;AAIxB,MAAM,UAAU,mBAAmB,CAAE,OAAsB;IACzD,MAAM,SAAS,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE1C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;gBACpC,gEAAgE;gBAChE,SAAQ;aACT;YAED,sBAAsB,CACpB,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAC3B,CAAA;SACF;KACF;AACH,CAAC;AAED,SAAS,sBAAsB,CAAE,OAAsB,EAAE,QAAsB,EAAE,QAAsB;IACrG,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QACnB,IAAI,QAA0B,CAAA;QAE9B,gBAAgB;QAChB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAEvC,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;aAC1B,CAAC,CAAA;YAEF,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACnE,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAEnE,6BAA6B;YAC7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,eAAe;QACf,KAAK,CAAC,KAAK;YACT,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,OAAO,EAAE,OAAO,CAAC;iBACf,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CACtC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,OAAO,EAAE,KAAK;YACxD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAEvE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAErC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YAErE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YAC5B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -11,32 +11,32 @@ export function peerRoutingTests(factory) {
11
11
  }
12
12
  function runPeerRoutingTests(factory, optionsA, optionsB) {
13
13
  describe('dht.peerRouting', () => {
14
- let daemons;
14
+ let daemonA;
15
+ let daemonB;
16
+ let daemonC;
15
17
  // Start Daemons
16
18
  before(async function () {
17
19
  this.timeout(20 * 1000);
18
- daemons = await Promise.all([
19
- factory.spawn(optionsA),
20
- factory.spawn(optionsB),
21
- factory.spawn(optionsB)
22
- ]);
20
+ daemonA = await factory.spawn(optionsA);
21
+ daemonB = await factory.spawn(optionsB);
22
+ daemonC = await factory.spawn(optionsB);
23
23
  });
24
24
  // Stop daemons
25
25
  after(async function () {
26
- if (daemons != null) {
27
- await Promise.all(daemons.map(async (daemon) => { await daemon.stop(); }));
28
- }
26
+ await Promise.all([daemonA, daemonB, daemonC]
27
+ .filter(Boolean)
28
+ .map(async (d) => { await d.stop(); }));
29
29
  });
30
30
  it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
31
- const identify1 = await daemons[1].client.identify();
32
- const identify2 = await daemons[2].client.identify();
31
+ const identify1 = await daemonB.client.identify();
32
+ const identify2 = await daemonC.client.identify();
33
33
  // peers need at least one peer in their routing table or they fail with:
34
34
  // connect 0 => 1
35
- await daemons[0].client.connect(identify1.peerId, identify1.addrs);
35
+ await daemonA.client.connect(identify1.peerId, identify1.addrs);
36
36
  // connect 0 => 2
37
- await daemons[0].client.connect(identify2.peerId, identify2.addrs);
37
+ await daemonA.client.connect(identify2.peerId, identify2.addrs);
38
38
  // peer 1 find peer 2, retry up to 10 times to allow the routing table to refresh
39
- const peerData = await pRetry(async () => await daemons[1].client.dht.findPeer(identify2.peerId), { retries: 10 });
39
+ const peerData = await pRetry(async () => await daemonB.client.dht.findPeer(identify2.peerId), { retries: 10 });
40
40
  expect(identify2.addrs.map(ma => ma.toString())).to.include.deep.members(peerData.multiaddrs.map(ma => ma.toString()));
41
41
  });
42
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"peer-routing.js","sourceRoot":"","sources":["../../../src/dht/peer-routing.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,MAAM,MAAM,SAAS,CAAA;AAG5B,MAAM,UAAU,gBAAgB,CAAE,OAAsB;IACtD,MAAM,SAAS,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE1C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,mBAAmB,CACjB,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAC3B,CAAA;SACF;KACF;AACH,CAAC;AAED,SAAS,mBAAmB,CAAE,OAAsB,EAAE,QAAsB,EAAE,QAAsB;IAClG,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,OAAiB,CAAA;QAErB,gBAAgB;QAChB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACvB,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;aACxB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,eAAe;QACf,KAAK,CAAC,KAAK;YACT,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CACvD,CAAA;aACF;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,OAAO,EAAE,KAAK;YACxD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YACpD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAEpD,yEAAyE;YACzE,iBAAiB;YACjB,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAElE,iBAAiB;YACjB,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAElE,iFAAiF;YACjF,MAAM,QAAQ,GAAa,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAE5H,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACxH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"peer-routing.js","sourceRoot":"","sources":["../../../src/dht/peer-routing.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,MAAM,MAAM,SAAS,CAAA;AAG5B,MAAM,UAAU,gBAAgB,CAAE,OAAsB;IACtD,MAAM,SAAS,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE1C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,mBAAmB,CACjB,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAC3B,CAAA;SACF;KACF;AACH,CAAC;AAED,SAAS,mBAAmB,CAAE,OAAsB,EAAE,QAAsB,EAAE,QAAsB;IAClG,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QAEnB,gBAAgB;QAChB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QAEF,eAAe;QACf,KAAK,CAAC,KAAK;YACT,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;iBACxB,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CACtC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,OAAO,EAAE,KAAK;YACxD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YACjD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAEjD,yEAAyE;YACzE,iBAAiB;YACjB,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAE/D,iBAAiB;YACjB,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;YAE/D,iFAAiF;YACjF,MAAM,QAAQ,GAAa,MAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAEzH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACxH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { expect } from 'aegir/chai';
3
3
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
4
4
  import first from 'it-first';
5
- import { waitForBothSubscribed } from './utils.js';
5
+ import { waitForSubscribed } from './utils.js';
6
6
  export function floodsubTests(factory) {
7
7
  const nodeTypes = ['js', 'go'];
8
8
  for (const typeA of nodeTypes) {
@@ -13,37 +13,34 @@ export function floodsubTests(factory) {
13
13
  }
14
14
  function runFloodsubTests(factory, optionsA, optionsB) {
15
15
  describe('pubsub.floodSub', () => {
16
- let daemons;
16
+ let daemonA;
17
+ let daemonB;
17
18
  // Start Daemons
18
19
  before(async function () {
19
20
  this.timeout(20 * 1000);
20
- daemons = await Promise.all([
21
- factory.spawn(optionsA),
22
- factory.spawn(optionsB)
23
- ]);
24
- const [peerA, peerB] = daemons;
25
- const identifyB = await peerB.client.identify();
26
- await peerA.client.connect(identifyB.peerId, identifyB.addrs);
21
+ daemonA = await factory.spawn(optionsA);
22
+ daemonB = await factory.spawn(optionsB);
23
+ const identifyB = await daemonB.client.identify();
24
+ await daemonA.client.connect(identifyB.peerId, identifyB.addrs);
27
25
  });
28
26
  // Stop daemons
29
27
  after(async function () {
30
- if (daemons != null) {
31
- await Promise.all(daemons.map(async (daemon) => { await daemon.stop(); }));
32
- }
28
+ await Promise.all([daemonA, daemonB]
29
+ .filter(Boolean)
30
+ .map(async (d) => { await d.stop(); }));
33
31
  });
34
32
  it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
35
33
  const topic = 'test-topic';
36
34
  const data = uint8ArrayFromString('test-data');
37
- const [peerA, peerB] = daemons;
38
- const subscription = await peerB.client.pubsub.subscribe(topic);
35
+ const subscription = await daemonB.client.pubsub.subscribe(topic);
39
36
  const subscriber = async () => {
40
37
  const message = await first(subscription.messages());
41
38
  expect(message).to.exist();
42
39
  expect(message).to.have.property('data').that.equalBytes(data);
43
40
  };
44
41
  const publisher = async () => {
45
- await waitForBothSubscribed(topic, peerA, peerB);
46
- await peerA.client.pubsub.publish(topic, data);
42
+ await waitForSubscribed(topic, daemonA, daemonB);
43
+ await daemonA.client.pubsub.publish(topic, data);
47
44
  };
48
45
  return await Promise.all([
49
46
  subscriber(),
@@ -1 +1 @@
1
- {"version":3,"file":"floodsub.js","sourceRoot":"","sources":["../../../src/pubsub/floodsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"floodsub.js","sourceRoot":"","sources":["../../../src/pubsub/floodsub.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import { expect } from 'aegir/chai';
3
3
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
4
4
  import first from 'it-first';
5
- import { waitForBothSubscribed } from './utils.js';
5
+ import { waitForSubscribed } from './utils.js';
6
6
  export function gossipsubTests(factory) {
7
7
  const nodeTypes = ['js', 'go'];
8
8
  for (const typeA of nodeTypes) {
@@ -13,37 +13,34 @@ export function gossipsubTests(factory) {
13
13
  }
14
14
  function runGossipsubTests(factory, optionsA, optionsB) {
15
15
  describe('pubsub.gossipsub', () => {
16
- let daemons;
16
+ let daemonA;
17
+ let daemonB;
17
18
  // Start Daemons
18
19
  before(async function () {
19
20
  this.timeout(20 * 1000);
20
- daemons = await Promise.all([
21
- factory.spawn(optionsA),
22
- factory.spawn(optionsB)
23
- ]);
24
- const [peerA, peerB] = daemons;
25
- const identifyB = await peerB.client.identify();
26
- await peerA.client.connect(identifyB.peerId, identifyB.addrs);
21
+ daemonA = await factory.spawn(optionsA);
22
+ daemonB = await factory.spawn(optionsB);
23
+ const identifyB = await daemonB.client.identify();
24
+ await daemonA.client.connect(identifyB.peerId, identifyB.addrs);
27
25
  });
28
26
  // Stop daemons
29
27
  after(async function () {
30
- if (daemons != null) {
31
- await Promise.all(daemons.map(async (daemon) => { await daemon.stop(); }));
32
- }
28
+ await Promise.all([daemonA, daemonB]
29
+ .filter(Boolean)
30
+ .map(async (d) => { await d.stop(); }));
33
31
  });
34
32
  it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
35
33
  const topic = 'test-topic';
36
34
  const data = uint8ArrayFromString('test-data');
37
- const [peerA, peerB] = daemons;
38
- const subscription = await peerB.client.pubsub.subscribe(topic);
35
+ const subscription = await daemonB.client.pubsub.subscribe(topic);
39
36
  const subscriber = async () => {
40
37
  const message = await first(subscription.messages());
41
38
  expect(message).to.exist();
42
39
  expect(message).to.have.property('data').that.equalBytes(data);
43
40
  };
44
41
  const publisher = async () => {
45
- await waitForBothSubscribed(topic, peerA, peerB);
46
- await peerA.client.pubsub.publish(topic, data);
42
+ await waitForSubscribed(topic, daemonA, daemonB);
43
+ await daemonA.client.pubsub.publish(topic, data);
47
44
  };
48
45
  return await Promise.all([
49
46
  subscriber(),
@@ -1 +1 @@
1
- {"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/pubsub/gossipsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/pubsub/gossipsub.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import { expect } from 'aegir/chai';
3
3
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
4
4
  import first from 'it-first';
5
- import { waitForBothSubscribed } from './utils.js';
5
+ import { waitForSubscribed } from './utils.js';
6
6
  export function hybridTests(factory) {
7
7
  const nodeTypes = ['js', 'go'];
8
8
  for (const typeA of nodeTypes) {
@@ -13,37 +13,34 @@ export function hybridTests(factory) {
13
13
  }
14
14
  function runHybridTests(factory, optionsA, optionsB) {
15
15
  describe('pubsub.hybrid', () => {
16
- let daemons;
16
+ let daemonA;
17
+ let daemonB;
17
18
  // Start Daemons
18
19
  before(async function () {
19
20
  this.timeout(20 * 1000);
20
- daemons = await Promise.all([
21
- factory.spawn(optionsA),
22
- factory.spawn(optionsB)
23
- ]);
24
- const [peerA, peerB] = daemons;
25
- const identifyB = await peerB.client.identify();
26
- await peerA.client.connect(identifyB.peerId, identifyB.addrs);
21
+ daemonA = await factory.spawn(optionsA);
22
+ daemonB = await factory.spawn(optionsB);
23
+ const identifyB = await daemonB.client.identify();
24
+ await daemonA.client.connect(identifyB.peerId, identifyB.addrs);
27
25
  });
28
26
  // Stop daemons
29
27
  after(async function () {
30
- if (daemons != null) {
31
- await Promise.all(daemons.map(async (daemon) => { await daemon.stop(); }));
32
- }
28
+ await Promise.all([daemonA, daemonB]
29
+ .filter(Boolean)
30
+ .map(async (d) => { await d.stop(); }));
33
31
  });
34
32
  it(`${optionsA.type} peer to ${optionsB.type} peer`, async function () {
35
33
  const topic = 'test-topic';
36
34
  const data = uint8ArrayFromString('test-data');
37
- const [peerA, peerB] = daemons;
38
- const subscription = await peerB.client.pubsub.subscribe(topic);
35
+ const subscription = await daemonB.client.pubsub.subscribe(topic);
39
36
  const subscriber = async () => {
40
37
  const message = await first(subscription.messages());
41
38
  expect(message).to.exist();
42
39
  expect(message).to.have.property('data').that.equalBytes(data);
43
40
  };
44
41
  const publisher = async () => {
45
- await waitForBothSubscribed(topic, peerA, peerB);
46
- await peerA.client.pubsub.publish(topic, data);
42
+ await waitForSubscribed(topic, daemonA, daemonB);
43
+ await daemonA.client.pubsub.publish(topic, data);
47
44
  };
48
45
  return await Promise.all([
49
46
  subscriber(),
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../../src/pubsub/hybrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../../src/pubsub/hybrid.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,UAAU,WAAW,CAAE,OAAsB;IACjD,MAAM,SAAS,GAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE1C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;YAC7B,cAAc,CACZ,OAAO,EACP,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,EACvD,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,CACzD,CAAA;SACF;KACF;AACH,CAAC;AAED,SAAS,cAAc,CAAE,OAAsB,EAAE,QAAsB,EAAE,QAAsB;IAC7F,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,IAAI,OAAe,CAAA;QACnB,IAAI,OAAe,CAAA;QAEnB,gBAAgB;QAChB,MAAM,CAAC,KAAK;YACV,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;YAEvB,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvC,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAEvC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YACjD,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACjE,CAAC,CAAC,CAAA;QAEF,eAAe;QACf,KAAK,CAAC,KAAK;YACT,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,OAAO,EAAE,OAAO,CAAC;iBACf,MAAM,CAAC,OAAO,CAAC;iBACf,GAAG,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA,CAAC,CAAC,CAAC,CACtC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,OAAO,EAAE,KAAK;YACxD,MAAM,KAAK,GAAG,YAAY,CAAA;YAC1B,MAAM,IAAI,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;YAE9C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YACjE,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;gBAC3C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAEpD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;gBAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAChE,CAAC,CAAA;YAED,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;gBAC1C,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;gBAChD,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAClD,CAAC,CAAA;YAED,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvB,UAAU,EAAE;gBACZ,SAAS,EAAE;aACZ,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,3 +1,7 @@
1
- import type { Daemon } from '..';
2
- export declare function waitForBothSubscribed(topic: string, a: Daemon, b: Daemon): Promise<void>;
1
+ import type { Daemon } from '../index.js';
2
+ /**
3
+ * Wait for daemon a to see daemon b in it's subscriber list
4
+ * for the passed topic
5
+ */
6
+ export declare function waitForSubscribed(topic: string, a: Daemon, b: Daemon): Promise<void>;
3
7
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAEhC,wBAAsB,qBAAqB,CAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB/F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;GAGG;AACH,wBAAsB,iBAAiB,CAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc3F"}
@@ -1,23 +1,20 @@
1
1
  import pWaitFor from 'p-wait-for';
2
- export async function waitForBothSubscribed(topic, a, b) {
3
- await a.client.pubsub.subscribe(topic);
4
- await b.client.pubsub.subscribe(topic);
5
- const idA = await a.client.identify();
2
+ import delay from 'delay';
3
+ /**
4
+ * Wait for daemon a to see daemon b in it's subscriber list
5
+ * for the passed topic
6
+ */
7
+ export async function waitForSubscribed(topic, a, b) {
6
8
  const idB = await b.client.identify();
7
9
  // wait for subscription stream
8
- await Promise.all([
9
- await pWaitFor(async () => {
10
- const peers = await a.client.pubsub.getSubscribers(topic);
11
- return peers.map(p => p.toString()).includes(idB.peerId.toString());
12
- }, {
13
- interval: 500
14
- }),
15
- await pWaitFor(async () => {
16
- const peers = await b.client.pubsub.getSubscribers(topic);
17
- return peers.map(p => p.toString()).includes(idA.peerId.toString());
18
- }, {
19
- interval: 500
20
- })
21
- ]);
10
+ await pWaitFor(async () => {
11
+ const peers = await a.client.pubsub.getSubscribers(topic);
12
+ return peers.map(p => p.toString()).includes(idB.peerId.toString());
13
+ }, {
14
+ interval: 500
15
+ });
16
+ // just having a peer in the subscriber list is not a guarentee they will recieve the
17
+ // message - we have to also wait for the gossipsub heartbeat to rebalance the mesh
18
+ await delay(2000);
22
19
  }
23
20
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AAGjC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAE,KAAa,EAAE,CAAS,EAAE,CAAS;IAC9E,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAEtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAErC,+BAA+B;IAC/B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YACzD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrE,CAAC,EAAE;YACD,QAAQ,EAAE,GAAG;SACd,CAAC;QACF,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;YACzD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrE,CAAC,EAAE;YACD,QAAQ,EAAE,GAAG;SACd,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAE,KAAa,EAAE,CAAS,EAAE,CAAS;IAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAErC,+BAA+B;IAC/B,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;QACzD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC,EAAE;QACD,QAAQ,EAAE,GAAG;KACd,CAAC,CAAA;IAEF,qFAAqF;IACrF,mFAAmF;IACnF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC"}
@@ -23,7 +23,9 @@ function relayTest(factory, aType, bType, relayType) {
23
23
  let bAddrViaRelay;
24
24
  beforeEach(async function () {
25
25
  this.timeout(20 * 1000);
26
- [aNode, bNode, relay] = await Promise.all(opts.map(async (o) => await factory.spawn(o)));
26
+ aNode = await factory.spawn(opts[0]);
27
+ bNode = await factory.spawn(opts[1]);
28
+ relay = await factory.spawn(opts[2]);
27
29
  [bId, relayId] = await Promise.all([bNode, relay].map(async (d) => await d.client.identify()));
28
30
  // construct a relay address
29
31
  bAddrViaRelay = multiaddr(`${relayId.addrs[0].toString()}/p2p/${relayId.peerId.toString()}/p2p-circuit/p2p/${bId.peerId.toString()}`);
@@ -31,7 +33,11 @@ function relayTest(factory, aType, bType, relayType) {
31
33
  await bNode.client.connect(relayId.peerId, relayId.addrs);
32
34
  });
33
35
  afterEach(async function () {
34
- await Promise.all([aNode, bNode, relay].map(async (d) => { await d.stop(); }));
36
+ await Promise.all([aNode, bNode, relay].map(async (d) => {
37
+ if (d != null) {
38
+ await d.stop();
39
+ }
40
+ }));
35
41
  });
36
42
  it('connects', async () => {
37
43
  // b makes reservation on relay
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/relay/index.ts"],"names":[],"mappings":"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"}