@helia/bitswap 3.2.1 → 3.2.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.
@@ -3,9 +3,8 @@ import type { BitswapWantProgressEvents } from './index.ts';
3
3
  import type { Network } from './network.ts';
4
4
  import type { WantList } from './want-list.ts';
5
5
  import type { BlockRetrievalOptions, CreateSessionOptions } from '@helia/interface';
6
- import type { ComponentLogger, Libp2p, PeerId } from '@libp2p/interface';
6
+ import type { ComponentLogger, Libp2p, PeerId, AbortOptions } from '@libp2p/interface';
7
7
  import type { Multiaddr } from '@multiformats/multiaddr';
8
- import type { AbortOptions } from 'interface-store';
9
8
  import type { CID } from 'multiformats/cid';
10
9
  export interface BitswapSessionComponents {
11
10
  network: Network;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,KAAK,EAAmB,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,IAAI,MAAM,CAAA;CACnB;AAED,cAAM,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACnF,SAAgB,IAAI,qBAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAElB,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB;IAWvE,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAc1F,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,cAAc,CAAC,YAAY,CAAC;IAU7F,WAAW,CAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM;IAIzD,MAAM,CAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO;IAI5D,iBAAiB,CAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAwBhJ,8BAA8B,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,CAAC,yBAAyB,CAAC,GAAG,IAAI;CAYnI;AAED,wBAAgB,oBAAoB,CAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAEtH"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,KAAK,EAAmB,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,IAAI,MAAM,CAAA;CACnB;AAED,cAAM,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,yBAAyB,CAAC;IACnF,SAAgB,IAAI,qBAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAElB,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB;IAWvE,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1F,gBAAgB,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,cAAc,CAAC,YAAY,CAAC;IAU7F,WAAW,CAAE,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM;IAIzD,MAAM,CAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO;IAI5D,iBAAiB,CAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAwBhJ,8BAA8B,CAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,CAAC,yBAAyB,CAAC,GAAG,IAAI;CAYnI;AAED,wBAAgB,oBAAoB,CAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAEtH"}
@@ -19,8 +19,11 @@ class BitswapSession extends AbstractSession {
19
19
  this.log('sending WANT-BLOCK for %c to %p', cid, provider);
20
20
  const result = await this.wantList.wantSessionBlock(cid, provider.peerId, options);
21
21
  this.log('%p %s %c', provider, result.has ? 'has' : 'does not have', cid);
22
- if (result.has && result.block != null) {
23
- return result.block;
22
+ if (result.has) {
23
+ if (result.block != null) {
24
+ return result.block;
25
+ }
26
+ throw new Error('Provider has block but did not send it to us');
24
27
  }
25
28
  throw new Error('Provider did not have block');
26
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/bitswap",
3
- "version": "3.2.1",
3
+ "version": "3.2.2",
4
4
  "description": "JavaScript implementation of the Bitswap data exchange protocol used by Helia",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/bitswap#readme",
@@ -32,7 +32,8 @@
32
32
  "exports": {
33
33
  ".": {
34
34
  "types": "./dist/src/index.d.ts",
35
- "import": "./dist/src/index.js"
35
+ "import": "./dist/src/index.js",
36
+ "module-sync": "./dist/src/index.js"
36
37
  }
37
38
  },
38
39
  "scripts": {
@@ -51,25 +52,24 @@
51
52
  "docs": "aegir docs"
52
53
  },
53
54
  "dependencies": {
54
- "@helia/interface": "^6.2.0",
55
- "@helia/utils": "^2.5.0",
55
+ "@helia/interface": "^6.2.1",
56
+ "@helia/utils": "^2.5.1",
56
57
  "@libp2p/interface": "^3.2.0",
57
- "@libp2p/logger": "^6.0.5",
58
- "@libp2p/peer-collections": "^7.0.5",
59
- "@libp2p/utils": "^7.0.5",
58
+ "@libp2p/logger": "^6.2.4",
59
+ "@libp2p/peer-collections": "^7.0.15",
60
+ "@libp2p/utils": "^7.0.15",
60
61
  "@multiformats/multiaddr": "^13.0.1",
61
- "any-signal": "^4.1.1",
62
- "interface-blockstore": "^6.0.1",
63
- "interface-store": "^7.0.0",
64
- "it-drain": "^3.0.10",
62
+ "any-signal": "^4.2.0",
63
+ "interface-blockstore": "^6.0.2",
64
+ "it-drain": "^3.0.12",
65
65
  "it-length-prefixed": "^10.0.1",
66
- "it-map": "^3.1.4",
66
+ "it-map": "^3.1.5",
67
67
  "it-pushable": "^3.2.3",
68
- "it-take": "^3.0.9",
69
- "it-to-buffer": "^4.0.10",
70
- "multiformats": "^13.4.1",
68
+ "it-take": "^3.0.10",
69
+ "it-to-buffer": "^4.0.12",
70
+ "multiformats": "^13.4.2",
71
71
  "p-defer": "^4.0.1",
72
- "progress-events": "^1.0.1",
72
+ "progress-events": "^1.1.0",
73
73
  "protons-runtime": "^6.0.1",
74
74
  "race-event": "^1.6.1",
75
75
  "uint8-varint": "^2.0.4",
@@ -77,18 +77,18 @@
77
77
  "uint8arrays": "^5.1.0"
78
78
  },
79
79
  "devDependencies": {
80
- "@libp2p/crypto": "^5.1.12",
80
+ "@libp2p/crypto": "^5.1.15",
81
81
  "@libp2p/peer-id": "^6.0.6",
82
- "@types/sinon": "^21.0.0",
83
- "aegir": "^47.0.22",
84
- "blockstore-core": "^6.1.1",
82
+ "@types/sinon": "^21.0.1",
83
+ "aegir": "^47.1.5",
84
+ "blockstore-core": "^6.1.3",
85
85
  "delay": "^7.0.0",
86
- "it-all": "^3.0.9",
87
- "p-event": "^7.0.0",
86
+ "it-all": "^3.0.11",
87
+ "p-event": "^7.1.0",
88
88
  "p-retry": "^8.0.0",
89
89
  "p-wait-for": "^6.0.0",
90
90
  "protons": "^8.1.1",
91
- "sinon": "^21.0.0",
91
+ "sinon": "^21.1.0",
92
92
  "sinon-ts": "^2.0.0"
93
93
  },
94
94
  "browser": {
package/src/session.ts CHANGED
@@ -5,9 +5,8 @@ import type { BitswapProvider, BitswapWantProgressEvents } from './index.ts'
5
5
  import type { Network } from './network.ts'
6
6
  import type { WantList } from './want-list.ts'
7
7
  import type { BlockRetrievalOptions, CreateSessionOptions } from '@helia/interface'
8
- import type { ComponentLogger, Libp2p, PeerId } from '@libp2p/interface'
8
+ import type { ComponentLogger, Libp2p, PeerId, AbortOptions } from '@libp2p/interface'
9
9
  import type { Multiaddr } from '@multiformats/multiaddr'
10
- import type { AbortOptions } from 'interface-store'
11
10
  import type { CID } from 'multiformats/cid'
12
11
 
13
12
  export interface BitswapSessionComponents {
@@ -47,8 +46,12 @@ class BitswapSession extends AbstractSession<ProviderPeer, BitswapWantProgressEv
47
46
 
48
47
  this.log('%p %s %c', provider, result.has ? 'has' : 'does not have', cid)
49
48
 
50
- if (result.has && result.block != null) {
51
- return result.block
49
+ if (result.has) {
50
+ if (result.block != null) {
51
+ return result.block
52
+ }
53
+
54
+ throw new Error('Provider has block but did not send it to us')
52
55
  }
53
56
 
54
57
  throw new Error('Provider did not have block')