@libp2p/pubsub 1.2.4 → 1.2.5

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.
@@ -2,9 +2,8 @@ import * as PeerIdFactory from '@libp2p/peer-id-factory';
2
2
  import { RPC } from './rpc.js';
3
3
  import { concat as uint8ArrayConcat } from 'uint8arrays/concat';
4
4
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
5
- import { normalizeOutRpcMessage } from '../utils.js';
5
+ import { toRpcMessage } from '../utils.js';
6
6
  import { keys } from '@libp2p/crypto';
7
- import { peerIdFromBytes } from '@libp2p/peer-id';
8
7
  export const SignPrefix = uint8ArrayFromString('libp2p-pubsub:');
9
8
  /**
10
9
  * Signs the provided message with the given `peerId`
@@ -13,7 +12,7 @@ export async function signMessage(peerId, message) {
13
12
  // Get the message in bytes, and prepend with the pubsub prefix
14
13
  const bytes = uint8ArrayConcat([
15
14
  SignPrefix,
16
- RPC.Message.encode(normalizeOutRpcMessage(message)).finish()
15
+ RPC.Message.encode(toRpcMessage(message)).finish()
17
16
  ]);
18
17
  if (peerId.privateKey == null) {
19
18
  throw new Error('Cannot sign message, no private key present');
@@ -44,7 +43,7 @@ export async function verifySignature(message) {
44
43
  const bytes = uint8ArrayConcat([
45
44
  SignPrefix,
46
45
  RPC.Message.encode({
47
- ...message,
46
+ ...toRpcMessage(message),
48
47
  signature: undefined,
49
48
  key: undefined
50
49
  }).finish()
@@ -64,19 +63,18 @@ export async function messagePublicKey(message) {
64
63
  if (message.from == null) {
65
64
  throw new Error('Could not get the public key from the originator id');
66
65
  }
67
- const from = peerIdFromBytes(message.from);
68
66
  if (message.key != null) {
69
67
  const keyPeerId = await PeerIdFactory.createFromPubKey(keys.unmarshalPublicKey(message.key));
70
68
  // the key belongs to the sender, return the key
71
- if (!keyPeerId.equals(from)) {
69
+ if (!keyPeerId.equals(message.from)) {
72
70
  throw new Error('Public Key does not match the originator');
73
71
  }
74
72
  if (keyPeerId.publicKey != null) {
75
73
  return keyPeerId.publicKey;
76
74
  }
77
75
  }
78
- else if (from.publicKey != null) {
79
- return from.publicKey;
76
+ else if (message.from.publicKey != null) {
77
+ return message.from.publicKey;
80
78
  }
81
79
  // We couldn't validate pubkey is from the originator, error
82
80
  throw new Error('Could not get the public key from the originator id');
@@ -1 +1 @@
1
- {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/message/sign.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../src/message/sign.ts"],"names":[],"mappings":"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"}
@@ -16,19 +16,19 @@ export declare class PeerStreams extends EventEmitter<PeerStreamEvents> {
16
16
  /**
17
17
  * Write stream - it's preferable to use the write method
18
18
  */
19
- outboundStream: Pushable<Uint8Array> | undefined;
19
+ outboundStream?: Pushable<Uint8Array>;
20
20
  /**
21
21
  * Read stream
22
22
  */
23
- inboundStream: AsyncIterable<Uint8Array> | undefined;
23
+ inboundStream?: AsyncIterable<Uint8Array>;
24
24
  /**
25
25
  * The raw outbound stream, as retrieved from conn.newStream
26
26
  */
27
- private _rawOutboundStream;
27
+ private _rawOutboundStream?;
28
28
  /**
29
29
  * The raw inbound stream, as retrieved from the callback from libp2p.handle
30
30
  */
31
- private _rawInboundStream;
31
+ private _rawInboundStream?;
32
32
  /**
33
33
  * An AbortController for controlled shutdown of the inbound stream
34
34
  */
@@ -55,7 +55,7 @@ export declare class PeerStreams extends EventEmitter<PeerStreamEvents> {
55
55
  /**
56
56
  * Attach a raw outbound stream and setup a write stream
57
57
  */
58
- attachOutboundStream(stream: Stream): Promise<void>;
58
+ attachOutboundStream(stream: Stream): Promise<Pushable<Uint8Array>>;
59
59
  /**
60
60
  * Closes the open connection to peer
61
61
  */
@@ -1 +1 @@
1
- {"version":3,"file":"peer-streams.d.ts","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAA;AAK9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAIjE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC,gBAAgB,CAAC;IAC7D,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,QAAQ,EAAE,MAAM,CAAA;IAChC;;OAEG;IACI,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IACvD;;OAEG;IACI,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IAC3D;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAoB;IAC9C;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAoB;IAC7C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAiB;IACzD,OAAO,CAAC,MAAM,CAAS;gBAEV,IAAI,EAAE,OAAO;IAU1B;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;;OAGG;IACH,KAAK,CAAE,IAAI,EAAE,UAAU;IASvB;;OAEG;IACH,mBAAmB,CAAE,MAAM,EAAE,MAAM;IAmBnC;;OAEG;IACG,oBAAoB,CAAE,MAAM,EAAE,MAAM;IAsC1C;;OAEG;IACH,KAAK;CAsBN"}
1
+ {"version":3,"file":"peer-streams.d.ts","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAA;AAK9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAIjE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,YAAY,CAAC,gBAAgB,CAAC;IAC7D,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,QAAQ,EAAE,MAAM,CAAA;IAChC;;OAEG;IACI,cAAc,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC5C;;OAEG;IACI,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IAChD;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAC,CAAQ;IACnC;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAC,CAAQ;IAClC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAiB;IACzD,OAAO,CAAC,MAAM,CAAS;gBAEV,IAAI,EAAE,OAAO;IAU1B;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;OAEG;IACH,IAAI,UAAU,YAEb;IAED;;;OAGG;IACH,KAAK,CAAE,IAAI,EAAE,UAAU;IASvB;;OAEG;IACH,mBAAmB,CAAE,MAAM,EAAE,MAAM;IAmBnC;;OAEG;IACG,oBAAoB,CAAE,MAAM,EAAE,MAAM;IAwC1C;;OAEG;IACH,KAAK;CAsBN"}
@@ -83,6 +83,7 @@ export class PeerStreams extends EventEmitter {
83
83
  if (_prevStream == null) {
84
84
  this.dispatchEvent(new CustomEvent('stream:outbound'));
85
85
  }
86
+ return this.outboundStream;
86
87
  }
87
88
  /**
88
89
  * Closes the open connection to peer
@@ -1 +1 @@
1
- {"version":3,"file":"peer-streams.js","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer-streams.js","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import type * as RPC from './message/rpc.js';
2
- import type { Message } from '@libp2p/interfaces/pubsub';
2
+ import type { Message, RPCMessage } from '@libp2p/interfaces/pubsub';
3
+ import type { PeerId } from '@libp2p/interfaces/peer-id';
3
4
  /**
4
5
  * Generate a random sequence number
5
6
  */
6
- export declare const randomSeqno: () => any;
7
+ export declare function randomSeqno(): BigInt;
7
8
  /**
8
9
  * Generate a message id, based on the `from` and `seqno`
9
10
  */
10
- export declare const msgId: (from: Uint8Array | string, seqno: Uint8Array) => Uint8Array;
11
+ export declare const msgId: (from: PeerId, seqno: BigInt) => Uint8Array;
11
12
  /**
12
13
  * Generate a message id, based on message `data`
13
14
  */
@@ -24,6 +25,6 @@ export declare const ensureArray: <T>(maybeArray: T | T[]) => T[];
24
25
  /**
25
26
  * Ensures `message.from` is base58 encoded
26
27
  */
27
- export declare const normalizeInRpcMessage: (message: RPC.RPC.IMessage, peerId?: string | undefined) => any;
28
- export declare const normalizeOutRpcMessage: (message: Message) => Message;
28
+ export declare const toMessage: (message: RPC.RPC.IMessage) => Message;
29
+ export declare const toRpcMessage: (message: Message) => RPCMessage;
29
30
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,WAAW,WAEvB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,SAAU,UAAU,GAAG,MAAM,SAAS,UAAU,eAajE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,2DAAwB,CAAA;AAEpE;;;GAGG;AACH,eAAO,MAAM,QAAQ,MAAO,IAAI,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,MAAM,EAAE,YAe5E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,iCAMvB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,YAAa,OAAO,CAAC,QAAQ,qCAS9D,CAAA;AAED,eAAO,MAAM,sBAAsB,YAAa,OAAO,YAStD,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAExD;;GAEG;AACH,wBAAgB,WAAW,IAAK,MAAM,CAErC;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,SAAU,MAAM,SAAS,MAAM,eAShD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,2DAE3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,MAAO,IAAI,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,MAAM,EAAE,YAe5E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,iCAMvB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,YAAa,OAAO,CAAC,QAAQ,KAAG,OAarD,CAAA;AAED,eAAO,MAAM,YAAY,YAAa,OAAO,KAAG,UAa/C,CAAA"}
package/dist/src/utils.js CHANGED
@@ -1,33 +1,33 @@
1
1
  import { randomBytes } from 'iso-random-stream';
2
2
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
3
- import { peerIdFromBytes, peerIdFromString } from '@libp2p/peer-id';
3
+ import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
4
+ import { peerIdFromBytes } from '@libp2p/peer-id';
4
5
  import { sha256 } from 'multiformats/hashes/sha2';
6
+ import errcode from 'err-code';
7
+ import { codes } from './errors.js';
5
8
  /**
6
9
  * Generate a random sequence number
7
10
  */
8
- export const randomSeqno = () => {
9
- return randomBytes(8);
10
- };
11
+ export function randomSeqno() {
12
+ return BigInt(`0x${uint8ArrayToString(randomBytes(8), 'base16')}`);
13
+ }
11
14
  /**
12
15
  * Generate a message id, based on the `from` and `seqno`
13
16
  */
14
17
  export const msgId = (from, seqno) => {
15
- let fromBytes;
16
- if (from instanceof Uint8Array) {
17
- fromBytes = peerIdFromBytes(from).multihash.digest;
18
- }
19
- else {
20
- fromBytes = peerIdFromString(from).multihash.digest;
21
- }
22
- const msgId = new Uint8Array(fromBytes.length + seqno.length);
18
+ const fromBytes = from.multihash.digest;
19
+ const seqnoBytes = uint8ArrayFromString(seqno.toString(16).padStart(16, '0'), 'base16');
20
+ const msgId = new Uint8Array(fromBytes.length + seqnoBytes.length);
23
21
  msgId.set(fromBytes, 0);
24
- msgId.set(seqno, fromBytes.length);
22
+ msgId.set(seqnoBytes, fromBytes.length);
25
23
  return msgId;
26
24
  };
27
25
  /**
28
26
  * Generate a message id, based on message `data`
29
27
  */
30
- export const noSignMsgId = (data) => sha256.encode(data);
28
+ export const noSignMsgId = (data) => {
29
+ return sha256.encode(data);
30
+ };
31
31
  /**
32
32
  * Check if any member of the first set is also a member
33
33
  * of the second set
@@ -59,22 +59,30 @@ export const ensureArray = function (maybeArray) {
59
59
  /**
60
60
  * Ensures `message.from` is base58 encoded
61
61
  */
62
- export const normalizeInRpcMessage = (message, peerId) => {
63
- // @ts-expect-error receivedFrom not yet defined
64
- const m = Object.assign({}, message);
65
- if (peerId != null) {
66
- m.receivedFrom = peerId;
62
+ export const toMessage = (message) => {
63
+ if (message.from == null) {
64
+ throw errcode(new Error('From field is required and was not present'), codes.ERR_MISSING_FROM);
67
65
  }
68
- return m;
66
+ return {
67
+ from: peerIdFromBytes(message.from),
68
+ topicIDs: message.topicIDs ?? [],
69
+ seqno: message.seqno == null ? undefined : BigInt(`0x${uint8ArrayToString(message.seqno, 'base16')}`),
70
+ data: message.data ?? new Uint8Array(0),
71
+ signature: message.signature ?? undefined,
72
+ key: message.key ?? undefined
73
+ };
69
74
  };
70
- export const normalizeOutRpcMessage = (message) => {
71
- const m = Object.assign({}, message);
72
- if (typeof message.from === 'string') {
73
- m.from = uint8ArrayFromString(message.from, 'base58btc');
74
- }
75
- if (typeof message.data === 'string') {
76
- m.data = uint8ArrayFromString(message.data);
75
+ export const toRpcMessage = (message) => {
76
+ if (message.from == null) {
77
+ throw errcode(new Error('From field is required and was not present'), codes.ERR_MISSING_FROM);
77
78
  }
78
- return m;
79
+ return {
80
+ from: message.from.multihash.bytes,
81
+ data: message.data,
82
+ seqno: message.seqno == null ? undefined : uint8ArrayFromString(message.seqno.toString(16).padStart(16, '0'), 'base16'),
83
+ topicIDs: message.topicIDs,
84
+ signature: message.signature,
85
+ key: message.key
86
+ };
79
87
  };
80
88
  //# sourceMappingURL=utils.js.map
@@ -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,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAKnC;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,KAAK,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;IACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA;IACvC,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAA;IAEvF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IACvB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IAEvC,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAE,EAAE;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAyB,EAAE,CAAyB,EAAE,EAAE;IAC/E,IAAI,IAAI,CAAA;IACR,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;KACxC;SAAM;QACL,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KACnC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE;QACnB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;YACb,OAAO,IAAI,CAAA;SACZ;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,UAAc,UAAmB;IAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC9B,OAAO,CAAC,UAAU,CAAC,CAAA;KACpB;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAyB,EAAW,EAAE;IAC9D,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;QACxB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAC/F;IAED,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrG,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC;QACvC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;QACzC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;KAC9B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAc,EAAE;IAC3D,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;QACxB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAC/F;IAED,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QAClC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;QACvH,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/pubsub",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "libp2p pubsub base class",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-pubsub#readme",
@@ -190,11 +190,12 @@
190
190
  "@libp2p/logger": "^1.0.1",
191
191
  "@libp2p/peer-id": "^1.0.0",
192
192
  "@libp2p/peer-id-factory": "^1.0.0",
193
+ "@libp2p/peer-map": "^0.0.0",
193
194
  "@libp2p/topology": "^1.0.0",
194
195
  "@multiformats/multiaddr": "^10.1.1",
195
196
  "err-code": "^3.0.1",
196
197
  "iso-random-stream": "^2.0.0",
197
- "it-length-prefixed": "^6.0.1",
198
+ "it-length-prefixed": "^7.0.0",
198
199
  "it-pipe": "^2.0.2",
199
200
  "multiformats": "^9.4.10",
200
201
  "p-queue": "^7.1.0",
package/src/errors.ts CHANGED
@@ -23,6 +23,10 @@ export const codes = {
23
23
  * Message `signature` is invalid
24
24
  */
25
25
  ERR_INVALID_SIGNATURE: 'ERR_INVALID_SIGNATURE',
26
+ /**
27
+ * Message expected to have a `from`, but doesn't
28
+ */
29
+ ERR_MISSING_FROM: 'ERR_MISSING_FROM',
26
30
 
27
31
  // Strict no-signing codes
28
32