@libp2p/gossipsub 15.0.20 → 15.0.21-bd9e02dad

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":"buildRawMessage.d.ts","sourceRoot":"","sources":["../../../src/utils/buildRawMessage.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG1D,eAAO,MAAM,UAAU,6BAAyC,CAAA;AAEhE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAA;CACb;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,QAAQ,EACf,YAAY,EAAE,UAAU,EACxB,eAAe,EAAE,UAAU,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAuD/B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAA;AAEzG,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,OAAO,YAAY,GAAG,OAAO,UAAU,EACxD,GAAG,EAAE,GAAG,CAAC,OAAO,GACf,OAAO,CAAC,gBAAgB,CAAC,CAqF3B"}
1
+ {"version":3,"file":"buildRawMessage.d.ts","sourceRoot":"","sources":["../../../src/utils/buildRawMessage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG1D,eAAO,MAAM,UAAU,6BAAyC,CAAA;AAgBhE,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAA;IAChB,GAAG,EAAE,OAAO,CAAA;CACb;AAED,wBAAsB,eAAe,CACnC,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,QAAQ,EACf,YAAY,EAAE,UAAU,EACxB,eAAe,EAAE,UAAU,GAC1B,OAAO,CAAC,oBAAoB,CAAC,CAuD/B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAA;AAEzG,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,OAAO,YAAY,GAAG,OAAO,UAAU,EACxD,GAAG,EAAE,GAAG,CAAC,OAAO,GACf,OAAO,CAAC,gBAAgB,CAAC,CAqF3B"}
@@ -1,4 +1,3 @@
1
- import { randomBytes } from '@libp2p/crypto';
2
1
  import { publicKeyFromProtobuf } from '@libp2p/crypto/keys';
3
2
  import { peerIdFromMultihash } from '@libp2p/peer-id';
4
3
  import * as Digest from 'multiformats/hashes/digest';
@@ -9,13 +8,25 @@ import { StrictSign, StrictNoSign } from "../index.js";
9
8
  import { RPC } from '../message/rpc.js';
10
9
  import { PublishConfigType, ValidateError } from '../types.js';
11
10
  export const SignPrefix = uint8ArrayFromString('libp2p-pubsub:');
11
+ // Monotonic seqno counter seeded from the wall clock in nanoseconds, matching
12
+ // go-libp2p-pubsub and rust-libp2p. The pubsub spec requires a "linearly
13
+ // increasing 64-bit big-endian uint" seqno, and kubo's BasicSeqnoValidator
14
+ // (default since kubo 0.40) drops messages whose seqno isn't strictly greater
15
+ // than the previously-seen max from that peer.
16
+ let seqnoCounter = BigInt(Date.now()) * 1000000n;
17
+ function nextSeqno() {
18
+ const v = ++seqnoCounter;
19
+ const out = new Uint8Array(8);
20
+ new DataView(out.buffer).setBigUint64(0, v, false);
21
+ return out;
22
+ }
12
23
  export async function buildRawMessage(publishConfig, topic, originalData, transformedData) {
13
24
  switch (publishConfig.type) {
14
25
  case PublishConfigType.Signing: {
15
26
  const rpcMsg = {
16
27
  from: publishConfig.author.toMultihash().bytes,
17
28
  data: transformedData,
18
- seqno: randomBytes(8),
29
+ seqno: nextSeqno(),
19
30
  topic,
20
31
  signature: undefined, // Exclude signature field for signing
21
32
  key: undefined // Exclude key field for signing
@@ -1 +1 @@
1
- {"version":3,"file":"buildRawMessage.js","sourceRoot":"","sources":["../../../src/utils/buildRawMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildRawMessage.js","sourceRoot":"","sources":["../../../src/utils/buildRawMessage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/gossipsub",
3
- "version": "15.0.20",
3
+ "version": "15.0.21-bd9e02dad",
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.17",
83
- "@libp2p/interface": "^3.2.2",
84
- "@libp2p/interface-internal": "^3.1.3",
85
- "@libp2p/peer-id": "^6.0.8",
86
- "@libp2p/utils": "^7.1.0",
82
+ "@libp2p/crypto": "5.1.17-bd9e02dad",
83
+ "@libp2p/interface": "3.2.2-bd9e02dad",
84
+ "@libp2p/interface-internal": "3.1.3-bd9e02dad",
85
+ "@libp2p/peer-id": "6.0.8-bd9e02dad",
86
+ "@libp2p/utils": "7.1.0-bd9e02dad",
87
87
  "@multiformats/multiaddr": "^13.0.1",
88
88
  "denque": "^2.1.0",
89
89
  "it-length-prefixed": "^10.0.1",
@@ -97,9 +97,9 @@
97
97
  "devDependencies": {
98
98
  "@chainsafe/as-sha256": "^1.2.0",
99
99
  "@dapplion/benchmark": "^1.0.0",
100
- "@libp2p/floodsub": "^11.0.19",
101
- "@libp2p/logger": "^6.2.6",
102
- "@libp2p/peer-store": "^12.0.18",
100
+ "@libp2p/floodsub": "11.0.19-bd9e02dad",
101
+ "@libp2p/logger": "6.2.6-bd9e02dad",
102
+ "@libp2p/peer-store": "12.0.18-bd9e02dad",
103
103
  "@types/node": "^22.18.1",
104
104
  "@types/sinon": "^21.0.1",
105
105
  "abortable-iterator": "^5.1.0",
@@ -1,4 +1,3 @@
1
- import { randomBytes } from '@libp2p/crypto'
2
1
  import { publicKeyFromProtobuf } from '@libp2p/crypto/keys'
3
2
  import { peerIdFromMultihash } from '@libp2p/peer-id'
4
3
  import * as Digest from 'multiformats/hashes/digest'
@@ -14,6 +13,20 @@ import type { PublicKey, PeerId } from '@libp2p/interface'
14
13
 
15
14
  export const SignPrefix = uint8ArrayFromString('libp2p-pubsub:')
16
15
 
16
+ // Monotonic seqno counter seeded from the wall clock in nanoseconds, matching
17
+ // go-libp2p-pubsub and rust-libp2p. The pubsub spec requires a "linearly
18
+ // increasing 64-bit big-endian uint" seqno, and kubo's BasicSeqnoValidator
19
+ // (default since kubo 0.40) drops messages whose seqno isn't strictly greater
20
+ // than the previously-seen max from that peer.
21
+ let seqnoCounter = BigInt(Date.now()) * 1_000_000n
22
+
23
+ function nextSeqno (): Uint8Array {
24
+ const v = ++seqnoCounter
25
+ const out = new Uint8Array(8)
26
+ new DataView(out.buffer).setBigUint64(0, v, false)
27
+ return out
28
+ }
29
+
17
30
  export interface RawMessageAndMessage {
18
31
  raw: RPC.Message
19
32
  msg: Message
@@ -30,7 +43,7 @@ export async function buildRawMessage (
30
43
  const rpcMsg: RPC.Message = {
31
44
  from: publishConfig.author.toMultihash().bytes,
32
45
  data: transformedData,
33
- seqno: randomBytes(8),
46
+ seqno: nextSeqno(),
34
47
  topic,
35
48
  signature: undefined, // Exclude signature field for signing
36
49
  key: undefined // Exclude key field for signing
@@ -1,195 +0,0 @@
1
- {
2
- "TopicValidatorResult": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub..TopicValidatorResult.html",
3
- ".:TopicValidatorResult": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub..TopicValidatorResult.html",
4
- "GossipSub": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipSub.html",
5
- ".:GossipSub": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipSub.html",
6
- "GossipSubComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipSubComponents.html",
7
- ".:GossipSubComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipSubComponents.html",
8
- "GossipSubEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipSubEvents.html",
9
- ".:GossipSubEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipSubEvents.html",
10
- "GossipsubMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipsubMessage.html",
11
- ".:GossipsubMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipsubMessage.html",
12
- "GossipsubOpts": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipsubOpts.html",
13
- ".:GossipsubOpts": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..GossipsubOpts.html",
14
- "MeshPeer": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..MeshPeer.html",
15
- ".:MeshPeer": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..MeshPeer.html",
16
- "PublishResult": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..PublishResult.html",
17
- ".:PublishResult": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..PublishResult.html",
18
- "SignedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..SignedMessage.html",
19
- ".:SignedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..SignedMessage.html",
20
- "Subscription": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..Subscription.html",
21
- ".:Subscription": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..Subscription.html",
22
- "SubscriptionChangeData": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..SubscriptionChangeData.html",
23
- ".:SubscriptionChangeData": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..SubscriptionChangeData.html",
24
- "TopicValidatorFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..TopicValidatorFn.html",
25
- ".:TopicValidatorFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..TopicValidatorFn.html",
26
- "UnsignedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..UnsignedMessage.html",
27
- ".:UnsignedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub..UnsignedMessage.html",
28
- "Message": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub..Message.html",
29
- ".:Message": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub..Message.html",
30
- "SignaturePolicy": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub..SignaturePolicy.html",
31
- ".:SignaturePolicy": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub..SignaturePolicy.html",
32
- "multicodec": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub..multicodec.html",
33
- ".:multicodec": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub..multicodec.html",
34
- "StrictNoSign": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub..StrictNoSign.html",
35
- ".:StrictNoSign": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub..StrictNoSign.html",
36
- "StrictSign": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub..StrictSign.html",
37
- ".:StrictSign": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub..StrictSign.html",
38
- "gossipsub": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub..gossipsub.html",
39
- ".:gossipsub": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub..gossipsub.html",
40
- "ControlGraftTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlGraft.ControlGraftTopicIDFieldEvent.html",
41
- "codec": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.message.RPC.ControlGraft.codec.html",
42
- "decode": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.message.RPC.ControlGraft.decode.html",
43
- "encode": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.message.RPC.ControlGraft.encode.html",
44
- "stream": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.message.RPC.ControlGraft.stream.html",
45
- "ControlIDontWantMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlIDontWant.ControlIDontWantMessageIDsFieldEvent.html",
46
- "ControlIHaveMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlIHave.ControlIHaveMessageIDsFieldEvent.html",
47
- "ControlIHaveTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlIHave.ControlIHaveTopicIDFieldEvent.html",
48
- "ControlIWantMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlIWant.ControlIWantMessageIDsFieldEvent.html",
49
- "ControlMessageGraftTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessageGraftTopicIDFieldEvent.html",
50
- "ControlMessageIdontwantMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessageIdontwantMessageIDsFieldEvent.html",
51
- "ControlMessageIhaveMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessageIhaveMessageIDsFieldEvent.html",
52
- "ControlMessageIhaveTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessageIhaveTopicIDFieldEvent.html",
53
- "ControlMessageIwantMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessageIwantMessageIDsFieldEvent.html",
54
- "ControlMessagePruneBackoffFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessagePruneBackoffFieldEvent.html",
55
- "ControlMessagePrunePeersPeerIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessagePrunePeersPeerIDFieldEvent.html",
56
- "ControlMessagePrunePeersSignedPeerRecordFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessagePrunePeersSignedPeerRecordFieldEvent.html",
57
- "ControlMessagePruneTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.ControlMessagePruneTopicIDFieldEvent.html",
58
- "ControlPruneBackoffFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlPrune.ControlPruneBackoffFieldEvent.html",
59
- "ControlPrunePeersPeerIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlPrune.ControlPrunePeersPeerIDFieldEvent.html",
60
- "ControlPrunePeersSignedPeerRecordFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlPrune.ControlPrunePeersSignedPeerRecordFieldEvent.html",
61
- "ControlPruneTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlPrune.ControlPruneTopicIDFieldEvent.html",
62
- "MessageDataFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.Message.MessageDataFieldEvent.html",
63
- "MessageFromFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.Message.MessageFromFieldEvent.html",
64
- "MessageKeyFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.Message.MessageKeyFieldEvent.html",
65
- "MessageSeqnoFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.Message.MessageSeqnoFieldEvent.html",
66
- "MessageSignatureFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.Message.MessageSignatureFieldEvent.html",
67
- "MessageTopicFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.Message.MessageTopicFieldEvent.html",
68
- "PeerInfoPeerIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.PeerInfo.PeerInfoPeerIDFieldEvent.html",
69
- "PeerInfoSignedPeerRecordFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.PeerInfo.PeerInfoSignedPeerRecordFieldEvent.html",
70
- "SubOptsSubscribeFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.SubOpts.SubOptsSubscribeFieldEvent.html",
71
- "SubOptsTopicFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.SubOpts.SubOptsTopicFieldEvent.html",
72
- "ControlGraft": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlGraft.html",
73
- "ControlIDontWant": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlIDontWant.html",
74
- "ControlIHave": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlIHave.html",
75
- "ControlIWant": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlIWant.html",
76
- "ControlMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlMessage.html",
77
- "ControlPrune": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.ControlPrune.html",
78
- "PeerInfo": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.PeerInfo.html",
79
- "RPCControlGraftTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlGraftTopicIDFieldEvent.html",
80
- "RPCControlIdontwantMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlIdontwantMessageIDsFieldEvent.html",
81
- "RPCControlIhaveMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlIhaveMessageIDsFieldEvent.html",
82
- "RPCControlIhaveTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlIhaveTopicIDFieldEvent.html",
83
- "RPCControlIwantMessageIDsFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlIwantMessageIDsFieldEvent.html",
84
- "RPCControlPruneBackoffFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlPruneBackoffFieldEvent.html",
85
- "RPCControlPrunePeersPeerIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlPrunePeersPeerIDFieldEvent.html",
86
- "RPCControlPrunePeersSignedPeerRecordFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlPrunePeersSignedPeerRecordFieldEvent.html",
87
- "RPCControlPruneTopicIDFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCControlPruneTopicIDFieldEvent.html",
88
- "RPCMessagesDataFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCMessagesDataFieldEvent.html",
89
- "RPCMessagesFromFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCMessagesFromFieldEvent.html",
90
- "RPCMessagesKeyFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCMessagesKeyFieldEvent.html",
91
- "RPCMessagesSeqnoFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCMessagesSeqnoFieldEvent.html",
92
- "RPCMessagesSignatureFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCMessagesSignatureFieldEvent.html",
93
- "RPCMessagesTopicFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCMessagesTopicFieldEvent.html",
94
- "RPCSubscriptionsSubscribeFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCSubscriptionsSubscribeFieldEvent.html",
95
- "RPCSubscriptionsTopicFieldEvent": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.RPCSubscriptionsTopicFieldEvent.html",
96
- "SubOpts": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.SubOpts.html",
97
- "RPC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.message.RPC.html",
98
- "ChurnReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.ChurnReason.html",
99
- "./metrics:ChurnReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.ChurnReason.html",
100
- "IHaveIgnoreReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.IHaveIgnoreReason.html",
101
- "./metrics:IHaveIgnoreReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.IHaveIgnoreReason.html",
102
- "InclusionReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.InclusionReason.html",
103
- "./metrics:InclusionReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.InclusionReason.html",
104
- "MessageSource": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.MessageSource.html",
105
- "./metrics:MessageSource": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.MessageSource.html",
106
- "ScorePenalty": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.ScorePenalty.html",
107
- "./metrics:ScorePenalty": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.ScorePenalty.html",
108
- "ScoreThreshold": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.ScoreThreshold.html",
109
- "./metrics:ScoreThreshold": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.metrics.ScoreThreshold.html",
110
- "AvgMinMax": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.AvgMinMax.html",
111
- "./metrics:AvgMinMax": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.AvgMinMax.html",
112
- "Gauge": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.Gauge.html",
113
- "./metrics:Gauge": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.Gauge.html",
114
- "Histogram": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.Histogram.html",
115
- "./metrics:Histogram": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.Histogram.html",
116
- "MetricsRegister": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.MetricsRegister.html",
117
- "./metrics:MetricsRegister": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.MetricsRegister.html",
118
- "ScoreWeights": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.ScoreWeights.html",
119
- "./metrics:ScoreWeights": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.ScoreWeights.html",
120
- "ToAddGroupCount": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.ToAddGroupCount.html",
121
- "./metrics:ToAddGroupCount": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.ToAddGroupCount.html",
122
- "TopicScoreWeights": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.TopicScoreWeights.html",
123
- "./metrics:TopicScoreWeights": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.TopicScoreWeights.html",
124
- "ToSendGroupCount": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.ToSendGroupCount.html",
125
- "./metrics:ToSendGroupCount": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.metrics.ToSendGroupCount.html",
126
- "AvgMinMaxConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.AvgMinMaxConfig.html",
127
- "./metrics:AvgMinMaxConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.AvgMinMaxConfig.html",
128
- "GaugeConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.GaugeConfig.html",
129
- "./metrics:GaugeConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.GaugeConfig.html",
130
- "HistogramConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.HistogramConfig.html",
131
- "./metrics:HistogramConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.HistogramConfig.html",
132
- "Metrics": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.Metrics.html",
133
- "./metrics:Metrics": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.Metrics.html",
134
- "PeersByScoreThreshold": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.PeersByScoreThreshold.html",
135
- "./metrics:PeersByScoreThreshold": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.PeersByScoreThreshold.html",
136
- "PromiseDeliveredStats": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.PromiseDeliveredStats.html",
137
- "./metrics:PromiseDeliveredStats": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.PromiseDeliveredStats.html",
138
- "TopicLabel": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.TopicLabel.html",
139
- "./metrics:TopicLabel": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.TopicLabel.html",
140
- "TopicStrToLabel": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.TopicStrToLabel.html",
141
- "./metrics:TopicStrToLabel": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.metrics.TopicStrToLabel.html",
142
- "getMetrics": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.metrics.getMetrics.html",
143
- "./metrics:getMetrics": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.metrics.getMetrics.html",
144
- "PeerScore": "https://libp2p.github.io/js-libp2p/classes/_libp2p_gossipsub.score.PeerScore.html",
145
- "PeerScoreParams": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.score.PeerScoreParams.html",
146
- "PeerScoreThresholds": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.score.PeerScoreThresholds.html",
147
- "TopicScoreParams": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.score.TopicScoreParams.html",
148
- "PeerScoreStatsDump": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.score.PeerScoreStatsDump.html",
149
- "defaultPeerScoreParams": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub.score.defaultPeerScoreParams.html",
150
- "defaultPeerScoreThresholds": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub.score.defaultPeerScoreThresholds.html",
151
- "defaultTopicScoreParams": "https://libp2p.github.io/js-libp2p/variables/_libp2p_gossipsub.score.defaultTopicScoreParams.html",
152
- "createPeerScoreParams": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.score.createPeerScoreParams.html",
153
- "createPeerScoreThresholds": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.score.createPeerScoreThresholds.html",
154
- "createTopicScoreParams": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.score.createTopicScoreParams.html",
155
- "validatePeerScoreParams": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.score.validatePeerScoreParams.html",
156
- "validatePeerScoreThresholds": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.score.validatePeerScoreThresholds.html",
157
- "validateTopicScoreParams": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.score.validateTopicScoreParams.html",
158
- "MessageStatus": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.MessageStatus.html",
159
- "./types:MessageStatus": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.MessageStatus.html",
160
- "PublishConfigType": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.PublishConfigType.html",
161
- "./types:PublishConfigType": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.PublishConfigType.html",
162
- "RejectReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.RejectReason.html",
163
- "./types:RejectReason": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.RejectReason.html",
164
- "./types:SignaturePolicy": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.SignaturePolicy.html",
165
- "ValidateError": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.ValidateError.html",
166
- "./types:ValidateError": "https://libp2p.github.io/js-libp2p/enums/_libp2p_gossipsub.types.ValidateError.html",
167
- "AddrInfo": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.AddrInfo.html",
168
- "./types:AddrInfo": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.AddrInfo.html",
169
- "DataTransform": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.DataTransform.html",
170
- "./types:DataTransform": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.DataTransform.html",
171
- "FastMsgIdFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.FastMsgIdFn.html",
172
- "./types:FastMsgIdFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.FastMsgIdFn.html",
173
- "MessageId": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.MessageId.html",
174
- "./types:MessageId": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.MessageId.html",
175
- "MsgIdFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.MsgIdFn.html",
176
- "./types:MsgIdFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.MsgIdFn.html",
177
- "MsgIdToStrFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.MsgIdToStrFn.html",
178
- "./types:MsgIdToStrFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.MsgIdToStrFn.html",
179
- "PublishOpts": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.PublishOpts.html",
180
- "./types:PublishOpts": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_gossipsub.types.PublishOpts.html",
181
- "IPStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.IPStr.html",
182
- "./types:IPStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.IPStr.html",
183
- "MsgIdStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.MsgIdStr.html",
184
- "./types:MsgIdStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.MsgIdStr.html",
185
- "PeerIdStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.PeerIdStr.html",
186
- "./types:PeerIdStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.PeerIdStr.html",
187
- "PublishConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.PublishConfig.html",
188
- "./types:PublishConfig": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.PublishConfig.html",
189
- "RejectReasonObj": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.RejectReasonObj.html",
190
- "./types:RejectReasonObj": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.RejectReasonObj.html",
191
- "TopicStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.TopicStr.html",
192
- "./types:TopicStr": "https://libp2p.github.io/js-libp2p/types/_libp2p_gossipsub.types.TopicStr.html",
193
- "rejectReasonFromAcceptance": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.types.rejectReasonFromAcceptance.html",
194
- "./types:rejectReasonFromAcceptance": "https://libp2p.github.io/js-libp2p/functions/_libp2p_gossipsub.types.rejectReasonFromAcceptance.html"
195
- }