@libp2p/kad-dht 3.0.0 → 3.0.3

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":"index.js","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export class PutValueHandler {
26
26
  await verifyRecord(this.validators, record);
27
27
  record.timeReceived = new Date();
28
28
  const recordKey = bufferToRecordKey(record.key);
29
- await this.components.getDatastore().put(recordKey, record.serialize());
29
+ await this.components.getDatastore().put(recordKey, record.serialize().subarray());
30
30
  this.log('put record for %b into datastore under key %k', key, recordKey);
31
31
  }
32
32
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"put-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAU,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK/C,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAA;AAM9D,MAAM,OAAO,eAAe;IAK1B,YAAa,IAAyB;QAH9B,eAAU,GAAe,IAAI,UAAU,EAAE,CAAA;QAI/C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAE3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,uCAAuC,CAAC,CAAA;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,GAAY;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzB,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;YAExD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAA;SACrD;QAED,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAE3C,MAAM,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;YAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;YACvE,IAAI,CAAC,GAAG,CAAC,+CAA+C,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;SAC1E;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,iDAAiD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;SACtE;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"put-value.js","sourceRoot":"","sources":["../../../../src/rpc/handlers/put-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAU,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK/C,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAA;AAM9D,MAAM,OAAO,eAAe;IAK1B,YAAa,IAAyB;QAH9B,eAAU,GAAe,IAAI,UAAU,EAAE,CAAA;QAI/C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAE3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,uCAAuC,CAAC,CAAA;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,MAAc,EAAE,GAAY;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QAE9D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzB,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,MAAM,MAAM,GAAG,sBAAsB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;YAExD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACtB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAA;SACrD;QAED,IAAI;YACF,MAAM,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAE3C,MAAM,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;YAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClF,IAAI,CAAC,GAAG,CAAC,+CAA+C,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;SAC1E;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,iDAAiD,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;SACtE;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -29,5 +29,5 @@ export declare function fromPublicKeyKey(key: Uint8Array): PeerId;
29
29
  /**
30
30
  * Create a new put record, encodes and signs it if enabled
31
31
  */
32
- export declare function createPutRecord(key: Uint8Array, value: Uint8Array): Uint8Array;
32
+ export declare function createPutRecord(key: Uint8Array, value: Uint8Array): import("uint8arraylist").Uint8ArrayList;
33
33
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMvD,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiBhE;AAED,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiB/D;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,uBAInD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,MAAM,EAAE,MAAM,uBAElD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,OAE3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,UAAU,OAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,IAAI,EAAE,MAAM,cAK5C;AAED,wBAAgB,cAAc,CAAE,GAAG,EAAE,UAAU,WAE9C;AAED,wBAAgB,SAAS,CAAE,GAAG,EAAE,UAAU,WAEzC;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,UAAU,UAEhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,cAKlE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAMvD,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiBhE;AAED,wBAAgB,qBAAqB,CAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAiB/D;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,GAAG,EAAE,UAAU,uBAInD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAE,MAAM,EAAE,MAAM,uBAElD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,UAAU,OAE3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,UAAU,OAEjD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,IAAI,EAAE,MAAM,cAK5C;AAED,wBAAgB,cAAc,CAAE,GAAG,EAAE,UAAU,WAE9C;AAED,wBAAgB,SAAS,CAAE,GAAG,EAAE,UAAU,WAEzC;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,UAAU,UAEhD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,2CAKlE"}
package/dist/src/utils.js CHANGED
@@ -74,13 +74,13 @@ export function keyForPublicKey(peer) {
74
74
  ]);
75
75
  }
76
76
  export function isPublicKeyKey(key) {
77
- return uint8ArrayToString(key.slice(0, 4)) === '/pk/';
77
+ return uint8ArrayToString(key.subarray(0, 4)) === '/pk/';
78
78
  }
79
79
  export function isIPNSKey(key) {
80
- return uint8ArrayToString(key.slice(0, 4)) === '/ipns/';
80
+ return uint8ArrayToString(key.subarray(0, 4)) === '/ipns/';
81
81
  }
82
82
  export function fromPublicKeyKey(key) {
83
- return peerIdFromBytes(key.slice(4));
83
+ return peerIdFromBytes(key.subarray(4));
84
84
  }
85
85
  /**
86
86
  * Create a new put record, encodes and signs it if enabled
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,WAAW,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,qDAAqD;AACrD,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;AAE9C,MAAM,UAAU,sBAAsB,CAAE,IAAc;IACpD,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC7C,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,YAAY,EAAE,CAAA;YAE/C,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;gBAC5B,OAAO,KAAK,CAAA;aACb;YAED,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO,KAAK,CAAA;aACb;YAED,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC,CAAC;KACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAE,IAAc;IACnD,OAAO;QACL,GAAG,IAAI;QACP,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YAC7C,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,YAAY,EAAE,CAAA;YAE/C,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE;gBAC5B,OAAO,KAAK,CAAA;aACb;YAED,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO,KAAK,CAAA;aACb;YAED,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC;KACH,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,GAAe;IAClD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAE1C,OAAO,SAAS,CAAC,MAAM,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,MAAc;IACjD,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,GAAe;IAC1C,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAA;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAE,GAAe;IAChD,OAAO,IAAI,GAAG,CAAC,GAAG,iBAAiB,IAAI,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;AACpF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAE,IAAY;IAC3C,OAAO,gBAAgB,CAAC;QACtB,SAAS;QACT,IAAI,CAAC,OAAO,EAAE;KACf,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAE,GAAe;IAC7C,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CAAE,GAAe;IACxC,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,GAAe;IAC/C,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAE,GAAe,EAAE,KAAiB;IACjE,MAAM,YAAY,GAAG,IAAI,IAAI,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IAEtD,OAAO,GAAG,CAAC,SAAS,EAAE,CAAA;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/kad-dht",
3
- "version": "3.0.0",
3
+ "version": "3.0.3",
4
4
  "description": "JavaScript implementation of the Kad-DHT for libp2p",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-kad-dht#readme",
@@ -68,15 +68,15 @@
68
68
  "release": "patch"
69
69
  },
70
70
  {
71
- "type": "chore",
71
+ "type": "docs",
72
72
  "release": "patch"
73
73
  },
74
74
  {
75
- "type": "docs",
75
+ "type": "test",
76
76
  "release": "patch"
77
77
  },
78
78
  {
79
- "type": "test",
79
+ "type": "deps",
80
80
  "release": "patch"
81
81
  },
82
82
  {
@@ -106,7 +106,11 @@
106
106
  },
107
107
  {
108
108
  "type": "docs",
109
- "section": "Trivial Changes"
109
+ "section": "Documentation"
110
+ },
111
+ {
112
+ "type": "deps",
113
+ "section": "Dependencies"
110
114
  },
111
115
  {
112
116
  "type": "test",
@@ -136,7 +140,7 @@
136
140
  "@libp2p/components": "^2.0.0",
137
141
  "@libp2p/crypto": "^1.0.0",
138
142
  "@libp2p/interface-address-manager": "^1.0.1",
139
- "@libp2p/interface-connection": "^2.0.0",
143
+ "@libp2p/interface-connection": "^3.0.1",
140
144
  "@libp2p/interface-connection-manager": "^1.0.0",
141
145
  "@libp2p/interface-dht": "^1.0.0",
142
146
  "@libp2p/interface-peer-discovery": "^1.0.0",
@@ -160,7 +164,7 @@
160
164
  "it-drain": "^1.0.5",
161
165
  "it-first": "^1.0.6",
162
166
  "it-length": "^1.0.3",
163
- "it-length-prefixed": "^7.0.1",
167
+ "it-length-prefixed": "^8.0.2",
164
168
  "it-map": "^1.0.6",
165
169
  "it-merge": "^1.0.3",
166
170
  "it-parallel": "^2.0.1",
@@ -172,13 +176,14 @@
172
176
  "p-defer": "^4.0.0",
173
177
  "p-queue": "^7.2.0",
174
178
  "private-ip": "^2.3.3",
175
- "protons-runtime": "^1.0.4",
179
+ "protons-runtime": "^3.1.0",
176
180
  "timeout-abort-controller": "^3.0.0",
181
+ "uint8arraylist": "^2.0.0",
177
182
  "uint8arrays": "^3.0.0",
178
183
  "varint": "^6.0.0"
179
184
  },
180
185
  "devDependencies": {
181
- "@libp2p/interface-mocks": "^2.0.0",
186
+ "@libp2p/interface-mocks": "^4.0.1",
182
187
  "@libp2p/peer-id-factory": "^1.0.9",
183
188
  "@libp2p/peer-store": "^3.0.0",
184
189
  "@types/lodash.random": "^3.2.6",
@@ -195,7 +200,7 @@
195
200
  "lodash.random": "^3.2.0",
196
201
  "lodash.range": "^3.2.0",
197
202
  "p-retry": "^5.0.0",
198
- "protons": "^3.0.4",
203
+ "protons": "^5.1.0",
199
204
  "sinon": "^14.0.0",
200
205
  "ts-sinon": "^2.0.2",
201
206
  "which": "^2.0.2"
@@ -106,7 +106,7 @@ export class ContentFetching implements Initializable {
106
106
  try {
107
107
  const dsKey = bufferToRecordKey(key)
108
108
  this.log(`Storing corrected record for key ${dsKey.toString()}`)
109
- await this.components.getDatastore().put(dsKey, fixupRec)
109
+ await this.components.getDatastore().put(dsKey, fixupRec.subarray())
110
110
  } catch (err: any) {
111
111
  this.log.error('Failed error correcting self', err)
112
112
  }
@@ -147,7 +147,7 @@ export class ContentFetching implements Initializable {
147
147
  // store the record locally
148
148
  const dsKey = bufferToRecordKey(key)
149
149
  this.log(`storing record for key ${dsKey.toString()}`)
150
- await this.components.getDatastore().put(dsKey, record)
150
+ await this.components.getDatastore().put(dsKey, record.subarray())
151
151
 
152
152
  // put record to the closest peers
153
153
  yield * pipe(
@@ -1,7 +1,8 @@
1
1
  /* eslint-disable import/export */
2
2
  /* eslint-disable @typescript-eslint/no-namespace */
3
3
 
4
- import { encodeMessage, decodeMessage, message, bytes, string, enumeration, int32 } from 'protons-runtime'
4
+ import { encodeMessage, decodeMessage, message, enumeration } from 'protons-runtime'
5
+ import type { Uint8ArrayList } from 'uint8arraylist'
5
6
  import type { Codec } from 'protons-runtime'
6
7
 
7
8
  export interface Record {
@@ -13,21 +14,85 @@ export interface Record {
13
14
  }
14
15
 
15
16
  export namespace Record {
17
+ let _codec: Codec<Record>
18
+
16
19
  export const codec = (): Codec<Record> => {
17
- return message<Record>({
18
- 1: { name: 'key', codec: bytes, optional: true },
19
- 2: { name: 'value', codec: bytes, optional: true },
20
- 3: { name: 'author', codec: bytes, optional: true },
21
- 4: { name: 'signature', codec: bytes, optional: true },
22
- 5: { name: 'timeReceived', codec: string, optional: true }
23
- })
20
+ if (_codec == null) {
21
+ _codec = message<Record>((obj, writer, opts = {}) => {
22
+ if (opts.lengthDelimited !== false) {
23
+ writer.fork()
24
+ }
25
+
26
+ if (obj.key != null) {
27
+ writer.uint32(10)
28
+ writer.bytes(obj.key)
29
+ }
30
+
31
+ if (obj.value != null) {
32
+ writer.uint32(18)
33
+ writer.bytes(obj.value)
34
+ }
35
+
36
+ if (obj.author != null) {
37
+ writer.uint32(26)
38
+ writer.bytes(obj.author)
39
+ }
40
+
41
+ if (obj.signature != null) {
42
+ writer.uint32(34)
43
+ writer.bytes(obj.signature)
44
+ }
45
+
46
+ if (obj.timeReceived != null) {
47
+ writer.uint32(42)
48
+ writer.string(obj.timeReceived)
49
+ }
50
+
51
+ if (opts.lengthDelimited !== false) {
52
+ writer.ldelim()
53
+ }
54
+ }, (reader, length) => {
55
+ const obj: any = {}
56
+
57
+ const end = length == null ? reader.len : reader.pos + length
58
+
59
+ while (reader.pos < end) {
60
+ const tag = reader.uint32()
61
+
62
+ switch (tag >>> 3) {
63
+ case 1:
64
+ obj.key = reader.bytes()
65
+ break
66
+ case 2:
67
+ obj.value = reader.bytes()
68
+ break
69
+ case 3:
70
+ obj.author = reader.bytes()
71
+ break
72
+ case 4:
73
+ obj.signature = reader.bytes()
74
+ break
75
+ case 5:
76
+ obj.timeReceived = reader.string()
77
+ break
78
+ default:
79
+ reader.skipType(tag & 7)
80
+ break
81
+ }
82
+ }
83
+
84
+ return obj
85
+ })
86
+ }
87
+
88
+ return _codec
24
89
  }
25
90
 
26
91
  export const encode = (obj: Record): Uint8Array => {
27
92
  return encodeMessage(obj, Record.codec())
28
93
  }
29
94
 
30
- export const decode = (buf: Uint8Array): Record => {
95
+ export const decode = (buf: Uint8Array | Uint8ArrayList): Record => {
31
96
  return decodeMessage(buf, Record.codec())
32
97
  }
33
98
  }
@@ -62,7 +127,7 @@ export namespace Message {
62
127
 
63
128
  export namespace MessageType {
64
129
  export const codec = () => {
65
- return enumeration<typeof MessageType>(__MessageTypeValues)
130
+ return enumeration<MessageType>(__MessageTypeValues)
66
131
  }
67
132
  }
68
133
 
@@ -82,7 +147,7 @@ export namespace Message {
82
147
 
83
148
  export namespace ConnectionType {
84
149
  export const codec = () => {
85
- return enumeration<typeof ConnectionType>(__ConnectionTypeValues)
150
+ return enumeration<ConnectionType>(__ConnectionTypeValues)
86
151
  }
87
152
  }
88
153
 
@@ -93,39 +158,177 @@ export namespace Message {
93
158
  }
94
159
 
95
160
  export namespace Peer {
161
+ let _codec: Codec<Peer>
162
+
96
163
  export const codec = (): Codec<Peer> => {
97
- return message<Peer>({
98
- 1: { name: 'id', codec: bytes, optional: true },
99
- 2: { name: 'addrs', codec: bytes, repeats: true },
100
- 3: { name: 'connection', codec: Message.ConnectionType.codec(), optional: true }
101
- })
164
+ if (_codec == null) {
165
+ _codec = message<Peer>((obj, writer, opts = {}) => {
166
+ if (opts.lengthDelimited !== false) {
167
+ writer.fork()
168
+ }
169
+
170
+ if (obj.id != null) {
171
+ writer.uint32(10)
172
+ writer.bytes(obj.id)
173
+ }
174
+
175
+ if (obj.addrs != null) {
176
+ for (const value of obj.addrs) {
177
+ writer.uint32(18)
178
+ writer.bytes(value)
179
+ }
180
+ } else {
181
+ throw new Error('Protocol error: required field "addrs" was not found in object')
182
+ }
183
+
184
+ if (obj.connection != null) {
185
+ writer.uint32(24)
186
+ Message.ConnectionType.codec().encode(obj.connection, writer)
187
+ }
188
+
189
+ if (opts.lengthDelimited !== false) {
190
+ writer.ldelim()
191
+ }
192
+ }, (reader, length) => {
193
+ const obj: any = {
194
+ addrs: []
195
+ }
196
+
197
+ const end = length == null ? reader.len : reader.pos + length
198
+
199
+ while (reader.pos < end) {
200
+ const tag = reader.uint32()
201
+
202
+ switch (tag >>> 3) {
203
+ case 1:
204
+ obj.id = reader.bytes()
205
+ break
206
+ case 2:
207
+ obj.addrs.push(reader.bytes())
208
+ break
209
+ case 3:
210
+ obj.connection = Message.ConnectionType.codec().decode(reader)
211
+ break
212
+ default:
213
+ reader.skipType(tag & 7)
214
+ break
215
+ }
216
+ }
217
+
218
+ return obj
219
+ })
220
+ }
221
+
222
+ return _codec
102
223
  }
103
224
 
104
225
  export const encode = (obj: Peer): Uint8Array => {
105
226
  return encodeMessage(obj, Peer.codec())
106
227
  }
107
228
 
108
- export const decode = (buf: Uint8Array): Peer => {
229
+ export const decode = (buf: Uint8Array | Uint8ArrayList): Peer => {
109
230
  return decodeMessage(buf, Peer.codec())
110
231
  }
111
232
  }
112
233
 
234
+ let _codec: Codec<Message>
235
+
113
236
  export const codec = (): Codec<Message> => {
114
- return message<Message>({
115
- 1: { name: 'type', codec: Message.MessageType.codec(), optional: true },
116
- 10: { name: 'clusterLevelRaw', codec: int32, optional: true },
117
- 2: { name: 'key', codec: bytes, optional: true },
118
- 3: { name: 'record', codec: bytes, optional: true },
119
- 8: { name: 'closerPeers', codec: Message.Peer.codec(), repeats: true },
120
- 9: { name: 'providerPeers', codec: Message.Peer.codec(), repeats: true }
121
- })
237
+ if (_codec == null) {
238
+ _codec = message<Message>((obj, writer, opts = {}) => {
239
+ if (opts.lengthDelimited !== false) {
240
+ writer.fork()
241
+ }
242
+
243
+ if (obj.type != null) {
244
+ writer.uint32(8)
245
+ Message.MessageType.codec().encode(obj.type, writer)
246
+ }
247
+
248
+ if (obj.clusterLevelRaw != null) {
249
+ writer.uint32(80)
250
+ writer.int32(obj.clusterLevelRaw)
251
+ }
252
+
253
+ if (obj.key != null) {
254
+ writer.uint32(18)
255
+ writer.bytes(obj.key)
256
+ }
257
+
258
+ if (obj.record != null) {
259
+ writer.uint32(26)
260
+ writer.bytes(obj.record)
261
+ }
262
+
263
+ if (obj.closerPeers != null) {
264
+ for (const value of obj.closerPeers) {
265
+ writer.uint32(66)
266
+ Message.Peer.codec().encode(value, writer)
267
+ }
268
+ } else {
269
+ throw new Error('Protocol error: required field "closerPeers" was not found in object')
270
+ }
271
+
272
+ if (obj.providerPeers != null) {
273
+ for (const value of obj.providerPeers) {
274
+ writer.uint32(74)
275
+ Message.Peer.codec().encode(value, writer)
276
+ }
277
+ } else {
278
+ throw new Error('Protocol error: required field "providerPeers" was not found in object')
279
+ }
280
+
281
+ if (opts.lengthDelimited !== false) {
282
+ writer.ldelim()
283
+ }
284
+ }, (reader, length) => {
285
+ const obj: any = {
286
+ closerPeers: [],
287
+ providerPeers: []
288
+ }
289
+
290
+ const end = length == null ? reader.len : reader.pos + length
291
+
292
+ while (reader.pos < end) {
293
+ const tag = reader.uint32()
294
+
295
+ switch (tag >>> 3) {
296
+ case 1:
297
+ obj.type = Message.MessageType.codec().decode(reader)
298
+ break
299
+ case 10:
300
+ obj.clusterLevelRaw = reader.int32()
301
+ break
302
+ case 2:
303
+ obj.key = reader.bytes()
304
+ break
305
+ case 3:
306
+ obj.record = reader.bytes()
307
+ break
308
+ case 8:
309
+ obj.closerPeers.push(Message.Peer.codec().decode(reader, reader.uint32()))
310
+ break
311
+ case 9:
312
+ obj.providerPeers.push(Message.Peer.codec().decode(reader, reader.uint32()))
313
+ break
314
+ default:
315
+ reader.skipType(tag & 7)
316
+ break
317
+ }
318
+ }
319
+
320
+ return obj
321
+ })
322
+ }
323
+
324
+ return _codec
122
325
  }
123
326
 
124
327
  export const encode = (obj: Message): Uint8Array => {
125
328
  return encodeMessage(obj, Message.codec())
126
329
  }
127
330
 
128
- export const decode = (buf: Uint8Array): Message => {
331
+ export const decode = (buf: Uint8Array | Uint8ArrayList): Message => {
129
332
  return decodeMessage(buf, Message.codec())
130
333
  }
131
334
  }
@@ -3,6 +3,7 @@ import { Multiaddr } from '@multiformats/multiaddr'
3
3
  import { Libp2pRecord } from '@libp2p/record'
4
4
  import { Message as PBMessage } from './dht.js'
5
5
  import type { PeerInfo } from '@libp2p/interface-peer-info'
6
+ import type { Uint8ArrayList } from 'uint8arraylist'
6
7
 
7
8
  export const MESSAGE_TYPE = PBMessage.MessageType
8
9
  export const CONNECTION_TYPE = PBMessage.ConnectionType
@@ -64,14 +65,14 @@ export class Message {
64
65
  clusterLevelRaw: this.clusterLevelRaw,
65
66
  closerPeers: this.closerPeers.map(toPbPeer),
66
67
  providerPeers: this.providerPeers.map(toPbPeer),
67
- record: this.record == null ? undefined : this.record.serialize()
68
+ record: this.record == null ? undefined : this.record.serialize().subarray()
68
69
  })
69
70
  }
70
71
 
71
72
  /**
72
73
  * Decode from protobuf
73
74
  */
74
- static deserialize (raw: Uint8Array) {
75
+ static deserialize (raw: Uint8ArrayList | Uint8Array) {
75
76
  const dec = PBMessage.decode(raw)
76
77
 
77
78
  const msg = new Message(dec.type ?? PBMessage.MessageType.PUT_VALUE, dec.key ?? Uint8Array.from([]), dec.clusterLevelRaw ?? 0)
package/src/network.ts CHANGED
@@ -21,6 +21,7 @@ import type { PeerInfo } from '@libp2p/interface-peer-info'
21
21
  import { Components, Initializable } from '@libp2p/components'
22
22
  import type { Stream } from '@libp2p/interface-connection'
23
23
  import { abortableDuplex } from 'abortable-iterator'
24
+ import type { Uint8ArrayList } from 'uint8arraylist'
24
25
 
25
26
  export interface NetworkInit {
26
27
  protocol: string
@@ -150,7 +151,7 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable, I
150
151
  /**
151
152
  * Write a message to the given stream
152
153
  */
153
- async _writeMessage (stream: Duplex<Uint8Array>, msg: Uint8Array, options: AbortOptions) {
154
+ async _writeMessage (stream: Duplex<Uint8ArrayList, Uint8ArrayList | Uint8Array>, msg: Uint8Array | Uint8ArrayList, options: AbortOptions) {
154
155
  if (options.signal != null) {
155
156
  stream = abortableDuplex(stream, options.signal)
156
157
  }
@@ -168,7 +169,7 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable, I
168
169
  * If no response is received after the specified timeout
169
170
  * this will error out.
170
171
  */
171
- async _writeReadMessage (stream: Duplex<Uint8Array>, msg: Uint8Array, options: AbortOptions) {
172
+ async _writeReadMessage (stream: Duplex<Uint8ArrayList, Uint8ArrayList | Uint8Array>, msg: Uint8Array | Uint8ArrayList, options: AbortOptions) {
172
173
  if (options.signal != null) {
173
174
  stream = abortableDuplex(stream, options.signal)
174
175
  }
@@ -58,7 +58,7 @@ export class PeerRouting implements Initializable {
58
58
  * Look if we are connected to a peer with the given id.
59
59
  * Returns its id and addresses, if found, otherwise `undefined`.
60
60
  */
61
- async findPeerLocal (peer: PeerId) {
61
+ async findPeerLocal (peer: PeerId): Promise<PeerInfo | undefined> {
62
62
  let peerData
63
63
  const p = await this.routingTable.find(peer)
64
64
 
@@ -93,6 +93,8 @@ export class PeerRouting implements Initializable {
93
93
  protocols: []
94
94
  }
95
95
  }
96
+
97
+ return undefined
96
98
  }
97
99
 
98
100
  /**
@@ -213,30 +213,34 @@ export class RoutingTable implements Startable, Initializable {
213
213
  /**
214
214
  * Find a specific peer by id
215
215
  */
216
- async find (peer: PeerId) {
216
+ async find (peer: PeerId): Promise<PeerId | undefined> {
217
217
  const key = await utils.convertPeerId(peer)
218
218
  const closest = this.closestPeer(key)
219
219
 
220
220
  if (closest != null && peer.equals(closest)) {
221
221
  return closest
222
222
  }
223
+
224
+ return undefined
223
225
  }
224
226
 
225
227
  /**
226
228
  * Retrieve the closest peers to the given key
227
229
  */
228
- closestPeer (key: Uint8Array) {
230
+ closestPeer (key: Uint8Array): PeerId | undefined {
229
231
  const res = this.closestPeers(key, 1)
230
232
 
231
233
  if (res.length > 0) {
232
234
  return res[0]
233
235
  }
236
+
237
+ return undefined
234
238
  }
235
239
 
236
240
  /**
237
241
  * Retrieve the `count`-closest peers to the given key
238
242
  */
239
- closestPeers (key: Uint8Array, count = this.kBucketSize) {
243
+ closestPeers (key: Uint8Array, count = this.kBucketSize): PeerId[] {
240
244
  if (this.kb == null) {
241
245
  return []
242
246
  }
@@ -46,7 +46,7 @@ export class PutValueHandler implements DHTMessageHandler, Initializable {
46
46
 
47
47
  record.timeReceived = new Date()
48
48
  const recordKey = bufferToRecordKey(record.key)
49
- await this.components.getDatastore().put(recordKey, record.serialize())
49
+ await this.components.getDatastore().put(recordKey, record.serialize().subarray())
50
50
  this.log('put record for %b into datastore under key %k', key, recordKey)
51
51
  } catch (err: any) {
52
52
  this.log('did not put record for key %b into datastore %o', key, err)
package/src/utils.ts CHANGED
@@ -92,15 +92,15 @@ export function keyForPublicKey (peer: PeerId) {
92
92
  }
93
93
 
94
94
  export function isPublicKeyKey (key: Uint8Array) {
95
- return uint8ArrayToString(key.slice(0, 4)) === '/pk/'
95
+ return uint8ArrayToString(key.subarray(0, 4)) === '/pk/'
96
96
  }
97
97
 
98
98
  export function isIPNSKey (key: Uint8Array) {
99
- return uint8ArrayToString(key.slice(0, 4)) === '/ipns/'
99
+ return uint8ArrayToString(key.subarray(0, 4)) === '/ipns/'
100
100
  }
101
101
 
102
102
  export function fromPublicKeyKey (key: Uint8Array) {
103
- return peerIdFromBytes(key.slice(4))
103
+ return peerIdFromBytes(key.subarray(4))
104
104
  }
105
105
 
106
106
  /**