@libp2p/peer-store 10.1.5 → 11.0.0-18dd3cb26

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.
Files changed (40) hide show
  1. package/dist/index.min.js +4 -5
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +6 -4
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/pb/peer.d.ts +6 -6
  6. package/dist/src/pb/peer.d.ts.map +1 -1
  7. package/dist/src/pb/peer.js +76 -38
  8. package/dist/src/pb/peer.js.map +1 -1
  9. package/dist/src/store.js +7 -7
  10. package/dist/src/store.js.map +1 -1
  11. package/dist/src/utils/bytes-to-peer.d.ts.map +1 -1
  12. package/dist/src/utils/bytes-to-peer.js +4 -5
  13. package/dist/src/utils/bytes-to-peer.js.map +1 -1
  14. package/dist/src/utils/dedupe-addresses.d.ts.map +1 -1
  15. package/dist/src/utils/dedupe-addresses.js +2 -3
  16. package/dist/src/utils/dedupe-addresses.js.map +1 -1
  17. package/dist/src/utils/peer-data-to-datastore-peer.d.ts.map +1 -1
  18. package/dist/src/utils/peer-data-to-datastore-peer.js +14 -15
  19. package/dist/src/utils/peer-data-to-datastore-peer.js.map +1 -1
  20. package/dist/src/utils/peer-id-to-datastore-key.d.ts.map +1 -1
  21. package/dist/src/utils/peer-id-to-datastore-key.js +2 -3
  22. package/dist/src/utils/peer-id-to-datastore-key.js.map +1 -1
  23. package/dist/src/utils/to-peer-pb.d.ts.map +1 -1
  24. package/dist/src/utils/to-peer-pb.js +24 -15
  25. package/dist/src/utils/to-peer-pb.js.map +1 -1
  26. package/package.json +9 -9
  27. package/src/index.ts +6 -4
  28. package/src/pb/peer.ts +80 -39
  29. package/src/store.ts +7 -7
  30. package/src/utils/bytes-to-peer.ts +4 -5
  31. package/src/utils/dedupe-addresses.ts +2 -3
  32. package/src/utils/peer-data-to-datastore-peer.ts +14 -15
  33. package/src/utils/peer-id-to-datastore-key.ts +2 -3
  34. package/src/utils/to-peer-pb.ts +24 -16
  35. package/dist/src/errors.d.ts +0 -4
  36. package/dist/src/errors.d.ts.map +0 -1
  37. package/dist/src/errors.js +0 -4
  38. package/dist/src/errors.js.map +0 -1
  39. package/dist/typedoc-urls.json +0 -10
  40. package/src/errors.ts +0 -3
@@ -1,13 +1,12 @@
1
- import { CodeError } from '@libp2p/interface';
1
+ import { publicKeyToProtobuf } from '@libp2p/crypto/keys';
2
+ import { InvalidParametersError } from '@libp2p/interface';
2
3
  import { isMultiaddr } from '@multiformats/multiaddr';
3
- import { equals as uint8arrayEquals } from 'uint8arrays/equals';
4
- import { codes } from '../errors.js';
5
4
  export function toDatastorePeer(peerId, data) {
6
5
  if (data == null) {
7
- throw new CodeError('Invalid PeerData', codes.ERR_INVALID_PARAMETERS);
6
+ throw new InvalidParametersError('Invalid PeerData');
8
7
  }
9
- if (data.publicKey != null && peerId.publicKey != null && !uint8arrayEquals(data.publicKey, peerId.publicKey)) {
10
- throw new CodeError('publicKey bytes do not match peer id publicKey bytes', codes.ERR_INVALID_PARAMETERS);
8
+ if (data.publicKey != null && peerId.publicKey != null && !data.publicKey.equals(peerId.publicKey)) {
9
+ throw new InvalidParametersError('publicKey bytes do not match peer id publicKey bytes');
11
10
  }
12
11
  // merge addresses and multiaddrs, and dedupe
13
12
  const addressSet = new Set();
@@ -16,7 +15,7 @@ export function toDatastorePeer(peerId, data) {
16
15
  .concat((data.multiaddrs ?? []).map(multiaddr => ({ multiaddr, isCertified: false })))
17
16
  .filter(address => {
18
17
  if (!isMultiaddr(address.multiaddr)) {
19
- throw new CodeError('Invalid mulitaddr', codes.ERR_INVALID_PARAMETERS);
18
+ throw new InvalidParametersError('Invalid mulitaddr');
20
19
  }
21
20
  if (addressSet.has(address.multiaddr.toString())) {
22
21
  return false;
@@ -34,7 +33,7 @@ export function toDatastorePeer(peerId, data) {
34
33
  protocols: (data.protocols ?? []).sort(),
35
34
  metadata: new Map(),
36
35
  tags: new Map(),
37
- publicKey: data.publicKey,
36
+ publicKey: data.publicKey != null ? publicKeyToProtobuf(data.publicKey) : undefined,
38
37
  peerRecordEnvelope: data.peerRecordEnvelope
39
38
  };
40
39
  // remove invalid metadata
@@ -42,13 +41,13 @@ export function toDatastorePeer(peerId, data) {
42
41
  const metadataEntries = data.metadata instanceof Map ? data.metadata.entries() : Object.entries(data.metadata);
43
42
  for (const [key, value] of metadataEntries) {
44
43
  if (typeof key !== 'string') {
45
- throw new CodeError('Peer metadata keys must be strings', codes.ERR_INVALID_PARAMETERS);
44
+ throw new InvalidParametersError('Peer metadata keys must be strings');
46
45
  }
47
46
  if (value == null) {
48
47
  continue;
49
48
  }
50
49
  if (!(value instanceof Uint8Array)) {
51
- throw new CodeError('Peer metadata values must be Uint8Arrays', codes.ERR_INVALID_PARAMETERS);
50
+ throw new InvalidParametersError('Peer metadata values must be Uint8Arrays');
52
51
  }
53
52
  output.metadata.set(key, value);
54
53
  }
@@ -57,7 +56,7 @@ export function toDatastorePeer(peerId, data) {
57
56
  const tagsEntries = data.tags instanceof Map ? data.tags.entries() : Object.entries(data.tags);
58
57
  for (const [key, value] of tagsEntries) {
59
58
  if (typeof key !== 'string') {
60
- throw new CodeError('Peer tag keys must be strings', codes.ERR_INVALID_PARAMETERS);
59
+ throw new InvalidParametersError('Peer tag keys must be strings');
61
60
  }
62
61
  if (value == null) {
63
62
  continue;
@@ -68,17 +67,17 @@ export function toDatastorePeer(peerId, data) {
68
67
  value: value.value ?? 0
69
68
  };
70
69
  if (tag.value < 0 || tag.value > 100) {
71
- throw new CodeError('Tag value must be between 0-100', codes.ERR_INVALID_PARAMETERS);
70
+ throw new InvalidParametersError('Tag value must be between 0-100');
72
71
  }
73
72
  if (parseInt(`${tag.value}`, 10) !== tag.value) {
74
- throw new CodeError('Tag value must be an integer', codes.ERR_INVALID_PARAMETERS);
73
+ throw new InvalidParametersError('Tag value must be an integer');
75
74
  }
76
75
  if (tag.ttl != null) {
77
76
  if (tag.ttl < 0) {
78
- throw new CodeError('Tag ttl must be between greater than 0', codes.ERR_INVALID_PARAMETERS);
77
+ throw new InvalidParametersError('Tag ttl must be between greater than 0');
79
78
  }
80
79
  if (parseInt(`${tag.ttl}`, 10) !== tag.ttl) {
81
- throw new CodeError('Tag ttl must be an integer', codes.ERR_INVALID_PARAMETERS);
80
+ throw new InvalidParametersError('Tag ttl must be an integer');
82
81
  }
83
82
  }
84
83
  output.tags.set(tag.name, {
@@ -1 +1 @@
1
- {"version":3,"file":"peer-data-to-datastore-peer.js","sourceRoot":"","sources":["../../../src/utils/peer-data-to-datastore-peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer-data-to-datastore-peer.js","sourceRoot":"","sources":["../../../src/utils/peer-data-to-datastore-peer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"peer-id-to-datastore-key.d.ts","sourceRoot":"","sources":["../../../src/utils/peer-id-to-datastore-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAG7C,eAAO,MAAM,gBAAgB,YAAY,CAAA;AAEzC,wBAAgB,oBAAoB,CAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAOzD"}
1
+ {"version":3,"file":"peer-id-to-datastore-key.d.ts","sourceRoot":"","sources":["../../../src/utils/peer-id-to-datastore-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAE7C,eAAO,MAAM,gBAAgB,YAAY,CAAA;AAEzC,wBAAgB,oBAAoB,CAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAOzD"}
@@ -1,11 +1,10 @@
1
- import { CodeError } from '@libp2p/interface';
1
+ import { InvalidParametersError } from '@libp2p/interface';
2
2
  import { isPeerId } from '@libp2p/interface';
3
3
  import { Key } from 'interface-datastore/key';
4
- import { codes } from '../errors.js';
5
4
  export const NAMESPACE_COMMON = '/peers/';
6
5
  export function peerIdToDatastoreKey(peerId) {
7
6
  if (!isPeerId(peerId) || peerId.type == null) {
8
- throw new CodeError('Invalid PeerId', codes.ERR_INVALID_PARAMETERS);
7
+ throw new InvalidParametersError('Invalid PeerId');
9
8
  }
10
9
  const b32key = peerId.toCID().toString();
11
10
  return new Key(`${NAMESPACE_COMMON}${b32key}`);
@@ -1 +1 @@
1
- {"version":3,"file":"peer-id-to-datastore-key.js","sourceRoot":"","sources":["../../../src/utils/peer-id-to-datastore-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAe,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAEzC,MAAM,UAAU,oBAAoB,CAAE,MAAc;IAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC7C,MAAM,IAAI,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAA;IACxC,OAAO,IAAI,GAAG,CAAC,GAAG,gBAAgB,GAAG,MAAM,EAAE,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"peer-id-to-datastore-key.js","sourceRoot":"","sources":["../../../src/utils/peer-id-to-datastore-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAe,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAE7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAEzC,MAAM,UAAU,oBAAoB,CAAE,MAAc;IAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC7C,MAAM,IAAI,sBAAsB,CAAC,gBAAgB,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAA;IACxC,OAAO,IAAI,GAAG,CAAC,GAAG,gBAAgB,GAAG,MAAM,EAAE,CAAC,CAAA;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"to-peer-pb.d.ts","sourceRoot":"","sources":["../../../src/utils/to-peer-pb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAO,IAAI,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAW,IAAI,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAA;AAEpF,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,wBAAsB,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA0I/I"}
1
+ {"version":3,"file":"to-peer-pb.d.ts","sourceRoot":"","sources":["../../../src/utils/to-peer-pb.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAO,IAAI,IAAI,MAAM,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAW,IAAI,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAA;AAEpF,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,YAAY,CAAC,EAAE,IAAI,CAAA;CACpB;AAED,wBAAsB,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAmJ/I"}
@@ -1,17 +1,16 @@
1
- import { CodeError } from '@libp2p/interface';
2
- import { equals as uint8arrayEquals } from 'uint8arrays/equals';
3
- import { codes } from '../errors.js';
1
+ import { publicKeyToProtobuf } from '@libp2p/crypto/keys';
2
+ import { InvalidParametersError } from '@libp2p/interface';
4
3
  import { dedupeFilterAndSortAddresses } from './dedupe-addresses.js';
5
4
  export async function toPeerPB(peerId, data, strategy, options) {
6
5
  if (data == null) {
7
- throw new CodeError('Invalid PeerData', codes.ERR_INVALID_PARAMETERS);
6
+ throw new InvalidParametersError('Invalid PeerData');
8
7
  }
9
- if (data.publicKey != null && peerId.publicKey != null && !uint8arrayEquals(data.publicKey, peerId.publicKey)) {
10
- throw new CodeError('publicKey bytes do not match peer id publicKey bytes', codes.ERR_INVALID_PARAMETERS);
8
+ if (data.publicKey != null && peerId.publicKey != null && !data.publicKey.equals(peerId.publicKey)) {
9
+ throw new InvalidParametersError('publicKey bytes do not match peer id publicKey bytes');
11
10
  }
12
11
  const existingPeer = options.existingPeer;
13
12
  if (existingPeer != null && !peerId.equals(existingPeer.id)) {
14
- throw new CodeError('peer id did not match existing peer id', codes.ERR_INVALID_PARAMETERS);
13
+ throw new InvalidParametersError('peer id did not match existing peer id');
15
14
  }
16
15
  let addresses = existingPeer?.addresses ?? [];
17
16
  let protocols = new Set(existingPeer?.protocols ?? []);
@@ -100,6 +99,16 @@ export async function toPeerPB(peerId, data, strategy, options) {
100
99
  peerRecordEnvelope = data.peerRecordEnvelope;
101
100
  }
102
101
  }
102
+ let publicKey;
103
+ if (existingPeer?.id.publicKey != null) {
104
+ publicKey = publicKeyToProtobuf(existingPeer.id.publicKey);
105
+ }
106
+ else if (data.publicKey != null) {
107
+ publicKey = publicKeyToProtobuf(data.publicKey);
108
+ }
109
+ else if (peerId.publicKey != null) {
110
+ publicKey = publicKeyToProtobuf(peerId.publicKey);
111
+ }
103
112
  const output = {
104
113
  addresses: await dedupeFilterAndSortAddresses(peerId, options.addressFilter ?? (async () => true), addresses),
105
114
  protocols: [...protocols.values()].sort((a, b) => {
@@ -107,7 +116,7 @@ export async function toPeerPB(peerId, data, strategy, options) {
107
116
  }),
108
117
  metadata,
109
118
  tags,
110
- publicKey: existingPeer?.id.publicKey ?? data.publicKey ?? peerId.publicKey,
119
+ publicKey,
111
120
  peerRecordEnvelope
112
121
  };
113
122
  // Ed25519 and secp256k1 have their public key embedded in them so no need to duplicate it
@@ -139,30 +148,30 @@ function createSortedMap(entries, options) {
139
148
  }
140
149
  function validateMetadata(key, value) {
141
150
  if (typeof key !== 'string') {
142
- throw new CodeError('Metadata key must be a string', codes.ERR_INVALID_PARAMETERS);
151
+ throw new InvalidParametersError('Metadata key must be a string');
143
152
  }
144
153
  if (!(value instanceof Uint8Array)) {
145
- throw new CodeError('Metadata value must be a Uint8Array', codes.ERR_INVALID_PARAMETERS);
154
+ throw new InvalidParametersError('Metadata value must be a Uint8Array');
146
155
  }
147
156
  }
148
157
  function validateTag(key, tag) {
149
158
  if (typeof key !== 'string') {
150
- throw new CodeError('Tag name must be a string', codes.ERR_INVALID_PARAMETERS);
159
+ throw new InvalidParametersError('Tag name must be a string');
151
160
  }
152
161
  if (tag.value != null) {
153
162
  if (parseInt(`${tag.value}`, 10) !== tag.value) {
154
- throw new CodeError('Tag value must be an integer', codes.ERR_INVALID_PARAMETERS);
163
+ throw new InvalidParametersError('Tag value must be an integer');
155
164
  }
156
165
  if (tag.value < 0 || tag.value > 100) {
157
- throw new CodeError('Tag value must be between 0-100', codes.ERR_INVALID_PARAMETERS);
166
+ throw new InvalidParametersError('Tag value must be between 0-100');
158
167
  }
159
168
  }
160
169
  if (tag.ttl != null) {
161
170
  if (parseInt(`${tag.ttl}`, 10) !== tag.ttl) {
162
- throw new CodeError('Tag ttl must be an integer', codes.ERR_INVALID_PARAMETERS);
171
+ throw new InvalidParametersError('Tag ttl must be an integer');
163
172
  }
164
173
  if (tag.ttl < 0) {
165
- throw new CodeError('Tag ttl must be between greater than 0', codes.ERR_INVALID_PARAMETERS);
174
+ throw new InvalidParametersError('Tag ttl must be between greater than 0');
166
175
  }
167
176
  }
168
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"to-peer-pb.js","sourceRoot":"","sources":["../../../src/utils/to-peer-pb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAUpE,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAE,MAAc,EAAE,IAAuB,EAAE,QAA2B,EAAE,OAAwB;IAC5H,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9G,MAAM,IAAI,SAAS,CAAC,sDAAsD,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC3G,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IAEzC,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,wCAAwC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC7F,CAAC;IAED,IAAI,SAAS,GAAc,YAAY,EAAE,SAAS,IAAI,EAAE,CAAA;IACxD,IAAI,SAAS,GAAG,IAAI,GAAG,CAAS,YAAY,EAAE,SAAS,IAAI,EAAE,CAAC,CAAA;IAC9D,IAAI,QAAQ,GAA4B,YAAY,EAAE,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAA;IAC3E,IAAI,IAAI,GAAqB,YAAY,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,CAAA;IAC5D,IAAI,kBAAkB,GAA2B,YAAY,EAAE,kBAAkB,CAAA;IAEjF,mEAAmE;IACnE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YACtD,SAAS,GAAG,EAAE,CAAA;YAEd,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAClD,WAAW,EAAE,KAAK;oBAClB,SAAS;iBACV,CAAC,CAAC,CAAC,CAAA;YACN,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC3B,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEnH,QAAQ,GAAG,eAAe,CAAC,eAAe,EAAE;gBAC1C,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEnG,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE;gBAClC,QAAQ,EAAE,WAAW;gBACrB,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;YACpC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAClD,WAAW,EAAE,KAAK;gBAClB,SAAS;aACV,CAAC,CAAC,CAAC,CAAA;QACN,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;YAC3B,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEnH,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC3C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACtB,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;YAED,QAAQ,GAAG,eAAe,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE;gBAClD,QAAQ,EAAE,gBAAgB;aAC3B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnG,MAAM,UAAU,GAAG,IAAI,GAAG,CAA2B,IAAI,CAAC,CAAA;YAE1D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;gBACvC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;oBAClB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACxB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,IAAI,GAAG,eAAe,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;gBAChD,QAAQ,EAAE,WAAW;gBACrB,GAAG,EAAE,MAAM;aACZ,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;YACpC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAW;QACrB,SAAS,EAAE,MAAM,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;QAC7G,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QAC3B,CAAC,CAAC;QACF,QAAQ;QACR,IAAI;QAEJ,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAC3E,kBAAkB;KACnB,CAAA;IAED,0FAA0F;IAC1F,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,SAAS,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAOD;;;GAGG;AACH,SAAS,eAAe,CAAa,OAAuC,EAAE,OAAqC;IACjH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA;IAExB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,SAAQ;QACV,CAAC;QAED,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACnD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC,CAAC,EAAE,CAAC;QACH,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,gBAAgB,CAAE,GAAW,EAAE,KAAiB;IACvD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACpF,CAAC;IAED,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,SAAS,CAAC,qCAAqC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAE,GAAW,EAAE,GAAe;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CAAC,2BAA2B,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAChF,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACtB,IAAI,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACnF,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC;YACrC,MAAM,IAAI,SAAS,CAAC,iCAAiC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;YAC3C,MAAM,IAAI,SAAS,CAAC,4BAA4B,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACjF,CAAC;QAED,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,SAAS,CAAC,wCAAwC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAC7F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAE,GAAW,EAAE,GAAQ;IACpC,IAAI,MAA0B,CAAA;IAE9B,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IACrB,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;QACrB,MAAM;KACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"to-peer-pb.js","sourceRoot":"","sources":["../../../src/utils/to-peer-pb.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/peer-store",
3
- "version": "10.1.5",
3
+ "version": "11.0.0-18dd3cb26",
4
4
  "description": "Stores information about peers libp2p knows on the network",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/peer-store#readme",
@@ -59,12 +59,13 @@
59
59
  "test:electron-main": "aegir test -t electron-main"
60
60
  },
61
61
  "dependencies": {
62
- "@libp2p/interface": "^1.7.0",
63
- "@libp2p/peer-collections": "^5.2.9",
64
- "@libp2p/peer-id": "^4.2.4",
65
- "@libp2p/peer-record": "^7.0.25",
62
+ "@libp2p/crypto": "5.0.0-18dd3cb26",
63
+ "@libp2p/interface": "2.0.0-18dd3cb26",
64
+ "@libp2p/peer-collections": "6.0.0-18dd3cb26",
65
+ "@libp2p/peer-id": "5.0.0-18dd3cb26",
66
+ "@libp2p/peer-record": "8.0.0-18dd3cb26",
66
67
  "@multiformats/multiaddr": "^12.2.3",
67
- "interface-datastore": "^8.2.11",
68
+ "interface-datastore": "^8.3.0",
68
69
  "it-all": "^3.0.6",
69
70
  "mortice": "^3.0.4",
70
71
  "multiformats": "^13.1.0",
@@ -73,11 +74,10 @@
73
74
  "uint8arrays": "^5.1.0"
74
75
  },
75
76
  "devDependencies": {
76
- "@libp2p/logger": "^4.0.20",
77
- "@libp2p/peer-id-factory": "^4.2.4",
77
+ "@libp2p/logger": "5.0.0-18dd3cb26",
78
78
  "@types/sinon": "^17.0.3",
79
79
  "aegir": "^44.0.1",
80
- "datastore-core": "^9.2.9",
80
+ "datastore-core": "^10.0.0",
81
81
  "delay": "^6.0.0",
82
82
  "p-defer": "^4.0.1",
83
83
  "p-event": "^6.0.1",
package/src/index.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * The peer store is where libp2p stores data about the peers it has encountered on the network.
5
5
  */
6
6
 
7
+ import { peerIdFromCID } from '@libp2p/peer-id'
7
8
  import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record'
8
9
  import all from 'it-all'
9
10
  import { PersistentStore, type PeerUpdate } from './store.js'
@@ -167,9 +168,10 @@ export class PersistentPeerStore implements PeerStore {
167
168
 
168
169
  async consumePeerRecord (buf: Uint8Array, expectedPeer?: PeerId): Promise<boolean> {
169
170
  const envelope = await RecordEnvelope.openAndCertify(buf, PeerRecord.DOMAIN)
171
+ const peerId = peerIdFromCID(envelope.publicKey.toCID())
170
172
 
171
- if (expectedPeer?.equals(envelope.peerId) === false) {
172
- this.log('envelope peer id was not the expected peer id - expected: %p received: %p', expectedPeer, envelope.peerId)
173
+ if (expectedPeer?.equals(peerId) === false) {
174
+ this.log('envelope peer id was not the expected peer id - expected: %p received: %p', expectedPeer, peerId)
173
175
  return false
174
176
  }
175
177
 
@@ -177,9 +179,9 @@ export class PersistentPeerStore implements PeerStore {
177
179
  let peer: Peer | undefined
178
180
 
179
181
  try {
180
- peer = await this.get(envelope.peerId)
182
+ peer = await this.get(peerId)
181
183
  } catch (err: any) {
182
- if (err.code !== 'ERR_NOT_FOUND') {
184
+ if (err.name !== 'NotFoundError') {
183
185
  throw err
184
186
  }
185
187
  }
package/src/pb/peer.ts CHANGED
@@ -4,8 +4,8 @@
4
4
  /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
5
5
  /* eslint-disable @typescript-eslint/no-empty-interface */
6
6
 
7
- import { encodeMessage, decodeMessage, message } from 'protons-runtime'
8
- import type { Codec } from 'protons-runtime'
7
+ import { type Codec, decodeMessage, type DecodeOptions, encodeMessage, MaxLengthError, MaxSizeError, message } from 'protons-runtime'
8
+ import { alloc as uint8ArrayAlloc } from 'uint8arrays/alloc'
9
9
  import type { Uint8ArrayList } from 'uint8arraylist'
10
10
 
11
11
  export interface Peer {
@@ -46,10 +46,10 @@ export namespace Peer {
46
46
  if (opts.lengthDelimited !== false) {
47
47
  w.ldelim()
48
48
  }
49
- }, (reader, length) => {
49
+ }, (reader, length, opts = {}) => {
50
50
  const obj: any = {
51
51
  key: '',
52
- value: new Uint8Array(0)
52
+ value: uint8ArrayAlloc(0)
53
53
  }
54
54
 
55
55
  const end = length == null ? reader.len : reader.pos + length
@@ -58,15 +58,18 @@ export namespace Peer {
58
58
  const tag = reader.uint32()
59
59
 
60
60
  switch (tag >>> 3) {
61
- case 1:
61
+ case 1: {
62
62
  obj.key = reader.string()
63
63
  break
64
- case 2:
64
+ }
65
+ case 2: {
65
66
  obj.value = reader.bytes()
66
67
  break
67
- default:
68
+ }
69
+ default: {
68
70
  reader.skipType(tag & 7)
69
71
  break
72
+ }
70
73
  }
71
74
  }
72
75
 
@@ -81,8 +84,8 @@ export namespace Peer {
81
84
  return encodeMessage(obj, Peer$metadataEntry.codec())
82
85
  }
83
86
 
84
- export const decode = (buf: Uint8Array | Uint8ArrayList): Peer$metadataEntry => {
85
- return decodeMessage(buf, Peer$metadataEntry.codec())
87
+ export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Peer$metadataEntry>): Peer$metadataEntry => {
88
+ return decodeMessage(buf, Peer$metadataEntry.codec(), opts)
86
89
  }
87
90
  }
88
91
 
@@ -114,7 +117,7 @@ export namespace Peer {
114
117
  if (opts.lengthDelimited !== false) {
115
118
  w.ldelim()
116
119
  }
117
- }, (reader, length) => {
120
+ }, (reader, length, opts = {}) => {
118
121
  const obj: any = {
119
122
  key: ''
120
123
  }
@@ -125,15 +128,20 @@ export namespace Peer {
125
128
  const tag = reader.uint32()
126
129
 
127
130
  switch (tag >>> 3) {
128
- case 1:
131
+ case 1: {
129
132
  obj.key = reader.string()
130
133
  break
131
- case 2:
132
- obj.value = Tag.codec().decode(reader, reader.uint32())
134
+ }
135
+ case 2: {
136
+ obj.value = Tag.codec().decode(reader, reader.uint32(), {
137
+ limits: opts.limits?.value
138
+ })
133
139
  break
134
- default:
140
+ }
141
+ default: {
135
142
  reader.skipType(tag & 7)
136
143
  break
144
+ }
137
145
  }
138
146
  }
139
147
 
@@ -148,8 +156,8 @@ export namespace Peer {
148
156
  return encodeMessage(obj, Peer$tagsEntry.codec())
149
157
  }
150
158
 
151
- export const decode = (buf: Uint8Array | Uint8ArrayList): Peer$tagsEntry => {
152
- return decodeMessage(buf, Peer$tagsEntry.codec())
159
+ export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Peer$tagsEntry>): Peer$tagsEntry => {
160
+ return decodeMessage(buf, Peer$tagsEntry.codec(), opts)
153
161
  }
154
162
  }
155
163
 
@@ -203,7 +211,7 @@ export namespace Peer {
203
211
  if (opts.lengthDelimited !== false) {
204
212
  w.ldelim()
205
213
  }
206
- }, (reader, length) => {
214
+ }, (reader, length, opts = {}) => {
207
215
  const obj: any = {
208
216
  addresses: [],
209
217
  protocols: [],
@@ -217,31 +225,58 @@ export namespace Peer {
217
225
  const tag = reader.uint32()
218
226
 
219
227
  switch (tag >>> 3) {
220
- case 1:
221
- obj.addresses.push(Address.codec().decode(reader, reader.uint32()))
228
+ case 1: {
229
+ if (opts.limits?.addresses != null && obj.addresses.length === opts.limits.addresses) {
230
+ throw new MaxLengthError('Decode error - map field "addresses" had too many elements')
231
+ }
232
+
233
+ obj.addresses.push(Address.codec().decode(reader, reader.uint32(), {
234
+ limits: opts.limits?.addresses$
235
+ }))
222
236
  break
223
- case 2:
237
+ }
238
+ case 2: {
239
+ if (opts.limits?.protocols != null && obj.protocols.length === opts.limits.protocols) {
240
+ throw new MaxLengthError('Decode error - map field "protocols" had too many elements')
241
+ }
242
+
224
243
  obj.protocols.push(reader.string())
225
244
  break
226
- case 4:
245
+ }
246
+ case 4: {
227
247
  obj.publicKey = reader.bytes()
228
248
  break
229
- case 5:
249
+ }
250
+ case 5: {
230
251
  obj.peerRecordEnvelope = reader.bytes()
231
252
  break
253
+ }
232
254
  case 6: {
255
+ if (opts.limits?.metadata != null && obj.metadata.size === opts.limits.metadata) {
256
+ throw new MaxSizeError('Decode error - map field "metadata" had too many elements')
257
+ }
258
+
233
259
  const entry = Peer.Peer$metadataEntry.codec().decode(reader, reader.uint32())
234
260
  obj.metadata.set(entry.key, entry.value)
235
261
  break
236
262
  }
237
263
  case 7: {
238
- const entry = Peer.Peer$tagsEntry.codec().decode(reader, reader.uint32())
264
+ if (opts.limits?.tags != null && obj.tags.size === opts.limits.tags) {
265
+ throw new MaxSizeError('Decode error - map field "tags" had too many elements')
266
+ }
267
+
268
+ const entry = Peer.Peer$tagsEntry.codec().decode(reader, reader.uint32(), {
269
+ limits: {
270
+ value: opts.limits?.tags$value
271
+ }
272
+ })
239
273
  obj.tags.set(entry.key, entry.value)
240
274
  break
241
275
  }
242
- default:
276
+ default: {
243
277
  reader.skipType(tag & 7)
244
278
  break
279
+ }
245
280
  }
246
281
  }
247
282
 
@@ -256,8 +291,8 @@ export namespace Peer {
256
291
  return encodeMessage(obj, Peer.codec())
257
292
  }
258
293
 
259
- export const decode = (buf: Uint8Array | Uint8ArrayList): Peer => {
260
- return decodeMessage(buf, Peer.codec())
294
+ export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Peer>): Peer => {
295
+ return decodeMessage(buf, Peer.codec(), opts)
261
296
  }
262
297
  }
263
298
 
@@ -289,9 +324,9 @@ export namespace Address {
289
324
  if (opts.lengthDelimited !== false) {
290
325
  w.ldelim()
291
326
  }
292
- }, (reader, length) => {
327
+ }, (reader, length, opts = {}) => {
293
328
  const obj: any = {
294
- multiaddr: new Uint8Array(0)
329
+ multiaddr: uint8ArrayAlloc(0)
295
330
  }
296
331
 
297
332
  const end = length == null ? reader.len : reader.pos + length
@@ -300,15 +335,18 @@ export namespace Address {
300
335
  const tag = reader.uint32()
301
336
 
302
337
  switch (tag >>> 3) {
303
- case 1:
338
+ case 1: {
304
339
  obj.multiaddr = reader.bytes()
305
340
  break
306
- case 2:
341
+ }
342
+ case 2: {
307
343
  obj.isCertified = reader.bool()
308
344
  break
309
- default:
345
+ }
346
+ default: {
310
347
  reader.skipType(tag & 7)
311
348
  break
349
+ }
312
350
  }
313
351
  }
314
352
 
@@ -323,8 +361,8 @@ export namespace Address {
323
361
  return encodeMessage(obj, Address.codec())
324
362
  }
325
363
 
326
- export const decode = (buf: Uint8Array | Uint8ArrayList): Address => {
327
- return decodeMessage(buf, Address.codec())
364
+ export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Address>): Address => {
365
+ return decodeMessage(buf, Address.codec(), opts)
328
366
  }
329
367
  }
330
368
 
@@ -356,7 +394,7 @@ export namespace Tag {
356
394
  if (opts.lengthDelimited !== false) {
357
395
  w.ldelim()
358
396
  }
359
- }, (reader, length) => {
397
+ }, (reader, length, opts = {}) => {
360
398
  const obj: any = {
361
399
  value: 0
362
400
  }
@@ -367,15 +405,18 @@ export namespace Tag {
367
405
  const tag = reader.uint32()
368
406
 
369
407
  switch (tag >>> 3) {
370
- case 1:
408
+ case 1: {
371
409
  obj.value = reader.uint32()
372
410
  break
373
- case 2:
411
+ }
412
+ case 2: {
374
413
  obj.expiry = reader.uint64()
375
414
  break
376
- default:
415
+ }
416
+ default: {
377
417
  reader.skipType(tag & 7)
378
418
  break
419
+ }
379
420
  }
380
421
  }
381
422
 
@@ -390,7 +431,7 @@ export namespace Tag {
390
431
  return encodeMessage(obj, Tag.codec())
391
432
  }
392
433
 
393
- export const decode = (buf: Uint8Array | Uint8ArrayList): Tag => {
394
- return decodeMessage(buf, Tag.codec())
434
+ export const decode = (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Tag>): Tag => {
435
+ return decodeMessage(buf, Tag.codec(), opts)
395
436
  }
396
437
  }
package/src/store.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { CodeError } from '@libp2p/interface'
1
+ import { InvalidParametersError } from '@libp2p/interface'
2
2
  import { PeerMap } from '@libp2p/peer-collections'
3
- import { peerIdFromBytes } from '@libp2p/peer-id'
3
+ import { peerIdFromCID } from '@libp2p/peer-id'
4
4
  import mortice, { type Mortice } from 'mortice'
5
5
  import { base32 } from 'multiformats/bases/base32'
6
+ import { CID } from 'multiformats/cid'
6
7
  import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
7
- import { codes } from './errors.js'
8
8
  import { Peer as PeerPB } from './pb/peer.js'
9
9
  import { bytesToPeer } from './utils/bytes-to-peer.js'
10
10
  import { NAMESPACE_COMMON, peerIdToDatastoreKey } from './utils/peer-id-to-datastore-key.js'
@@ -23,8 +23,8 @@ export interface PeerUpdate extends PeerUpdateExternal {
23
23
  function decodePeer (key: Key, value: Uint8Array, cache: PeerMap<Peer>): Peer {
24
24
  // /peers/${peer-id-as-libp2p-key-cid-string-in-base-32}
25
25
  const base32Str = key.toString().split('/')[2]
26
- const buf = base32.decode(base32Str)
27
- const peerId = peerIdFromBytes(buf)
26
+ const buf = CID.parse(base32Str, base32)
27
+ const peerId = peerIdFromCID(buf)
28
28
 
29
29
  const cached = cache.get(peerId)
30
30
 
@@ -77,7 +77,7 @@ export class PersistentStore {
77
77
 
78
78
  async delete (peerId: PeerId): Promise<void> {
79
79
  if (this.peerId.equals(peerId)) {
80
- throw new CodeError('Cannot delete self peer', codes.ERR_INVALID_PARAMETERS)
80
+ throw new InvalidParametersError('Cannot delete self peer')
81
81
  }
82
82
 
83
83
  await this.datastore.delete(peerIdToDatastoreKey(peerId))
@@ -155,7 +155,7 @@ export class PersistentStore {
155
155
  existingPeer
156
156
  }
157
157
  } catch (err: any) {
158
- if (err.code !== 'ERR_NOT_FOUND') {
158
+ if (err.name !== 'NotFoundError') {
159
159
  throw err
160
160
  }
161
161
  }