@libp2p/gossipsub 17.0.1 → 17.1.0-cef4d32cf

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":"metrics.js","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,12 @@ export interface PublishOpts {
80
80
  ignoreDuplicatePublishError?: boolean;
81
81
  /** serialize message once and send to all peers without control messages */
82
82
  batchPublish?: boolean;
83
+ /**
84
+ * Flood publish this message to every subscribed peer above the publish threshold,
85
+ * overriding the global `floodPublish` option for this call only. Preserves a `false`
86
+ * value, so it can also disable flood publishing per message.
87
+ */
88
+ floodPublish?: boolean;
83
89
  }
84
90
  export declare enum PublishConfigType {
85
91
  Signing = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAmDjD,MAAM,CAAN,IAAY,eAqBX;AArBD,WAAY,eAAe;IACzB;;;;;;;OAOG;IACH,4CAAyB,CAAA;IACzB;;;;;;;;;OASG;IACH,gDAA6B,CAAA;AAC/B,CAAC,EArBW,eAAe,KAAf,eAAe,QAqB1B;AAiBD,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,+DAAO,CAAA;IACP,mEAAS,CAAA;AACX,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAeD,MAAM,CAAN,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB;;;OAGG;IACH,+BAAe,CAAA;IACf;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,iCAAiB,CAAA;IACjB;;;OAGG;IACH,2CAA2B,CAAA;AAC7B,CAAC,EAnBW,YAAY,KAAZ,YAAY,QAmBvB;AAED,MAAM,CAAN,IAAY,aAkBX;AAlBD,WAAY,aAAa;IACvB,yCAAyC;IACzC,uDAAsC,CAAA;IACtC,8CAA8C;IAC9C,+CAA8B,CAAA;IAC9B,0BAA0B;IAC1B,iDAAgC,CAAA;IAChC,sDAAsD;IACtD,yDAAyD;IACzD,uDAAsC,CAAA;IACtC,4DAA4D;IAC5D,yDAAyD;IACzD,+CAA8B,CAAA;IAC9B,2DAA2D;IAC3D,yDAAyD;IACzD,6CAA4B,CAAA;IAC5B,mCAAmC;IACnC,qDAAoC,CAAA;AACtC,CAAC,EAlBW,aAAa,KAAb,aAAa,QAkBxB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACjB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAWD;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAsE;IAEtE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,oBAAoB,CAAC,MAAM;YAC9B,OAAO,YAAY,CAAC,MAAM,CAAA;QAC5B,KAAK,oBAAoB,CAAC,MAAM;YAC9B,OAAO,YAAY,CAAC,MAAM,CAAA;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAClC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAmDjD,MAAM,CAAN,IAAY,eAqBX;AArBD,WAAY,eAAe;IACzB;;;;;;;OAOG;IACH,4CAAyB,CAAA;IACzB;;;;;;;;;OASG;IACH,gDAA6B,CAAA;AAC/B,CAAC,EArBW,eAAe,KAAf,eAAe,QAqB1B;AAuBD,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,+DAAO,CAAA;IACP,mEAAS,CAAA;AACX,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAeD,MAAM,CAAN,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB;;;OAGG;IACH,+BAAe,CAAA;IACf;;OAEG;IACH,iCAAiB,CAAA;IACjB;;OAEG;IACH,iCAAiB,CAAA;IACjB;;;OAGG;IACH,2CAA2B,CAAA;AAC7B,CAAC,EAnBW,YAAY,KAAZ,YAAY,QAmBvB;AAED,MAAM,CAAN,IAAY,aAkBX;AAlBD,WAAY,aAAa;IACvB,yCAAyC;IACzC,uDAAsC,CAAA;IACtC,8CAA8C;IAC9C,+CAA8B,CAAA;IAC9B,0BAA0B;IAC1B,iDAAgC,CAAA;IAChC,sDAAsD;IACtD,yDAAyD;IACzD,uDAAsC,CAAA;IACtC,4DAA4D;IAC5D,yDAAyD;IACzD,+CAA8B,CAAA;IAC9B,2DAA2D;IAC3D,yDAAyD;IACzD,6CAA4B,CAAA;IAC5B,mCAAmC;IACnC,qDAAoC,CAAA;AACtC,CAAC,EAlBW,aAAa,KAAb,aAAa,QAkBxB;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACjB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAWD;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAsE;IAEtE,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,oBAAoB,CAAC,MAAM;YAC9B,OAAO,YAAY,CAAC,MAAM,CAAA;QAC5B,KAAK,oBAAoB,CAAC,MAAM;YAC9B,OAAO,YAAY,CAAC,MAAM,CAAA;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAClC,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/gossipsub",
3
- "version": "17.0.1",
3
+ "version": "17.1.0-cef4d32cf",
4
4
  "description": "A typescript implementation of gossipsub",
5
5
  "files": [
6
6
  "src",
@@ -79,11 +79,11 @@
79
79
  },
80
80
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/gossipsub#readme",
81
81
  "dependencies": {
82
- "@libp2p/crypto": "^5.1.23",
83
- "@libp2p/interface": "^3.3.0",
84
- "@libp2p/interface-internal": "^3.1.12",
85
- "@libp2p/peer-id": "^6.0.15",
86
- "@libp2p/utils": "^7.4.0",
82
+ "@libp2p/crypto": "5.1.23-cef4d32cf",
83
+ "@libp2p/interface": "3.3.0-cef4d32cf",
84
+ "@libp2p/interface-internal": "3.1.12-cef4d32cf",
85
+ "@libp2p/peer-id": "6.0.15-cef4d32cf",
86
+ "@libp2p/utils": "7.4.0-cef4d32cf",
87
87
  "@multiformats/multiaddr": "^13.0.3",
88
88
  "denque": "^2.1.0",
89
89
  "it-length-prefixed": "^11.0.1",
@@ -96,9 +96,9 @@
96
96
  },
97
97
  "devDependencies": {
98
98
  "@chainsafe/as-sha256": "^1.2.0",
99
- "@libp2p/floodsub": "^11.0.29",
100
- "@libp2p/logger": "^6.2.13",
101
- "@libp2p/peer-store": "^12.0.27",
99
+ "@libp2p/floodsub": "11.0.29-cef4d32cf",
100
+ "@libp2p/logger": "6.2.13-cef4d32cf",
101
+ "@libp2p/peer-store": "12.0.27-cef4d32cf",
102
102
  "@types/benchmark": "^2.1.5",
103
103
  "@types/sinon": "^22.0.0",
104
104
  "abortable-iterator": "^5.1.0",
package/src/constants.ts CHANGED
@@ -25,6 +25,60 @@ export const GossipsubIDv11 = '/meshsub/1.1.0'
25
25
  */
26
26
  export const GossipsubIDv12 = '/meshsub/1.2.0'
27
27
 
28
+ /**
29
+ * An ordered ladder of gossipsub protocol IDs, oldest to newest. Each version is a
30
+ * superset of the one before it, so a protocol's position on the ladder determines
31
+ * which features it supports - see `protocolSupportsFeature`.
32
+ *
33
+ * New protocol versions must be appended to the end of this list.
34
+ */
35
+ const versionLadder = [GossipsubIDv10, GossipsubIDv11, GossipsubIDv12] as const
36
+
37
+ export type GossipsubVersion = (typeof versionLadder)[number]
38
+
39
+ export const GossipsubVersionLadder: readonly string[] = versionLadder
40
+
41
+ /**
42
+ * Gossipsub protocol features that are only available from a minimum protocol version
43
+ * onward. Used with `protocolSupportsFeature` to gate version-dependent behavior on the
44
+ * protocol negotiated with a peer, instead of comparing protocol IDs for equality.
45
+ */
46
+ export enum GossipsubFeature {
47
+ /**
48
+ * PRUNE messages carry backoff and peer exchange info (gossipsub v1.1+)
49
+ */
50
+ Backoff = 'Backoff',
51
+ /**
52
+ * IDONTWANT control messages (gossipsub v1.2+)
53
+ */
54
+ IDontWant = 'IDontWant'
55
+ }
56
+
57
+ const featureMinimumProtocol: Record<GossipsubFeature, GossipsubVersion> = {
58
+ [GossipsubFeature.Backoff]: GossipsubIDv11,
59
+ [GossipsubFeature.IDontWant]: GossipsubIDv12
60
+ }
61
+
62
+ /**
63
+ * Returns true when `protocol` is a gossipsub version that supports `feature` - that is,
64
+ * when it sits at or above the feature's minimum version on the `GossipsubVersionLadder`.
65
+ *
66
+ * Protocols not on the ladder (floodsub, unknown protocols) support no features.
67
+ */
68
+ export function protocolSupportsFeature (protocol: string | undefined, feature: GossipsubFeature): boolean {
69
+ if (protocol == null) {
70
+ return false
71
+ }
72
+
73
+ const protocolIndex = GossipsubVersionLadder.indexOf(protocol)
74
+
75
+ if (protocolIndex === -1) {
76
+ return false
77
+ }
78
+
79
+ return protocolIndex >= GossipsubVersionLadder.indexOf(featureMinimumProtocol[feature])
80
+ }
81
+
28
82
  // Overlay parameters
29
83
 
30
84
  /**
package/src/gossipsub.ts CHANGED
@@ -18,6 +18,7 @@ import { MessageCache } from './message-cache.ts'
18
18
  import {
19
19
  ChurnReason,
20
20
  getMetrics,
21
+ IDontWantSkipPath,
21
22
  IHaveIgnoreReason,
22
23
  InclusionReason,
23
24
 
@@ -106,7 +107,7 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
106
107
  * The signature policy to follow by default
107
108
  */
108
109
  public readonly globalSignaturePolicy: typeof StrictSign | typeof StrictNoSign
109
- public protocols: string[] = [constants.GossipsubIDv12, constants.GossipsubIDv11, constants.GossipsubIDv10]
110
+ public protocols: string[] = [...constants.GossipsubVersionLadder].reverse()
110
111
 
111
112
  private publishConfig: PublishConfig | undefined
112
113
 
@@ -250,7 +251,9 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
250
251
  private readonly idontwantCounts = new Map<PeerIdStr, number>()
251
252
 
252
253
  /**
253
- * Tracks IDONTWANT messages received by peers and the heartbeat they were received in
254
+ * Tracks IDONTWANT messages received by peers and the heartbeat they were received in.
255
+ * Message sends in the forward (per the v1.2 spec) and IWANT response paths are
256
+ * skipped for peers with an entry here.
254
257
  *
255
258
  * idontwants are stored for `mcacheLength` heartbeats before being pruned,
256
259
  * so this map is bounded by peerCount * idontwantMaxMessages * mcacheLength
@@ -1476,12 +1479,18 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
1476
1479
  processed++
1477
1480
 
1478
1481
  const msgIdStr = this.msgIdToStrFn(msgId)
1482
+
1479
1483
  const entry = this.mcache.getWithIWantCount(msgIdStr, id)
1480
1484
  if (entry == null) {
1481
1485
  iwantDonthave++
1482
1486
  continue
1483
1487
  }
1484
1488
 
1489
+ if (this.idontwants.get(id)?.has(msgIdStr) === true) {
1490
+ this.metrics?.onIdontwantSkippedSend(IDontWantSkipPath.iwant)
1491
+ continue
1492
+ }
1493
+
1485
1494
  iwantByTopic.set(entry.msg.topic, 1 + (iwantByTopic.get(entry.msg.topic) ?? 0))
1486
1495
 
1487
1496
  if (entry.count > constants.GossipsubGossipRetransmission) {
@@ -1993,7 +2002,7 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
1993
2002
  return tosend
1994
2003
  }
1995
2004
 
1996
- private selectPeersToPublish (topic: TopicStr): {
2005
+ private selectPeersToPublish (topic: TopicStr, floodPublish?: boolean): {
1997
2006
  tosend: Set<PeerIdStr>
1998
2007
  tosendCount: ToSendGroupCount
1999
2008
  } {
@@ -2009,7 +2018,8 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
2009
2018
  if (peersInTopic != null) {
2010
2019
  // flood-publish behavior
2011
2020
  // send to direct peers and _all_ peers meeting the publishThreshold
2012
- if (this.opts.floodPublish) {
2021
+ // per-publish opt takes precedence over the global opt, while preserving a false value
2022
+ if (floodPublish ?? this.opts.floodPublish) {
2013
2023
  peersInTopic.forEach((id) => {
2014
2024
  if (this.direct.has(id)) {
2015
2025
  tosend.add(id)
@@ -2121,6 +2131,13 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
2121
2131
 
2122
2132
  // forward the message to peers
2123
2133
  tosend.forEach((id) => {
2134
+ // skip peers that told us they already have the message
2135
+ if (this.idontwants.get(id)?.has(msgIdStr) === true) {
2136
+ tosend.delete(id)
2137
+ this.metrics?.onIdontwantSkippedSend(IDontWantSkipPath.forward)
2138
+ return
2139
+ }
2140
+
2124
2141
  // sendRpc may mutate RPC message on piggyback, create a new message for each peer
2125
2142
  this.sendRpc(id, createGossipRpc([rawMsg]))
2126
2143
  })
@@ -2162,7 +2179,7 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
2162
2179
  throw Error('PublishError.Duplicate')
2163
2180
  }
2164
2181
 
2165
- const { tosend, tosendCount } = this.selectPeersToPublish(topic)
2182
+ const { tosend, tosendCount } = this.selectPeersToPublish(topic, opts?.floodPublish)
2166
2183
  const willSendToSelf = this.opts.emitSelf && this.subscriptions.has(topic)
2167
2184
 
2168
2185
  // Current publish opt takes precedence global opts, while preserving false value
@@ -2385,11 +2402,11 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
2385
2402
 
2386
2403
  // don't send IDONTWANT to:
2387
2404
  // - the source
2388
- // - peers that don't support v1.2
2405
+ // - peers whose negotiated protocol doesn't support IDONTWANT
2389
2406
  const tosend = new Set(ids)
2390
2407
  tosend.delete(source)
2391
2408
  for (const id of tosend) {
2392
- if (this.streamsOutbound.get(id)?.protocol !== constants.GossipsubIDv12) {
2409
+ if (!constants.protocolSupportsFeature(this.streamsOutbound.get(id)?.protocol, constants.GossipsubFeature.IDontWant)) {
2393
2410
  tosend.delete(id)
2394
2411
  }
2395
2412
  }
@@ -2620,7 +2637,7 @@ export class GossipSub extends TypedEventEmitter<GossipSubEvents> implements Typ
2620
2637
  onUnsubscribe: boolean
2621
2638
  ): Promise<RPC.ControlPrune> {
2622
2639
  this.score.prune(id, topic)
2623
- if (this.streamsOutbound.get(id)?.protocol === constants.GossipsubIDv10) {
2640
+ if (!constants.protocolSupportsFeature(this.streamsOutbound.get(id)?.protocol, constants.GossipsubFeature.Backoff)) {
2624
2641
  // Gossipsub v1.0 -- no backoff, the peer won't be able to parse it anyway
2625
2642
  return {
2626
2643
  topicID: topic,
package/src/metrics.ts CHANGED
@@ -104,6 +104,11 @@ export enum IHaveIgnoreReason {
104
104
  MaxIasked = 'max_iasked'
105
105
  }
106
106
 
107
+ export enum IDontWantSkipPath {
108
+ forward = 'forward',
109
+ iwant = 'iwant'
110
+ }
111
+
107
112
  export enum ScoreThreshold {
108
113
  graylist = 'graylist',
109
114
  publish = 'publish',
@@ -612,6 +617,12 @@ export function getMetrics (
612
617
  name: 'gossipsub_idontwant_rcv_dont_have_msgids_total',
613
618
  help: 'Total received IDONTWANT messageIDs that we do not have in mcache'
614
619
  }),
620
+ /** Total message sends skipped because the peer sent us IDONTWANT for that message */
621
+ idontwantSkippedSends: register.gauge<{ on: IDontWantSkipPath }>({
622
+ name: 'gossipsub_idontwant_skipped_sends_total',
623
+ help: 'Total message sends skipped because the peer sent IDONTWANT for the message',
624
+ labelNames: ['on']
625
+ }),
615
626
  iwantPromiseStarted: register.gauge({
616
627
  name: 'gossipsub_iwant_promise_sent_total',
617
628
  help: 'Total count of started IWANT promises'
@@ -833,6 +844,10 @@ export function getMetrics (
833
844
  this.idontwantRcvDonthaveMsgids.inc(idontwantDonthave)
834
845
  },
835
846
 
847
+ onIdontwantSkippedSend (on: IDontWantSkipPath): void {
848
+ this.idontwantSkippedSends.inc({ on }, 1)
849
+ },
850
+
836
851
  onForwardMsg (topicStr: TopicStr, tosendCount: number): void {
837
852
  const topic = this.toTopic(topicStr)
838
853
  this.msgForwardCount.inc({ topic }, 1)
package/src/types.ts CHANGED
@@ -85,6 +85,12 @@ export interface PublishOpts {
85
85
  ignoreDuplicatePublishError?: boolean
86
86
  /** serialize message once and send to all peers without control messages */
87
87
  batchPublish?: boolean
88
+ /**
89
+ * Flood publish this message to every subscribed peer above the publish threshold,
90
+ * overriding the global `floodPublish` option for this call only. Preserves a `false`
91
+ * value, so it can also disable flood publishing per message.
92
+ */
93
+ floodPublish?: boolean
88
94
  }
89
95
 
90
96
  export enum PublishConfigType {