@libp2p/gossipsub 14.1.1-6059227cb
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.
- package/README.md +85 -0
- package/dist/index.min.js +19 -0
- package/dist/index.min.js.map +7 -0
- package/dist/src/config.d.ts +32 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +2 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/constants.d.ts +213 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +217 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/errors.d.ts +9 -0
- package/dist/src/errors.d.ts.map +1 -0
- package/dist/src/errors.js +15 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/gossipsub.d.ts +419 -0
- package/dist/src/gossipsub.d.ts.map +1 -0
- package/dist/src/gossipsub.js +2520 -0
- package/dist/src/gossipsub.js.map +1 -0
- package/dist/src/index.d.ts +344 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +43 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/message/decodeRpc.d.ts +11 -0
- package/dist/src/message/decodeRpc.d.ts.map +1 -0
- package/dist/src/message/decodeRpc.js +10 -0
- package/dist/src/message/decodeRpc.js.map +1 -0
- package/dist/src/message/index.d.ts +2 -0
- package/dist/src/message/index.d.ts.map +1 -0
- package/dist/src/message/index.js +2 -0
- package/dist/src/message/index.js.map +1 -0
- package/dist/src/message/rpc.d.ts +99 -0
- package/dist/src/message/rpc.d.ts.map +1 -0
- package/dist/src/message/rpc.js +663 -0
- package/dist/src/message/rpc.js.map +1 -0
- package/dist/src/message-cache.d.ts +80 -0
- package/dist/src/message-cache.d.ts.map +1 -0
- package/dist/src/message-cache.js +144 -0
- package/dist/src/message-cache.js.map +1 -0
- package/dist/src/metrics.d.ts +467 -0
- package/dist/src/metrics.d.ts.map +1 -0
- package/dist/src/metrics.js +896 -0
- package/dist/src/metrics.js.map +1 -0
- package/dist/src/score/compute-score.d.ts +4 -0
- package/dist/src/score/compute-score.d.ts.map +1 -0
- package/dist/src/score/compute-score.js +75 -0
- package/dist/src/score/compute-score.js.map +1 -0
- package/dist/src/score/index.d.ts +4 -0
- package/dist/src/score/index.d.ts.map +1 -0
- package/dist/src/score/index.js +4 -0
- package/dist/src/score/index.js.map +1 -0
- package/dist/src/score/message-deliveries.d.ts +45 -0
- package/dist/src/score/message-deliveries.d.ts.map +1 -0
- package/dist/src/score/message-deliveries.js +75 -0
- package/dist/src/score/message-deliveries.js.map +1 -0
- package/dist/src/score/peer-score-params.d.ts +125 -0
- package/dist/src/score/peer-score-params.d.ts.map +1 -0
- package/dist/src/score/peer-score-params.js +159 -0
- package/dist/src/score/peer-score-params.js.map +1 -0
- package/dist/src/score/peer-score-thresholds.d.ts +31 -0
- package/dist/src/score/peer-score-thresholds.d.ts.map +1 -0
- package/dist/src/score/peer-score-thresholds.js +32 -0
- package/dist/src/score/peer-score-thresholds.js.map +1 -0
- package/dist/src/score/peer-score.d.ts +119 -0
- package/dist/src/score/peer-score.d.ts.map +1 -0
- package/dist/src/score/peer-score.js +459 -0
- package/dist/src/score/peer-score.js.map +1 -0
- package/dist/src/score/peer-stats.d.ts +32 -0
- package/dist/src/score/peer-stats.d.ts.map +1 -0
- package/dist/src/score/peer-stats.js +2 -0
- package/dist/src/score/peer-stats.js.map +1 -0
- package/dist/src/score/scoreMetrics.d.ts +23 -0
- package/dist/src/score/scoreMetrics.d.ts.map +1 -0
- package/dist/src/score/scoreMetrics.js +155 -0
- package/dist/src/score/scoreMetrics.js.map +1 -0
- package/dist/src/stream.d.ts +30 -0
- package/dist/src/stream.d.ts.map +1 -0
- package/dist/src/stream.js +55 -0
- package/dist/src/stream.js.map +1 -0
- package/dist/src/tracer.d.ts +53 -0
- package/dist/src/tracer.d.ts.map +1 -0
- package/dist/src/tracer.js +155 -0
- package/dist/src/tracer.js.map +1 -0
- package/dist/src/types.d.ts +148 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +90 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/buildRawMessage.d.ts +20 -0
- package/dist/src/utils/buildRawMessage.d.ts.map +1 -0
- package/dist/src/utils/buildRawMessage.js +151 -0
- package/dist/src/utils/buildRawMessage.js.map +1 -0
- package/dist/src/utils/create-gossip-rpc.d.ts +7 -0
- package/dist/src/utils/create-gossip-rpc.d.ts.map +1 -0
- package/dist/src/utils/create-gossip-rpc.js +31 -0
- package/dist/src/utils/create-gossip-rpc.js.map +1 -0
- package/dist/src/utils/index.d.ts +4 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +4 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/messageIdToString.d.ts +5 -0
- package/dist/src/utils/messageIdToString.d.ts.map +1 -0
- package/dist/src/utils/messageIdToString.js +8 -0
- package/dist/src/utils/messageIdToString.js.map +1 -0
- package/dist/src/utils/msgIdFn.d.ts +10 -0
- package/dist/src/utils/msgIdFn.d.ts.map +1 -0
- package/dist/src/utils/msgIdFn.js +23 -0
- package/dist/src/utils/msgIdFn.js.map +1 -0
- package/dist/src/utils/multiaddr.d.ts +3 -0
- package/dist/src/utils/multiaddr.d.ts.map +1 -0
- package/dist/src/utils/multiaddr.js +15 -0
- package/dist/src/utils/multiaddr.js.map +1 -0
- package/dist/src/utils/publishConfig.d.ts +8 -0
- package/dist/src/utils/publishConfig.d.ts.map +1 -0
- package/dist/src/utils/publishConfig.js +25 -0
- package/dist/src/utils/publishConfig.js.map +1 -0
- package/dist/src/utils/set.d.ts +14 -0
- package/dist/src/utils/set.d.ts.map +1 -0
- package/dist/src/utils/set.js +41 -0
- package/dist/src/utils/set.js.map +1 -0
- package/dist/src/utils/shuffle.d.ts +7 -0
- package/dist/src/utils/shuffle.d.ts.map +1 -0
- package/dist/src/utils/shuffle.js +21 -0
- package/dist/src/utils/shuffle.js.map +1 -0
- package/dist/src/utils/time-cache.d.ts +22 -0
- package/dist/src/utils/time-cache.d.ts.map +1 -0
- package/dist/src/utils/time-cache.js +54 -0
- package/dist/src/utils/time-cache.js.map +1 -0
- package/package.json +142 -0
- package/src/config.ts +31 -0
- package/src/constants.ts +261 -0
- package/src/errors.ts +17 -0
- package/src/gossipsub.ts +3061 -0
- package/src/index.ts +404 -0
- package/src/message/decodeRpc.ts +19 -0
- package/src/message/index.ts +1 -0
- package/src/message/rpc.proto +58 -0
- package/src/message/rpc.ts +848 -0
- package/src/message-cache.ts +196 -0
- package/src/metrics.ts +1014 -0
- package/src/score/compute-score.ts +98 -0
- package/src/score/index.ts +3 -0
- package/src/score/message-deliveries.ts +95 -0
- package/src/score/peer-score-params.ts +316 -0
- package/src/score/peer-score-thresholds.ts +70 -0
- package/src/score/peer-score.ts +565 -0
- package/src/score/peer-stats.ts +33 -0
- package/src/score/scoreMetrics.ts +215 -0
- package/src/stream.ts +79 -0
- package/src/tracer.ts +177 -0
- package/src/types.ts +178 -0
- package/src/utils/buildRawMessage.ts +174 -0
- package/src/utils/create-gossip-rpc.ts +34 -0
- package/src/utils/index.ts +3 -0
- package/src/utils/messageIdToString.ts +8 -0
- package/src/utils/msgIdFn.ts +24 -0
- package/src/utils/multiaddr.ts +19 -0
- package/src/utils/publishConfig.ts +33 -0
- package/src/utils/set.ts +43 -0
- package/src/utils/shuffle.ts +21 -0
- package/src/utils/time-cache.ts +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../src/gossipsub.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
import { MessageCache } from './message-cache.js';
|
|
2
|
+
import type { GossipsubOptsSpec } from './config.js';
|
|
3
|
+
import type { DecodeRPCLimits } from './message/decodeRpc.js';
|
|
4
|
+
import type { MetricsRegister, TopicStrToLabel } from './metrics.js';
|
|
5
|
+
import type { PeerScoreParams, PeerScoreThresholds } from './score/index.js';
|
|
6
|
+
import type { MsgIdFn, MsgIdStr, FastMsgIdFn, AddrInfo, DataTransform, MsgIdToStrFn } from './types.js';
|
|
7
|
+
import type { PeerId, PeerStore, ComponentLogger, PrivateKey, PublicKey, TypedEventTarget, MessageStreamDirection } from '@libp2p/interface';
|
|
8
|
+
import type { ConnectionManager, Registrar } from '@libp2p/interface-internal';
|
|
9
|
+
/**
|
|
10
|
+
* On the producing side:
|
|
11
|
+
* - Build messages with the signature, key (from may be enough for certain inlineable public key types), from and seqno fields.
|
|
12
|
+
*
|
|
13
|
+
* On the consuming side:
|
|
14
|
+
* - Enforce the fields to be present, reject otherwise.
|
|
15
|
+
* - Propagate only if the fields are valid and signature can be verified, reject otherwise.
|
|
16
|
+
*/
|
|
17
|
+
export declare const StrictSign = "StrictSign";
|
|
18
|
+
/**
|
|
19
|
+
* On the producing side:
|
|
20
|
+
* - Build messages without the signature, key, from and seqno fields.
|
|
21
|
+
* - The corresponding protobuf key-value pairs are absent from the marshaled message, not just empty.
|
|
22
|
+
*
|
|
23
|
+
* On the consuming side:
|
|
24
|
+
* - Enforce the fields to be absent, reject otherwise.
|
|
25
|
+
* - Propagate only if the fields are absent, reject otherwise.
|
|
26
|
+
* - A message_id function will not be able to use the above fields, and should instead rely on the data field. A commonplace strategy is to calculate a hash.
|
|
27
|
+
*/
|
|
28
|
+
export declare const StrictNoSign = "StrictNoSign";
|
|
29
|
+
export type SignaturePolicy = typeof StrictSign | typeof StrictNoSign;
|
|
30
|
+
export declare enum TopicValidatorResult {
|
|
31
|
+
/**
|
|
32
|
+
* The message is considered valid, and it should be delivered and forwarded to the network
|
|
33
|
+
*/
|
|
34
|
+
Accept = "accept",
|
|
35
|
+
/**
|
|
36
|
+
* The message is neither delivered nor forwarded to the network
|
|
37
|
+
*/
|
|
38
|
+
Ignore = "ignore",
|
|
39
|
+
/**
|
|
40
|
+
* The message is considered invalid, and it should be rejected
|
|
41
|
+
*/
|
|
42
|
+
Reject = "reject"
|
|
43
|
+
}
|
|
44
|
+
export interface SignedMessage {
|
|
45
|
+
type: 'signed';
|
|
46
|
+
from: PeerId;
|
|
47
|
+
topic: string;
|
|
48
|
+
data: Uint8Array;
|
|
49
|
+
sequenceNumber: bigint;
|
|
50
|
+
signature: Uint8Array;
|
|
51
|
+
key: PublicKey;
|
|
52
|
+
}
|
|
53
|
+
export interface UnsignedMessage {
|
|
54
|
+
type: 'unsigned';
|
|
55
|
+
topic: string;
|
|
56
|
+
data: Uint8Array;
|
|
57
|
+
}
|
|
58
|
+
export type Message = SignedMessage | UnsignedMessage;
|
|
59
|
+
export interface PublishResult {
|
|
60
|
+
recipients: PeerId[];
|
|
61
|
+
}
|
|
62
|
+
export interface Subscription {
|
|
63
|
+
topic: string;
|
|
64
|
+
subscribe: boolean;
|
|
65
|
+
}
|
|
66
|
+
export interface SubscriptionChangeData {
|
|
67
|
+
peerId: PeerId;
|
|
68
|
+
subscriptions: Subscription[];
|
|
69
|
+
}
|
|
70
|
+
export interface TopicValidatorFn {
|
|
71
|
+
(peer: PeerId, message: Message): TopicValidatorResult | Promise<TopicValidatorResult>;
|
|
72
|
+
}
|
|
73
|
+
export declare const multicodec: string;
|
|
74
|
+
export interface GossipsubOpts extends GossipsubOptsSpec {
|
|
75
|
+
/** if dial should fallback to floodsub */
|
|
76
|
+
fallbackToFloodsub: boolean;
|
|
77
|
+
/** if self-published messages should be sent to all peers */
|
|
78
|
+
floodPublish: boolean;
|
|
79
|
+
/** serialize message once and send to all peers without control messages */
|
|
80
|
+
batchPublish: boolean;
|
|
81
|
+
/** whether PX is enabled; this should be enabled in bootstrappers and other well connected/trusted nodes. */
|
|
82
|
+
doPX: boolean;
|
|
83
|
+
/** peers with which we will maintain direct connections */
|
|
84
|
+
directPeers: AddrInfo[];
|
|
85
|
+
/**
|
|
86
|
+
* If true will not forward messages to mesh peers until reportMessageValidationResult() is called.
|
|
87
|
+
* Messages will be cached in mcache for some time after which they are evicted. Calling
|
|
88
|
+
* reportMessageValidationResult() after the message is dropped from mcache won't forward the message.
|
|
89
|
+
*/
|
|
90
|
+
asyncValidation: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Do not throw `PublishError.NoPeersSubscribedToTopic` error if there are no
|
|
93
|
+
* peers listening on the topic.
|
|
94
|
+
*
|
|
95
|
+
* N.B. if you sent this option to true, and you publish a message on a topic
|
|
96
|
+
* with no peers listening on that topic, no other network node will ever
|
|
97
|
+
* receive the message.
|
|
98
|
+
*/
|
|
99
|
+
allowPublishToZeroTopicPeers: boolean;
|
|
100
|
+
/** Do not throw `PublishError.Duplicate` if publishing duplicate messages */
|
|
101
|
+
ignoreDuplicatePublishError: boolean;
|
|
102
|
+
/** For a single stream, await processing each RPC before processing the next */
|
|
103
|
+
awaitRpcHandler: boolean;
|
|
104
|
+
/** For a single RPC, await processing each message before processing the next */
|
|
105
|
+
awaitRpcMessageHandler: boolean;
|
|
106
|
+
/** message id function */
|
|
107
|
+
msgIdFn: MsgIdFn;
|
|
108
|
+
/** fast message id function */
|
|
109
|
+
fastMsgIdFn: FastMsgIdFn;
|
|
110
|
+
/** Uint8Array message id to string function */
|
|
111
|
+
msgIdToStrFn: MsgIdToStrFn;
|
|
112
|
+
/** override the default MessageCache */
|
|
113
|
+
messageCache: MessageCache;
|
|
114
|
+
/** peer score parameters */
|
|
115
|
+
scoreParams: Partial<PeerScoreParams>;
|
|
116
|
+
/** peer score thresholds */
|
|
117
|
+
scoreThresholds: Partial<PeerScoreThresholds>;
|
|
118
|
+
/** customize GossipsubIWantFollowupTime in order not to apply IWANT penalties */
|
|
119
|
+
gossipsubIWantFollowupMs: number;
|
|
120
|
+
/** override constants for fine tuning */
|
|
121
|
+
prunePeers?: number;
|
|
122
|
+
pruneBackoff?: number;
|
|
123
|
+
unsubcribeBackoff?: number;
|
|
124
|
+
graftFloodThreshold?: number;
|
|
125
|
+
opportunisticGraftPeers?: number;
|
|
126
|
+
opportunisticGraftTicks?: number;
|
|
127
|
+
directConnectTicks?: number;
|
|
128
|
+
dataTransform?: DataTransform;
|
|
129
|
+
metricsRegister?: MetricsRegister | null;
|
|
130
|
+
metricsTopicStrToLabel?: TopicStrToLabel;
|
|
131
|
+
/** Prefix tag for debug logs */
|
|
132
|
+
debugName?: string;
|
|
133
|
+
/**
|
|
134
|
+
* Specify the maximum number of inbound gossipsub protocol
|
|
135
|
+
* streams that are allowed to be open concurrently
|
|
136
|
+
*/
|
|
137
|
+
maxInboundStreams?: number;
|
|
138
|
+
/**
|
|
139
|
+
* Specify the maximum number of outbound gossipsub protocol
|
|
140
|
+
* streams that are allowed to be open concurrently
|
|
141
|
+
*/
|
|
142
|
+
maxOutboundStreams?: number;
|
|
143
|
+
/**
|
|
144
|
+
* Pass true to run on limited connections - data or time-limited
|
|
145
|
+
* connections that may be closed at any time such as circuit relay
|
|
146
|
+
* connections.
|
|
147
|
+
*
|
|
148
|
+
* @default false
|
|
149
|
+
*/
|
|
150
|
+
runOnLimitedConnection?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Specify max buffer size in bytes for OutboundStream.
|
|
153
|
+
* If full it will throw and reject sending any more data.
|
|
154
|
+
*/
|
|
155
|
+
maxOutboundBufferSize?: number;
|
|
156
|
+
/**
|
|
157
|
+
* Specify max size to skip decoding messages whose data
|
|
158
|
+
* section exceeds this size.
|
|
159
|
+
*
|
|
160
|
+
*/
|
|
161
|
+
maxInboundDataLength?: number;
|
|
162
|
+
/**
|
|
163
|
+
* If provided, only allow topics in this list
|
|
164
|
+
*/
|
|
165
|
+
allowedTopics?: string[] | Set<string>;
|
|
166
|
+
/**
|
|
167
|
+
* Limits to bound protobuf decoding
|
|
168
|
+
*/
|
|
169
|
+
decodeRpcLimits?: DecodeRPCLimits;
|
|
170
|
+
/**
|
|
171
|
+
* If true, will utilize the libp2p connection manager tagging system to prune/graft connections to peers, defaults to true
|
|
172
|
+
*/
|
|
173
|
+
tagMeshPeers: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Specify what percent of peers to send gossip to. If the percent results in
|
|
176
|
+
* a number smaller than `Dlazy`, `Dlazy` will be used instead.
|
|
177
|
+
*
|
|
178
|
+
* It should be a number between 0 and 1, with a reasonable default of 0.25
|
|
179
|
+
*/
|
|
180
|
+
gossipFactor: number;
|
|
181
|
+
/**
|
|
182
|
+
* The minimum message size in bytes to be considered for sending IDONTWANT messages
|
|
183
|
+
*
|
|
184
|
+
* @default 512
|
|
185
|
+
*/
|
|
186
|
+
idontwantMinDataSize?: number;
|
|
187
|
+
/**
|
|
188
|
+
* The maximum number of IDONTWANT messages per heartbeat per peer
|
|
189
|
+
*
|
|
190
|
+
* @default 512
|
|
191
|
+
*/
|
|
192
|
+
idontwantMaxMessages?: number;
|
|
193
|
+
/**
|
|
194
|
+
* Override the protocol registered with the registrar
|
|
195
|
+
*
|
|
196
|
+
* @default ['/floodsub/1.0.0']
|
|
197
|
+
*/
|
|
198
|
+
protocols?: string[];
|
|
199
|
+
/**
|
|
200
|
+
* defines how signatures should be handled
|
|
201
|
+
*/
|
|
202
|
+
globalSignaturePolicy?: SignaturePolicy;
|
|
203
|
+
/**
|
|
204
|
+
* if can relay messages not subscribed
|
|
205
|
+
*/
|
|
206
|
+
canRelayMessage?: boolean;
|
|
207
|
+
/**
|
|
208
|
+
* if publish should emit to self, if subscribed
|
|
209
|
+
*/
|
|
210
|
+
emitSelf?: boolean;
|
|
211
|
+
/**
|
|
212
|
+
* handle this many incoming pubsub messages concurrently
|
|
213
|
+
*/
|
|
214
|
+
messageProcessingConcurrency?: number;
|
|
215
|
+
}
|
|
216
|
+
export interface GossipsubMessage {
|
|
217
|
+
propagationSource: PeerId;
|
|
218
|
+
msgId: MsgIdStr;
|
|
219
|
+
msg: Message;
|
|
220
|
+
}
|
|
221
|
+
export interface MeshPeer {
|
|
222
|
+
peerId: string;
|
|
223
|
+
topic: string;
|
|
224
|
+
direction: MessageStreamDirection;
|
|
225
|
+
}
|
|
226
|
+
export interface GossipSubEvents {
|
|
227
|
+
'subscription-change': CustomEvent<SubscriptionChangeData>;
|
|
228
|
+
message: CustomEvent<Message>;
|
|
229
|
+
'gossipsub:heartbeat': CustomEvent;
|
|
230
|
+
'gossipsub:message': CustomEvent<GossipsubMessage>;
|
|
231
|
+
'gossipsub:graft': CustomEvent<MeshPeer>;
|
|
232
|
+
'gossipsub:prune': CustomEvent<MeshPeer>;
|
|
233
|
+
}
|
|
234
|
+
export interface GossipSubComponents {
|
|
235
|
+
privateKey: PrivateKey;
|
|
236
|
+
peerId: PeerId;
|
|
237
|
+
peerStore: PeerStore;
|
|
238
|
+
registrar: Registrar;
|
|
239
|
+
connectionManager: ConnectionManager;
|
|
240
|
+
logger: ComponentLogger;
|
|
241
|
+
}
|
|
242
|
+
export interface GossipSub extends TypedEventTarget<GossipSubEvents> {
|
|
243
|
+
/**
|
|
244
|
+
* The global signature policy controls whether or not we sill send and receive
|
|
245
|
+
* signed or unsigned messages.
|
|
246
|
+
*
|
|
247
|
+
* Signed messages prevent spoofing message senders and should be preferred to
|
|
248
|
+
* using unsigned messages.
|
|
249
|
+
*/
|
|
250
|
+
globalSignaturePolicy: typeof StrictSign | typeof StrictNoSign;
|
|
251
|
+
/**
|
|
252
|
+
* A list of multicodecs that contain the pubsub protocol name.
|
|
253
|
+
*/
|
|
254
|
+
protocols: string[];
|
|
255
|
+
/**
|
|
256
|
+
* Pubsub routers support message validators per topic, which will validate the message
|
|
257
|
+
* before its propagations. They are stored in a map where keys are the topic name and
|
|
258
|
+
* values are the validators.
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
*
|
|
262
|
+
* ```TypeScript
|
|
263
|
+
* const topic = 'topic'
|
|
264
|
+
* const validateMessage = (msgTopic, msg) => {
|
|
265
|
+
* const input = uint8ArrayToString(msg.data)
|
|
266
|
+
* const validInputs = ['a', 'b', 'c']
|
|
267
|
+
*
|
|
268
|
+
* if (!validInputs.includes(input)) {
|
|
269
|
+
* throw new Error('no valid input received')
|
|
270
|
+
* }
|
|
271
|
+
* }
|
|
272
|
+
* libp2p.pubsub.topicValidators.set(topic, validateMessage)
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
topicValidators: Map<string, TopicValidatorFn>;
|
|
276
|
+
getPeers(): PeerId[];
|
|
277
|
+
/**
|
|
278
|
+
* Gets a list of topics the node is subscribed to.
|
|
279
|
+
*
|
|
280
|
+
* ```TypeScript
|
|
281
|
+
* const topics = libp2p.pubsub.getTopics()
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
284
|
+
getTopics(): string[];
|
|
285
|
+
/**
|
|
286
|
+
* Subscribes to a pubsub topic.
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
*
|
|
290
|
+
* ```TypeScript
|
|
291
|
+
* const topic = 'topic'
|
|
292
|
+
* const handler = (msg) => {
|
|
293
|
+
* if (msg.topic === topic) {
|
|
294
|
+
* // msg.data - pubsub data received
|
|
295
|
+
* }
|
|
296
|
+
* }
|
|
297
|
+
*
|
|
298
|
+
* libp2p.pubsub.addEventListener('message', handler)
|
|
299
|
+
* libp2p.pubsub.subscribe(topic)
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
subscribe(topic: string): void;
|
|
303
|
+
/**
|
|
304
|
+
* Unsubscribes from a pubsub topic.
|
|
305
|
+
*
|
|
306
|
+
* @example
|
|
307
|
+
*
|
|
308
|
+
* ```TypeScript
|
|
309
|
+
* const topic = 'topic'
|
|
310
|
+
* const handler = (msg) => {
|
|
311
|
+
* // msg.data - pubsub data received
|
|
312
|
+
* }
|
|
313
|
+
*
|
|
314
|
+
* libp2p.pubsub.removeEventListener(topic handler)
|
|
315
|
+
* libp2p.pubsub.unsubscribe(topic)
|
|
316
|
+
* ```
|
|
317
|
+
*/
|
|
318
|
+
unsubscribe(topic: string): void;
|
|
319
|
+
/**
|
|
320
|
+
* Gets a list of the PeerIds that are subscribed to one topic.
|
|
321
|
+
*
|
|
322
|
+
* @example
|
|
323
|
+
*
|
|
324
|
+
* ```TypeScript
|
|
325
|
+
* const peerIds = libp2p.pubsub.getSubscribers(topic)
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
getSubscribers(topic: string): PeerId[];
|
|
329
|
+
/**
|
|
330
|
+
* Publishes messages to the given topic.
|
|
331
|
+
*
|
|
332
|
+
* @example
|
|
333
|
+
*
|
|
334
|
+
* ```TypeScript
|
|
335
|
+
* const topic = 'topic'
|
|
336
|
+
* const data = uint8ArrayFromString('data')
|
|
337
|
+
*
|
|
338
|
+
* await libp2p.pubsub.publish(topic, data)
|
|
339
|
+
* ```
|
|
340
|
+
*/
|
|
341
|
+
publish(topic: string, data?: Uint8Array): Promise<PublishResult>;
|
|
342
|
+
}
|
|
343
|
+
export declare function gossipsub(init?: Partial<GossipsubOpts>): (components: GossipSubComponents) => GossipSub;
|
|
344
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as constants from './constants.js';
|
|
2
|
+
import { GossipSub as GossipSubClass } from "./gossipsub.js";
|
|
3
|
+
import { MessageCache } from './message-cache.js';
|
|
4
|
+
/**
|
|
5
|
+
* On the producing side:
|
|
6
|
+
* - Build messages with the signature, key (from may be enough for certain inlineable public key types), from and seqno fields.
|
|
7
|
+
*
|
|
8
|
+
* On the consuming side:
|
|
9
|
+
* - Enforce the fields to be present, reject otherwise.
|
|
10
|
+
* - Propagate only if the fields are valid and signature can be verified, reject otherwise.
|
|
11
|
+
*/
|
|
12
|
+
export const StrictSign = 'StrictSign';
|
|
13
|
+
/**
|
|
14
|
+
* On the producing side:
|
|
15
|
+
* - Build messages without the signature, key, from and seqno fields.
|
|
16
|
+
* - The corresponding protobuf key-value pairs are absent from the marshaled message, not just empty.
|
|
17
|
+
*
|
|
18
|
+
* On the consuming side:
|
|
19
|
+
* - Enforce the fields to be absent, reject otherwise.
|
|
20
|
+
* - Propagate only if the fields are absent, reject otherwise.
|
|
21
|
+
* - A message_id function will not be able to use the above fields, and should instead rely on the data field. A commonplace strategy is to calculate a hash.
|
|
22
|
+
*/
|
|
23
|
+
export const StrictNoSign = 'StrictNoSign';
|
|
24
|
+
export var TopicValidatorResult;
|
|
25
|
+
(function (TopicValidatorResult) {
|
|
26
|
+
/**
|
|
27
|
+
* The message is considered valid, and it should be delivered and forwarded to the network
|
|
28
|
+
*/
|
|
29
|
+
TopicValidatorResult["Accept"] = "accept";
|
|
30
|
+
/**
|
|
31
|
+
* The message is neither delivered nor forwarded to the network
|
|
32
|
+
*/
|
|
33
|
+
TopicValidatorResult["Ignore"] = "ignore";
|
|
34
|
+
/**
|
|
35
|
+
* The message is considered invalid, and it should be rejected
|
|
36
|
+
*/
|
|
37
|
+
TopicValidatorResult["Reject"] = "reject";
|
|
38
|
+
})(TopicValidatorResult || (TopicValidatorResult = {}));
|
|
39
|
+
export const multicodec = constants.GossipsubIDv12;
|
|
40
|
+
export function gossipsub(init = {}) {
|
|
41
|
+
return (components) => new GossipSubClass(components, init);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAgBjD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAA;AAEtC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAA;AAI1C,MAAM,CAAN,IAAY,oBAaX;AAbD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,yCAAiB,CAAA;IACjB;;OAEG;IACH,yCAAiB,CAAA;IACjB;;OAEG;IACH,yCAAiB,CAAA;AACnB,CAAC,EAbW,oBAAoB,KAApB,oBAAoB,QAa/B;AAsCD,MAAM,CAAC,MAAM,UAAU,GAAW,SAAS,CAAC,cAAc,CAAA;AAkT1D,MAAM,UAAU,SAAS,CACvB,OAA+B,EAAE;IAEjC,OAAO,CAAC,UAA+B,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;AAClF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface DecodeRPCLimits {
|
|
2
|
+
maxSubscriptions: number;
|
|
3
|
+
maxMessages: number;
|
|
4
|
+
maxIhaveMessageIDs: number;
|
|
5
|
+
maxIwantMessageIDs: number;
|
|
6
|
+
maxIdontwantMessageIDs: number;
|
|
7
|
+
maxControlMessages: number;
|
|
8
|
+
maxPeerInfos: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const defaultDecodeRpcLimits: DecodeRPCLimits;
|
|
11
|
+
//# sourceMappingURL=decodeRpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decodeRpc.d.ts","sourceRoot":"","sources":["../../../src/message/decodeRpc.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,sBAAsB,EAAE,MAAM,CAAA;IAC9B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,sBAAsB,EAAE,eAQpC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const defaultDecodeRpcLimits = {
|
|
2
|
+
maxSubscriptions: Infinity,
|
|
3
|
+
maxMessages: Infinity,
|
|
4
|
+
maxIhaveMessageIDs: Infinity,
|
|
5
|
+
maxIwantMessageIDs: Infinity,
|
|
6
|
+
maxIdontwantMessageIDs: Infinity,
|
|
7
|
+
maxControlMessages: Infinity,
|
|
8
|
+
maxPeerInfos: Infinity
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=decodeRpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decodeRpc.js","sourceRoot":"","sources":["../../../src/message/decodeRpc.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,gBAAgB,EAAE,QAAQ;IAC1B,WAAW,EAAE,QAAQ;IACrB,kBAAkB,EAAE,QAAQ;IAC5B,kBAAkB,EAAE,QAAQ;IAC5B,sBAAsB,EAAE,QAAQ;IAChC,kBAAkB,EAAE,QAAQ;IAC5B,YAAY,EAAE,QAAQ;CACvB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/message/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|