@helia/interop 8.2.0 → 8.3.0-34d3ecd7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"create-helia.browser.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"create-helia.browser.d.ts","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,eAAe,IAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAsB,eAAe,CAAE,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAG,aAAa,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA"}
@@ -2,7 +2,6 @@ import { bitswap } from '@helia/block-brokers';
2
2
  import { ipnsValidator, ipnsSelector } from '@helia/ipns';
3
3
  import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht';
4
4
  import { webSockets } from '@libp2p/websockets';
5
- import { all } from '@libp2p/websockets/filters';
6
5
  import { sha3512 } from '@multiformats/sha3';
7
6
  import { createHelia, libp2pDefaults } from 'helia';
8
7
  export async function createHeliaNode(libp2pOptions) {
@@ -11,9 +10,7 @@ export async function createHeliaNode(libp2pOptions) {
11
10
  defaults.transports?.pop();
12
11
  defaults.transports = [
13
12
  ...(defaults.transports ?? []),
14
- webSockets({
15
- filter: all
16
- })
13
+ webSockets()
17
14
  ];
18
15
  // allow dialing loopback
19
16
  defaults.connectionGater = {
@@ -1 +1 @@
1
- {"version":3,"file":"create-helia.browser.js","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAOnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,aAA6B;IAClE,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IAEjC,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAA;IAC1B,QAAQ,CAAC,UAAU,GAAG;QACpB,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC9B,UAAU,CAAC;YACT,MAAM,EAAE,GAAG;SACZ,CAAC;KACH,CAAA;IAED,yBAAyB;IACzB,QAAQ,CAAC,eAAe,GAAG;QACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;KAC/B,CAAA;IAED,cAAc;IACd,QAAQ,CAAC,QAAQ,GAAG;QAClB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;QAClC,GAAG,EAAE,MAAM,CAAC;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,aAAa;aACpB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;aACnB;YACD,yDAAyD;YACzD,uBAAuB,EAAE,IAAI;YAE7B,QAAQ,EAAE,qBAAqB;YAC/B,cAAc,EAAE,2BAA2B;YAC3C,UAAU,EAAE,KAAK;SAClB,CAAC;KACH,CAAA;IAED,yBAAyB;IACzB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,kDAAkD;IAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,6DAA6D;IAC7D,OAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAA;IAEzC,OAAO,WAAW,CAAgC;QAChD,YAAY,EAAE;YACZ,OAAO,EAAE;SACV;QACD,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,OAAO;SACR;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"create-helia.browser.js","sourceRoot":"","sources":["../../../src/fixtures/create-helia.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAOnD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,aAA6B;IAClE,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IAEjC,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAA;IAC1B,QAAQ,CAAC,UAAU,GAAG;QACpB,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC9B,UAAU,EAAE;KACb,CAAA;IAED,yBAAyB;IACzB,QAAQ,CAAC,eAAe,GAAG;QACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;KAC/B,CAAA;IAED,cAAc;IACd,QAAQ,CAAC,QAAQ,GAAG;QAClB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;QAClC,GAAG,EAAE,MAAM,CAAC;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,aAAa;aACpB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;aACnB;YACD,yDAAyD;YACzD,uBAAuB,EAAE,IAAI;YAE7B,QAAQ,EAAE,qBAAqB;YAC/B,cAAc,EAAE,2BAA2B;YAC3C,UAAU,EAAE,KAAK;SAClB,CAAC;KACH,CAAA;IAED,yBAAyB;IACzB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,6CAA6C;IAC7C,oDAAoD;IACpD,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAA;IAChC,kDAAkD;IAClD,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,6DAA6D;IAC7D,OAAO,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAA;IAEzC,OAAO,WAAW,CAAgC;QAChD,YAAY,EAAE;YACZ,OAAO,EAAE;SACV;QACD,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,OAAO;SACR;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /* eslint-env mocha */
2
2
  import { multiaddr } from '@multiformats/multiaddr';
3
3
  import { expect } from 'aegir/chai';
4
+ import toBuffer from 'it-to-buffer';
4
5
  import { CID } from 'multiformats/cid';
5
6
  import { createHeliaNode } from './fixtures/create-helia.js';
6
7
  import { createKuboNode } from './fixtures/create-kubo.js';
@@ -28,7 +29,7 @@ describe('helia - blockstore sessions', () => {
28
29
  rawLeaves: true
29
30
  });
30
31
  await helia.libp2p.dial(kuboInfo.multiaddrs.map(str => multiaddr(str)));
31
- const output = await helia.blockstore.get(CID.parse(cid.toString()));
32
+ const output = await toBuffer(helia.blockstore.get(CID.parse(cid.toString())));
32
33
  expect(output).to.equalBytes(input);
33
34
  });
34
35
  it('should be able to receive a block from a session provider', async () => {
@@ -43,7 +44,7 @@ describe('helia - blockstore sessions', () => {
43
44
  kuboInfo.multiaddrs.map(str => multiaddr(str))
44
45
  ]
45
46
  });
46
- const output = await session.get(root);
47
+ const output = await toBuffer(session.get(root));
47
48
  expect(output).to.equalBytes(input);
48
49
  });
49
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helia-blockstore-sessions.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore-sessions.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helia-blockstore-sessions.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore-sessions.spec.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ describe('helia - blockstore', () => {
40
40
  cidVersion: 1,
41
41
  rawLeaves: true
42
42
  });
43
- const output = await helia.blockstore.get(CID.parse(cid.toString()));
43
+ const output = await toBuffer(helia.blockstore.get(CID.parse(cid.toString())));
44
44
  expect(output).to.equalBytes(input);
45
45
  });
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helia-blockstore.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helia-blockstore.spec.js","sourceRoot":"","sources":["../../src/helia-blockstore.spec.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,7 @@ describe('helia - hashes', () => {
39
39
  hashAlg: 'sha3-512'
40
40
  });
41
41
  expect(cid.multihash.code).to.equal(sha3512.code);
42
- const output = await helia.blockstore.get(CID.parse(cid.toString()));
42
+ const output = await toBuffer(helia.blockstore.get(CID.parse(cid.toString())));
43
43
  expect(output).to.equalBytes(input);
44
44
  });
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helia-hashes.spec.js","sourceRoot":"","sources":["../../src/helia-hashes.spec.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAI1D,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,KAAY,CAAA;IAChB,IAAI,IAAc,CAAA;IAElB,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,KAAK,GAAG,MAAM,eAAe,EAAE,CAAA;QAC/B,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;QAE7B,wBAAwB;QACxB,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1C,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAEhD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YACrD,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,UAAU;SACpB,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAEpE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"helia-hashes.spec.js","sourceRoot":"","sources":["../../src/helia-hashes.spec.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /* eslint-env mocha */
2
2
  /* eslint max-nested-callbacks: ["error", 5] */
3
- import { gossipsub } from '@chainsafe/libp2p-gossipsub';
4
3
  import { ipns } from '@helia/ipns';
5
4
  import { pubsub } from '@helia/ipns/routing';
6
5
  import { generateKeyPair } from '@libp2p/crypto/keys';
6
+ import { floodsub } from '@libp2p/floodsub';
7
7
  import { peerIdFromCID } from '@libp2p/peer-id';
8
8
  import { expect } from 'aegir/chai';
9
9
  import last from 'it-last';
@@ -32,7 +32,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
32
32
  beforeEach(async () => {
33
33
  helia = await createHeliaNode({
34
34
  services: {
35
- pubsub: gossipsub()
35
+ pubsub: floodsub()
36
36
  }
37
37
  });
38
38
  kubo = await createKuboNode();
@@ -1 +1 @@
1
- {"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipns-pubsub.spec.js","sourceRoot":"","sources":["../../src/ipns-pubsub.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=providers.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.spec.d.ts","sourceRoot":"","sources":["../../src/providers.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,193 @@
1
+ /* eslint-env mocha */
2
+ import { car } from '@helia/car';
3
+ import { dagCbor } from '@helia/dag-cbor';
4
+ import { dagJson } from '@helia/dag-json';
5
+ import { mfs } from '@helia/mfs';
6
+ import { strings } from '@helia/strings';
7
+ import { unixfs } from '@helia/unixfs';
8
+ import { peerIdFromString } from '@libp2p/peer-id';
9
+ import { createScalableCuckooFilter } from '@libp2p/utils';
10
+ import { expect } from 'aegir/chai';
11
+ import drain from 'it-drain';
12
+ import toBuffer from 'it-to-buffer';
13
+ import { multiaddr } from 'kubo-rpc-client';
14
+ import { CID } from 'multiformats/cid';
15
+ import { createHeliaNode } from './fixtures/create-helia.js';
16
+ import { createKuboNode } from './fixtures/create-kubo.js';
17
+ describe('providers', () => {
18
+ let helia;
19
+ let kubo;
20
+ let cid;
21
+ let kuboInfo;
22
+ let input;
23
+ beforeEach(async () => {
24
+ // helia and kubo are not connected together before the test
25
+ helia = await createHeliaNode();
26
+ kubo = await createKuboNode();
27
+ const chunkSize = 1024 * 1024;
28
+ const size = chunkSize * 10;
29
+ input = [];
30
+ const candidate = {
31
+ content: (async function* () {
32
+ for (let i = 0; i < size; i += chunkSize) {
33
+ const buf = new Uint8Array(chunkSize);
34
+ input.push(buf);
35
+ yield buf;
36
+ }
37
+ }())
38
+ };
39
+ const importResult = await kubo.api.add(candidate.content);
40
+ cid = CID.parse(importResult.cid.toString());
41
+ kuboInfo = await kubo.info();
42
+ });
43
+ afterEach(async () => {
44
+ if (helia != null) {
45
+ await helia.stop();
46
+ }
47
+ if (kubo != null) {
48
+ await kubo.stop();
49
+ }
50
+ });
51
+ it('should fail to fetch without using a provider', async () => {
52
+ await expect(drain(helia.blockstore.get(cid, {
53
+ signal: AbortSignal.timeout(100)
54
+ }))).to.eventually.be.rejected()
55
+ .with.nested.property('errors[0].name', 'AbortError');
56
+ });
57
+ it('should fetch raw using a provider', async () => {
58
+ let sender;
59
+ const buf = await toBuffer(helia.blockstore.get(cid, {
60
+ providers: [
61
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
62
+ ],
63
+ onProgress(evt) {
64
+ // @ts-expect-error cannot derive config-based progress event types
65
+ if (evt.type === 'bitswap:want-block:received') {
66
+ // @ts-expect-error cannot derive config-based progress event types
67
+ sender = evt.detail.sender;
68
+ }
69
+ }
70
+ }));
71
+ expect(buf).to.have.lengthOf(1930);
72
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''));
73
+ });
74
+ it('should fetch dag-cbor using a provider', async () => {
75
+ let sender;
76
+ const obj = { hello: 'world' };
77
+ const cid = await kubo.api.dag.put(obj, {
78
+ storeCodec: 'dag-cbor'
79
+ });
80
+ const d = dagCbor(helia);
81
+ await expect(d.get(cid, {
82
+ providers: [
83
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
84
+ ],
85
+ onProgress(evt) {
86
+ // @ts-expect-error cannot derive config-based progress event types
87
+ if (evt.type === 'bitswap:want-block:received') {
88
+ // @ts-expect-error cannot derive config-based progress event types
89
+ sender = evt.detail.sender;
90
+ }
91
+ }
92
+ })).to.eventually.deep.equal(obj);
93
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''));
94
+ });
95
+ it('should fetch dag-json using a provider', async () => {
96
+ let sender;
97
+ const obj = { hello: 'world' };
98
+ const cid = await kubo.api.dag.put(obj, {
99
+ storeCodec: 'dag-json'
100
+ });
101
+ const d = dagJson(helia);
102
+ await expect(d.get(cid, {
103
+ providers: [
104
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
105
+ ],
106
+ onProgress(evt) {
107
+ // @ts-expect-error cannot derive config-based progress event types
108
+ if (evt.type === 'bitswap:want-block:received') {
109
+ // @ts-expect-error cannot derive config-based progress event types
110
+ sender = evt.detail.sender;
111
+ }
112
+ }
113
+ })).to.eventually.deep.equal(obj);
114
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''));
115
+ });
116
+ it('should fetch string using a provider', async () => {
117
+ let sender;
118
+ const obj = 'hello world';
119
+ const cid = await kubo.api.dag.put(obj, {
120
+ storeCodec: 'dag-json'
121
+ });
122
+ const s = strings(helia);
123
+ await expect(s.get(cid, {
124
+ providers: [
125
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
126
+ ],
127
+ onProgress(evt) {
128
+ // @ts-expect-error cannot derive config-based progress event types
129
+ if (evt.type === 'bitswap:want-block:received') {
130
+ // @ts-expect-error cannot derive config-based progress event types
131
+ sender = evt.detail.sender;
132
+ }
133
+ }
134
+ })).to.eventually.equal(JSON.stringify(obj));
135
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''));
136
+ });
137
+ it('should fetch via unixfs using a provider', async () => {
138
+ let sender;
139
+ const fs = unixfs(helia);
140
+ const bytes = await toBuffer(fs.cat(cid, {
141
+ providers: [
142
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
143
+ ],
144
+ onProgress(evt) {
145
+ // @ts-expect-error cannot derive config-based progress event types
146
+ if (evt.type === 'bitswap:want-block:received') {
147
+ // @ts-expect-error cannot derive config-based progress event types
148
+ sender = evt.detail.sender;
149
+ }
150
+ }
151
+ }));
152
+ expect(bytes).to.equalBytes(toBuffer(input));
153
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''));
154
+ });
155
+ it('should fetch via mfs using a provider', async () => {
156
+ let sender;
157
+ const fs = mfs(helia);
158
+ await fs.cp(cid, '/file.txt', {
159
+ providers: [
160
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
161
+ ],
162
+ onProgress(evt) {
163
+ // @ts-expect-error cannot derive config-based progress event types
164
+ if (evt.type === 'bitswap:want-block:received') {
165
+ // @ts-expect-error cannot derive config-based progress event types
166
+ sender = evt.detail.sender;
167
+ }
168
+ }
169
+ });
170
+ const bytes = await toBuffer(fs.cat('/file.txt'));
171
+ expect(bytes).to.equalBytes(toBuffer(input));
172
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''));
173
+ });
174
+ it('should fetch via car using a provider', async () => {
175
+ let sender;
176
+ const c = car(helia);
177
+ expect(await toBuffer(c.stream(cid, {
178
+ providers: [
179
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
180
+ ],
181
+ blockFilter: createScalableCuckooFilter(10),
182
+ onProgress(evt) {
183
+ // @ts-expect-error cannot derive config-based progress event types
184
+ if (evt.type === 'bitswap:want-block:received') {
185
+ // @ts-expect-error cannot derive config-based progress event types
186
+ sender = evt.detail.sender;
187
+ }
188
+ }
189
+ }))).to.equalBytes(await toBuffer(kubo.api.dag.export(cid)));
190
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''));
191
+ });
192
+ });
193
+ //# sourceMappingURL=providers.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.spec.js","sourceRoot":"","sources":["../../src/providers.spec.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { fixedSize } from 'ipfs-unixfs-importer/chunker';
7
7
  import { balanced } from 'ipfs-unixfs-importer/layout';
8
8
  import drain from 'it-drain';
9
9
  import last from 'it-last';
10
+ import toBuffer from 'it-to-buffer';
10
11
  import { CID } from 'multiformats/cid';
11
12
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
12
13
  import { createHeliaNode } from './fixtures/create-helia.js';
@@ -127,7 +128,7 @@ describe('@helia/unixfs - files', () => {
127
128
  // pull all blocks from kubo
128
129
  await drain(unixFs.cat(largeFileCid));
129
130
  // check the root block
130
- const block = await helia.blockstore.get(largeFileCid);
131
+ const block = await toBuffer(helia.blockstore.get(largeFileCid));
131
132
  const node = dagPb.decode(block);
132
133
  expect(node.Links).to.have.lengthOf(40);
133
134
  const stats = await unixFs.stat(largeFileCid, {
@@ -1 +1 @@
1
- {"version":3,"file":"unixfs-files.spec.js","sourceRoot":"","sources":["../../src/unixfs-files.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unixfs-files.spec.js","sourceRoot":"","sources":["../../src/unixfs-files.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/interop",
3
- "version": "8.2.0",
3
+ "version": "8.3.0-34d3ecd7",
4
4
  "description": "Interop tests for Helia",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/interop#readme",
@@ -36,13 +36,6 @@
36
36
  "import": "./dist/src/index.js"
37
37
  }
38
38
  },
39
- "eslintConfig": {
40
- "extends": "ipfs",
41
- "parserOptions": {
42
- "project": true,
43
- "sourceType": "module"
44
- }
45
- },
46
39
  "scripts": {
47
40
  "clean": "aegir clean",
48
41
  "lint": "aegir lint",
@@ -58,44 +51,45 @@
58
51
  "test:electron-main": "aegir test -t electron-main"
59
52
  },
60
53
  "dependencies": {
61
- "@chainsafe/libp2p-gossipsub": "^14.1.0",
62
- "@helia/block-brokers": "^4.2.3",
63
- "@helia/car": "^4.1.3",
64
- "@helia/dag-cbor": "^4.0.7",
65
- "@helia/dag-json": "^4.0.7",
66
- "@helia/http": "^2.2.0",
67
- "@helia/interface": "^5.4.0",
68
- "@helia/ipns": "^8.2.4",
69
- "@helia/json": "^4.0.7",
70
- "@helia/mfs": "^5.0.4",
71
- "@helia/routers": "^3.1.3",
72
- "@helia/strings": "^4.0.7",
73
- "@helia/unixfs": "^5.0.4",
74
- "@ipld/car": "^5.3.3",
75
- "@ipld/dag-cbor": "^9.2.2",
76
- "@ipld/dag-pb": "^4.1.3",
77
- "@libp2p/crypto": "^5.0.7",
78
- "@libp2p/interface": "^2.2.1",
79
- "@libp2p/kad-dht": "^15.0.2",
80
- "@libp2p/keychain": "^5.0.10",
81
- "@libp2p/peer-id": "^5.0.8",
82
- "@libp2p/websockets": "^9.0.13",
83
- "@multiformats/multiaddr": "^12.4.0",
54
+ "@helia/block-brokers": "4.2.4-34d3ecd7",
55
+ "@helia/car": "4.2.0-34d3ecd7",
56
+ "@helia/dag-cbor": "4.1.0-34d3ecd7",
57
+ "@helia/dag-json": "4.1.0-34d3ecd7",
58
+ "@helia/http": "2.2.1-34d3ecd7",
59
+ "@helia/interface": "5.4.0-34d3ecd7",
60
+ "@helia/ipns": "8.2.4-34d3ecd7",
61
+ "@helia/json": "4.0.7-34d3ecd7",
62
+ "@helia/mfs": "5.1.0-34d3ecd7",
63
+ "@helia/routers": "3.1.3-34d3ecd7",
64
+ "@helia/strings": "4.1.0-34d3ecd7",
65
+ "@helia/unixfs": "5.1.0-34d3ecd7",
66
+ "@ipld/car": "^5.4.2",
67
+ "@ipld/dag-cbor": "^9.2.5",
68
+ "@ipld/dag-pb": "^4.1.5",
69
+ "@libp2p/crypto": "^5.1.12",
70
+ "@libp2p/floodsub": "^11.0.6",
71
+ "@libp2p/interface": "^3.0.2",
72
+ "@libp2p/kad-dht": "^16.0.5",
73
+ "@libp2p/keychain": "^6.0.5",
74
+ "@libp2p/peer-id": "^6.0.3",
75
+ "@libp2p/utils": "^7.0.5",
76
+ "@libp2p/websockets": "^10.0.6",
77
+ "@multiformats/multiaddr": "^13.0.1",
84
78
  "@multiformats/sha3": "^3.0.2",
85
- "aegir": "^47.0.7",
86
- "helia": "^5.5.0",
87
- "ipfs-unixfs-importer": "^15.3.1",
79
+ "aegir": "^47.0.22",
80
+ "helia": "5.5.1-34d3ecd7",
81
+ "ipfs-unixfs-importer": "^16.0.1",
88
82
  "ipfsd-ctl": "^15.0.2",
89
- "ipns": "^10.0.0",
90
- "it-all": "^3.0.6",
91
- "it-drain": "^3.0.7",
92
- "it-last": "^3.0.6",
93
- "it-map": "^3.1.1",
94
- "it-to-buffer": "^4.0.7",
95
- "kubo": "^0.35.0",
96
- "kubo-rpc-client": "^5.0.2",
97
- "libp2p": "^2.9.0",
98
- "multiformats": "^13.3.1",
83
+ "ipns": "^10.1.2",
84
+ "it-all": "^3.0.9",
85
+ "it-drain": "^3.0.10",
86
+ "it-last": "^3.0.9",
87
+ "it-map": "^3.1.4",
88
+ "it-to-buffer": "^4.0.10",
89
+ "kubo": "^0.38.0",
90
+ "kubo-rpc-client": "^5.4.0",
91
+ "libp2p": "^3.0.6",
92
+ "multiformats": "^13.4.1",
99
93
  "p-defer": "^4.0.1",
100
94
  "uint8arrays": "^5.1.0",
101
95
  "wherearewe": "^2.0.1"
@@ -2,7 +2,6 @@ import { bitswap } from '@helia/block-brokers'
2
2
  import { ipnsValidator, ipnsSelector } from '@helia/ipns'
3
3
  import { kadDHT, removePublicAddressesMapper } from '@libp2p/kad-dht'
4
4
  import { webSockets } from '@libp2p/websockets'
5
- import { all } from '@libp2p/websockets/filters'
6
5
  import { sha3512 } from '@multiformats/sha3'
7
6
  import { createHelia, libp2pDefaults } from 'helia'
8
7
  import type { Libp2p } from '@libp2p/interface'
@@ -18,9 +17,7 @@ export async function createHeliaNode (libp2pOptions?: Libp2pOptions): Promise<H
18
17
  defaults.transports?.pop()
19
18
  defaults.transports = [
20
19
  ...(defaults.transports ?? []),
21
- webSockets({
22
- filter: all
23
- })
20
+ webSockets()
24
21
  ]
25
22
 
26
23
  // allow dialing loopback
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { multiaddr } from '@multiformats/multiaddr'
4
4
  import { expect } from 'aegir/chai'
5
+ import toBuffer from 'it-to-buffer'
5
6
  import { CID } from 'multiformats/cid'
6
7
  import { createHeliaNode } from './fixtures/create-helia.js'
7
8
  import { createKuboNode } from './fixtures/create-kubo.js'
@@ -38,7 +39,7 @@ describe('helia - blockstore sessions', () => {
38
39
 
39
40
  await helia.libp2p.dial(kuboInfo.multiaddrs.map(str => multiaddr(str)))
40
41
 
41
- const output = await helia.blockstore.get(CID.parse(cid.toString()))
42
+ const output = await toBuffer(helia.blockstore.get(CID.parse(cid.toString())))
42
43
 
43
44
  expect(output).to.equalBytes(input)
44
45
  })
@@ -57,7 +58,7 @@ describe('helia - blockstore sessions', () => {
57
58
  ]
58
59
  })
59
60
 
60
- const output = await session.get(root)
61
+ const output = await toBuffer(session.get(root))
61
62
 
62
63
  expect(output).to.equalBytes(input)
63
64
  })
@@ -51,7 +51,7 @@ describe('helia - blockstore', () => {
51
51
  cidVersion: 1,
52
52
  rawLeaves: true
53
53
  })
54
- const output = await helia.blockstore.get(CID.parse(cid.toString()))
54
+ const output = await toBuffer(helia.blockstore.get(CID.parse(cid.toString())))
55
55
 
56
56
  expect(output).to.equalBytes(input)
57
57
  })
@@ -50,7 +50,7 @@ describe('helia - hashes', () => {
50
50
  hashAlg: 'sha3-512'
51
51
  })
52
52
  expect(cid.multihash.code).to.equal(sha3512.code)
53
- const output = await helia.blockstore.get(CID.parse(cid.toString()))
53
+ const output = await toBuffer(helia.blockstore.get(CID.parse(cid.toString())))
54
54
 
55
55
  expect(output).to.equalBytes(input)
56
56
  })
@@ -1,10 +1,10 @@
1
1
  /* eslint-env mocha */
2
2
  /* eslint max-nested-callbacks: ["error", 5] */
3
3
 
4
- import { gossipsub } from '@chainsafe/libp2p-gossipsub'
5
4
  import { ipns } from '@helia/ipns'
6
5
  import { pubsub } from '@helia/ipns/routing'
7
6
  import { generateKeyPair } from '@libp2p/crypto/keys'
7
+ import { floodsub } from '@libp2p/floodsub'
8
8
  import { peerIdFromCID } from '@libp2p/peer-id'
9
9
  import { expect } from 'aegir/chai'
10
10
  import last from 'it-last'
@@ -23,7 +23,8 @@ import { createKuboNode } from './fixtures/create-kubo.js'
23
23
  import { keyTypes } from './fixtures/key-types.js'
24
24
  import { waitFor } from './fixtures/wait-for.js'
25
25
  import type { IPNS, ResolveResult } from '@helia/ipns'
26
- import type { Libp2p, PubSub } from '@libp2p/interface'
26
+ import type { PubSub } from '@helia/ipns/routing'
27
+ import type { Libp2p } from '@libp2p/interface'
27
28
  import type { Keychain } from '@libp2p/keychain'
28
29
  import type { Helia } from 'helia'
29
30
  import type { KuboNode } from 'ipfsd-ctl'
@@ -40,7 +41,7 @@ keyTypes.filter(keyType => keyType !== 'RSA').forEach(keyType => {
40
41
  beforeEach(async () => {
41
42
  helia = await createHeliaNode({
42
43
  services: {
43
- pubsub: gossipsub()
44
+ pubsub: floodsub()
44
45
  }
45
46
  })
46
47
  kubo = await createKuboNode()
@@ -0,0 +1,231 @@
1
+ /* eslint-env mocha */
2
+
3
+ import { car } from '@helia/car'
4
+ import { dagCbor } from '@helia/dag-cbor'
5
+ import { dagJson } from '@helia/dag-json'
6
+ import { mfs } from '@helia/mfs'
7
+ import { strings } from '@helia/strings'
8
+ import { unixfs } from '@helia/unixfs'
9
+ import { peerIdFromString } from '@libp2p/peer-id'
10
+ import { createScalableCuckooFilter } from '@libp2p/utils'
11
+ import { expect } from 'aegir/chai'
12
+ import drain from 'it-drain'
13
+ import toBuffer from 'it-to-buffer'
14
+ import { multiaddr } from 'kubo-rpc-client'
15
+ import { CID } from 'multiformats/cid'
16
+ import { createHeliaNode } from './fixtures/create-helia.js'
17
+ import { createKuboNode } from './fixtures/create-kubo.js'
18
+ import type { PeerId } from '@libp2p/interface'
19
+ import type { Helia } from 'helia'
20
+ import type { FileCandidate } from 'ipfs-unixfs-importer'
21
+ import type { KuboInfo, KuboNode } from 'ipfsd-ctl'
22
+
23
+ describe('providers', () => {
24
+ let helia: Helia
25
+ let kubo: KuboNode
26
+ let cid: CID
27
+ let kuboInfo: KuboInfo
28
+ let input: Uint8Array[]
29
+
30
+ beforeEach(async () => {
31
+ // helia and kubo are not connected together before the test
32
+ helia = await createHeliaNode()
33
+ kubo = await createKuboNode()
34
+
35
+ const chunkSize = 1024 * 1024
36
+ const size = chunkSize * 10
37
+ input = []
38
+
39
+ const candidate: FileCandidate = {
40
+ content: (async function * () {
41
+ for (let i = 0; i < size; i += chunkSize) {
42
+ const buf = new Uint8Array(chunkSize)
43
+ input.push(buf)
44
+
45
+ yield buf
46
+ }
47
+ }())
48
+ }
49
+
50
+ const importResult = await kubo.api.add(candidate.content)
51
+ cid = CID.parse(importResult.cid.toString())
52
+ kuboInfo = await kubo.info()
53
+ })
54
+
55
+ afterEach(async () => {
56
+ if (helia != null) {
57
+ await helia.stop()
58
+ }
59
+
60
+ if (kubo != null) {
61
+ await kubo.stop()
62
+ }
63
+ })
64
+
65
+ it('should fail to fetch without using a provider', async () => {
66
+ await expect(drain(helia.blockstore.get(cid, {
67
+ signal: AbortSignal.timeout(100)
68
+ }))).to.eventually.be.rejected()
69
+ .with.nested.property('errors[0].name', 'AbortError')
70
+ })
71
+
72
+ it('should fetch raw using a provider', async () => {
73
+ let sender: PeerId | undefined
74
+
75
+ const buf = await toBuffer(helia.blockstore.get(cid, {
76
+ providers: [
77
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
78
+ ],
79
+ onProgress (evt) {
80
+ // @ts-expect-error cannot derive config-based progress event types
81
+ if (evt.type === 'bitswap:want-block:received') {
82
+ // @ts-expect-error cannot derive config-based progress event types
83
+ sender = evt.detail.sender
84
+ }
85
+ }
86
+ }))
87
+
88
+ expect(buf).to.have.lengthOf(1930)
89
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''))
90
+ })
91
+
92
+ it('should fetch dag-cbor using a provider', async () => {
93
+ let sender: PeerId | undefined
94
+ const obj = { hello: 'world' }
95
+ const cid = await kubo.api.dag.put(obj, {
96
+ storeCodec: 'dag-cbor'
97
+ })
98
+
99
+ const d = dagCbor(helia)
100
+
101
+ await expect(d.get(cid, {
102
+ providers: [
103
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
104
+ ],
105
+ onProgress (evt) {
106
+ // @ts-expect-error cannot derive config-based progress event types
107
+ if (evt.type === 'bitswap:want-block:received') {
108
+ // @ts-expect-error cannot derive config-based progress event types
109
+ sender = evt.detail.sender
110
+ }
111
+ }
112
+ })).to.eventually.deep.equal(obj)
113
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''))
114
+ })
115
+
116
+ it('should fetch dag-json using a provider', async () => {
117
+ let sender: PeerId | undefined
118
+ const obj = { hello: 'world' }
119
+ const cid = await kubo.api.dag.put(obj, {
120
+ storeCodec: 'dag-json'
121
+ })
122
+
123
+ const d = dagJson(helia)
124
+
125
+ await expect(d.get(cid, {
126
+ providers: [
127
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
128
+ ],
129
+ onProgress (evt) {
130
+ // @ts-expect-error cannot derive config-based progress event types
131
+ if (evt.type === 'bitswap:want-block:received') {
132
+ // @ts-expect-error cannot derive config-based progress event types
133
+ sender = evt.detail.sender
134
+ }
135
+ }
136
+ })).to.eventually.deep.equal(obj)
137
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''))
138
+ })
139
+
140
+ it('should fetch string using a provider', async () => {
141
+ let sender: PeerId | undefined
142
+ const obj = 'hello world'
143
+ const cid = await kubo.api.dag.put(obj, {
144
+ storeCodec: 'dag-json'
145
+ })
146
+
147
+ const s = strings(helia)
148
+
149
+ await expect(s.get(cid, {
150
+ providers: [
151
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
152
+ ],
153
+ onProgress (evt) {
154
+ // @ts-expect-error cannot derive config-based progress event types
155
+ if (evt.type === 'bitswap:want-block:received') {
156
+ // @ts-expect-error cannot derive config-based progress event types
157
+ sender = evt.detail.sender
158
+ }
159
+ }
160
+ })).to.eventually.equal(JSON.stringify(obj))
161
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''))
162
+ })
163
+
164
+ it('should fetch via unixfs using a provider', async () => {
165
+ let sender: PeerId | undefined
166
+ const fs = unixfs(helia)
167
+
168
+ const bytes = await toBuffer(fs.cat(cid, {
169
+ providers: [
170
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
171
+ ],
172
+ onProgress (evt) {
173
+ // @ts-expect-error cannot derive config-based progress event types
174
+ if (evt.type === 'bitswap:want-block:received') {
175
+ // @ts-expect-error cannot derive config-based progress event types
176
+ sender = evt.detail.sender
177
+ }
178
+ }
179
+ }))
180
+
181
+ expect(bytes).to.equalBytes(toBuffer(input))
182
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''))
183
+ })
184
+
185
+ it('should fetch via mfs using a provider', async () => {
186
+ let sender: PeerId | undefined
187
+ const fs = mfs(helia)
188
+
189
+ await fs.cp(cid, '/file.txt', {
190
+ providers: [
191
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
192
+ ],
193
+ onProgress (evt) {
194
+ // @ts-expect-error cannot derive config-based progress event types
195
+ if (evt.type === 'bitswap:want-block:received') {
196
+ // @ts-expect-error cannot derive config-based progress event types
197
+ sender = evt.detail.sender
198
+ }
199
+ }
200
+ })
201
+
202
+ const bytes = await toBuffer(fs.cat('/file.txt'))
203
+
204
+ expect(bytes).to.equalBytes(toBuffer(input))
205
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''))
206
+ })
207
+
208
+ it('should fetch via car using a provider', async () => {
209
+ let sender: PeerId | undefined
210
+ const c = car(helia)
211
+
212
+ expect(await toBuffer(
213
+ c.stream(cid, {
214
+ providers: [
215
+ kuboInfo.multiaddrs.map(ma => multiaddr(ma))
216
+ ],
217
+ blockFilter: createScalableCuckooFilter(10),
218
+ onProgress (evt) {
219
+ // @ts-expect-error cannot derive config-based progress event types
220
+ if (evt.type === 'bitswap:want-block:received') {
221
+ // @ts-expect-error cannot derive config-based progress event types
222
+ sender = evt.detail.sender
223
+ }
224
+ }
225
+ }))
226
+ ).to.equalBytes(await toBuffer(
227
+ kubo.api.dag.export(cid)
228
+ ))
229
+ expect(sender).to.deep.equal(peerIdFromString(kuboInfo.peerId?.toString() ?? ''))
230
+ })
231
+ })
@@ -8,6 +8,7 @@ import { fixedSize } from 'ipfs-unixfs-importer/chunker'
8
8
  import { balanced } from 'ipfs-unixfs-importer/layout'
9
9
  import drain from 'it-drain'
10
10
  import last from 'it-last'
11
+ import toBuffer from 'it-to-buffer'
11
12
  import { CID } from 'multiformats/cid'
12
13
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
13
14
  import { createHeliaNode } from './fixtures/create-helia.js'
@@ -167,7 +168,7 @@ describe('@helia/unixfs - files', () => {
167
168
  await drain(unixFs.cat(largeFileCid))
168
169
 
169
170
  // check the root block
170
- const block = await helia.blockstore.get(largeFileCid)
171
+ const block = await toBuffer(helia.blockstore.get(largeFileCid))
171
172
  const node = dagPb.decode(block)
172
173
 
173
174
  expect(node.Links).to.have.lengthOf(40)