@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.
Files changed (160) hide show
  1. package/README.md +85 -0
  2. package/dist/index.min.js +19 -0
  3. package/dist/index.min.js.map +7 -0
  4. package/dist/src/config.d.ts +32 -0
  5. package/dist/src/config.d.ts.map +1 -0
  6. package/dist/src/config.js +2 -0
  7. package/dist/src/config.js.map +1 -0
  8. package/dist/src/constants.d.ts +213 -0
  9. package/dist/src/constants.d.ts.map +1 -0
  10. package/dist/src/constants.js +217 -0
  11. package/dist/src/constants.js.map +1 -0
  12. package/dist/src/errors.d.ts +9 -0
  13. package/dist/src/errors.d.ts.map +1 -0
  14. package/dist/src/errors.js +15 -0
  15. package/dist/src/errors.js.map +1 -0
  16. package/dist/src/gossipsub.d.ts +419 -0
  17. package/dist/src/gossipsub.d.ts.map +1 -0
  18. package/dist/src/gossipsub.js +2520 -0
  19. package/dist/src/gossipsub.js.map +1 -0
  20. package/dist/src/index.d.ts +344 -0
  21. package/dist/src/index.d.ts.map +1 -0
  22. package/dist/src/index.js +43 -0
  23. package/dist/src/index.js.map +1 -0
  24. package/dist/src/message/decodeRpc.d.ts +11 -0
  25. package/dist/src/message/decodeRpc.d.ts.map +1 -0
  26. package/dist/src/message/decodeRpc.js +10 -0
  27. package/dist/src/message/decodeRpc.js.map +1 -0
  28. package/dist/src/message/index.d.ts +2 -0
  29. package/dist/src/message/index.d.ts.map +1 -0
  30. package/dist/src/message/index.js +2 -0
  31. package/dist/src/message/index.js.map +1 -0
  32. package/dist/src/message/rpc.d.ts +99 -0
  33. package/dist/src/message/rpc.d.ts.map +1 -0
  34. package/dist/src/message/rpc.js +663 -0
  35. package/dist/src/message/rpc.js.map +1 -0
  36. package/dist/src/message-cache.d.ts +80 -0
  37. package/dist/src/message-cache.d.ts.map +1 -0
  38. package/dist/src/message-cache.js +144 -0
  39. package/dist/src/message-cache.js.map +1 -0
  40. package/dist/src/metrics.d.ts +467 -0
  41. package/dist/src/metrics.d.ts.map +1 -0
  42. package/dist/src/metrics.js +896 -0
  43. package/dist/src/metrics.js.map +1 -0
  44. package/dist/src/score/compute-score.d.ts +4 -0
  45. package/dist/src/score/compute-score.d.ts.map +1 -0
  46. package/dist/src/score/compute-score.js +75 -0
  47. package/dist/src/score/compute-score.js.map +1 -0
  48. package/dist/src/score/index.d.ts +4 -0
  49. package/dist/src/score/index.d.ts.map +1 -0
  50. package/dist/src/score/index.js +4 -0
  51. package/dist/src/score/index.js.map +1 -0
  52. package/dist/src/score/message-deliveries.d.ts +45 -0
  53. package/dist/src/score/message-deliveries.d.ts.map +1 -0
  54. package/dist/src/score/message-deliveries.js +75 -0
  55. package/dist/src/score/message-deliveries.js.map +1 -0
  56. package/dist/src/score/peer-score-params.d.ts +125 -0
  57. package/dist/src/score/peer-score-params.d.ts.map +1 -0
  58. package/dist/src/score/peer-score-params.js +159 -0
  59. package/dist/src/score/peer-score-params.js.map +1 -0
  60. package/dist/src/score/peer-score-thresholds.d.ts +31 -0
  61. package/dist/src/score/peer-score-thresholds.d.ts.map +1 -0
  62. package/dist/src/score/peer-score-thresholds.js +32 -0
  63. package/dist/src/score/peer-score-thresholds.js.map +1 -0
  64. package/dist/src/score/peer-score.d.ts +119 -0
  65. package/dist/src/score/peer-score.d.ts.map +1 -0
  66. package/dist/src/score/peer-score.js +459 -0
  67. package/dist/src/score/peer-score.js.map +1 -0
  68. package/dist/src/score/peer-stats.d.ts +32 -0
  69. package/dist/src/score/peer-stats.d.ts.map +1 -0
  70. package/dist/src/score/peer-stats.js +2 -0
  71. package/dist/src/score/peer-stats.js.map +1 -0
  72. package/dist/src/score/scoreMetrics.d.ts +23 -0
  73. package/dist/src/score/scoreMetrics.d.ts.map +1 -0
  74. package/dist/src/score/scoreMetrics.js +155 -0
  75. package/dist/src/score/scoreMetrics.js.map +1 -0
  76. package/dist/src/stream.d.ts +30 -0
  77. package/dist/src/stream.d.ts.map +1 -0
  78. package/dist/src/stream.js +55 -0
  79. package/dist/src/stream.js.map +1 -0
  80. package/dist/src/tracer.d.ts +53 -0
  81. package/dist/src/tracer.d.ts.map +1 -0
  82. package/dist/src/tracer.js +155 -0
  83. package/dist/src/tracer.js.map +1 -0
  84. package/dist/src/types.d.ts +148 -0
  85. package/dist/src/types.d.ts.map +1 -0
  86. package/dist/src/types.js +90 -0
  87. package/dist/src/types.js.map +1 -0
  88. package/dist/src/utils/buildRawMessage.d.ts +20 -0
  89. package/dist/src/utils/buildRawMessage.d.ts.map +1 -0
  90. package/dist/src/utils/buildRawMessage.js +151 -0
  91. package/dist/src/utils/buildRawMessage.js.map +1 -0
  92. package/dist/src/utils/create-gossip-rpc.d.ts +7 -0
  93. package/dist/src/utils/create-gossip-rpc.d.ts.map +1 -0
  94. package/dist/src/utils/create-gossip-rpc.js +31 -0
  95. package/dist/src/utils/create-gossip-rpc.js.map +1 -0
  96. package/dist/src/utils/index.d.ts +4 -0
  97. package/dist/src/utils/index.d.ts.map +1 -0
  98. package/dist/src/utils/index.js +4 -0
  99. package/dist/src/utils/index.js.map +1 -0
  100. package/dist/src/utils/messageIdToString.d.ts +5 -0
  101. package/dist/src/utils/messageIdToString.d.ts.map +1 -0
  102. package/dist/src/utils/messageIdToString.js +8 -0
  103. package/dist/src/utils/messageIdToString.js.map +1 -0
  104. package/dist/src/utils/msgIdFn.d.ts +10 -0
  105. package/dist/src/utils/msgIdFn.d.ts.map +1 -0
  106. package/dist/src/utils/msgIdFn.js +23 -0
  107. package/dist/src/utils/msgIdFn.js.map +1 -0
  108. package/dist/src/utils/multiaddr.d.ts +3 -0
  109. package/dist/src/utils/multiaddr.d.ts.map +1 -0
  110. package/dist/src/utils/multiaddr.js +15 -0
  111. package/dist/src/utils/multiaddr.js.map +1 -0
  112. package/dist/src/utils/publishConfig.d.ts +8 -0
  113. package/dist/src/utils/publishConfig.d.ts.map +1 -0
  114. package/dist/src/utils/publishConfig.js +25 -0
  115. package/dist/src/utils/publishConfig.js.map +1 -0
  116. package/dist/src/utils/set.d.ts +14 -0
  117. package/dist/src/utils/set.d.ts.map +1 -0
  118. package/dist/src/utils/set.js +41 -0
  119. package/dist/src/utils/set.js.map +1 -0
  120. package/dist/src/utils/shuffle.d.ts +7 -0
  121. package/dist/src/utils/shuffle.d.ts.map +1 -0
  122. package/dist/src/utils/shuffle.js +21 -0
  123. package/dist/src/utils/shuffle.js.map +1 -0
  124. package/dist/src/utils/time-cache.d.ts +22 -0
  125. package/dist/src/utils/time-cache.d.ts.map +1 -0
  126. package/dist/src/utils/time-cache.js +54 -0
  127. package/dist/src/utils/time-cache.js.map +1 -0
  128. package/package.json +142 -0
  129. package/src/config.ts +31 -0
  130. package/src/constants.ts +261 -0
  131. package/src/errors.ts +17 -0
  132. package/src/gossipsub.ts +3061 -0
  133. package/src/index.ts +404 -0
  134. package/src/message/decodeRpc.ts +19 -0
  135. package/src/message/index.ts +1 -0
  136. package/src/message/rpc.proto +58 -0
  137. package/src/message/rpc.ts +848 -0
  138. package/src/message-cache.ts +196 -0
  139. package/src/metrics.ts +1014 -0
  140. package/src/score/compute-score.ts +98 -0
  141. package/src/score/index.ts +3 -0
  142. package/src/score/message-deliveries.ts +95 -0
  143. package/src/score/peer-score-params.ts +316 -0
  144. package/src/score/peer-score-thresholds.ts +70 -0
  145. package/src/score/peer-score.ts +565 -0
  146. package/src/score/peer-stats.ts +33 -0
  147. package/src/score/scoreMetrics.ts +215 -0
  148. package/src/stream.ts +79 -0
  149. package/src/tracer.ts +177 -0
  150. package/src/types.ts +178 -0
  151. package/src/utils/buildRawMessage.ts +174 -0
  152. package/src/utils/create-gossip-rpc.ts +34 -0
  153. package/src/utils/index.ts +3 -0
  154. package/src/utils/messageIdToString.ts +8 -0
  155. package/src/utils/msgIdFn.ts +24 -0
  156. package/src/utils/multiaddr.ts +19 -0
  157. package/src/utils/publishConfig.ts +33 -0
  158. package/src/utils/set.ts +43 -0
  159. package/src/utils/shuffle.ts +21 -0
  160. package/src/utils/time-cache.ts +71 -0
@@ -0,0 +1,663 @@
1
+ /* eslint-disable complexity */
2
+ import { decodeMessage, encodeMessage, MaxLengthError, message } from 'protons-runtime';
3
+ export var RPC;
4
+ (function (RPC) {
5
+ let SubOpts;
6
+ (function (SubOpts) {
7
+ let _codec;
8
+ SubOpts.codec = () => {
9
+ if (_codec == null) {
10
+ _codec = message((obj, w, opts = {}) => {
11
+ if (opts.lengthDelimited !== false) {
12
+ w.fork();
13
+ }
14
+ if (obj.subscribe != null) {
15
+ w.uint32(8);
16
+ w.bool(obj.subscribe);
17
+ }
18
+ if (obj.topic != null) {
19
+ w.uint32(18);
20
+ w.string(obj.topic);
21
+ }
22
+ if (opts.lengthDelimited !== false) {
23
+ w.ldelim();
24
+ }
25
+ }, (reader, length, opts = {}) => {
26
+ const obj = {};
27
+ const end = length == null ? reader.len : reader.pos + length;
28
+ while (reader.pos < end) {
29
+ const tag = reader.uint32();
30
+ switch (tag >>> 3) {
31
+ case 1: {
32
+ obj.subscribe = reader.bool();
33
+ break;
34
+ }
35
+ case 2: {
36
+ obj.topic = reader.string();
37
+ break;
38
+ }
39
+ default: {
40
+ reader.skipType(tag & 7);
41
+ break;
42
+ }
43
+ }
44
+ }
45
+ return obj;
46
+ });
47
+ }
48
+ return _codec;
49
+ };
50
+ SubOpts.encode = (obj) => {
51
+ return encodeMessage(obj, SubOpts.codec());
52
+ };
53
+ SubOpts.decode = (buf, opts) => {
54
+ return decodeMessage(buf, SubOpts.codec(), opts);
55
+ };
56
+ })(SubOpts = RPC.SubOpts || (RPC.SubOpts = {}));
57
+ let Message;
58
+ (function (Message) {
59
+ let _codec;
60
+ Message.codec = () => {
61
+ if (_codec == null) {
62
+ _codec = message((obj, w, opts = {}) => {
63
+ if (opts.lengthDelimited !== false) {
64
+ w.fork();
65
+ }
66
+ if (obj.from != null) {
67
+ w.uint32(10);
68
+ w.bytes(obj.from);
69
+ }
70
+ if (obj.data != null) {
71
+ w.uint32(18);
72
+ w.bytes(obj.data);
73
+ }
74
+ if (obj.seqno != null) {
75
+ w.uint32(26);
76
+ w.bytes(obj.seqno);
77
+ }
78
+ if ((obj.topic != null && obj.topic !== '')) {
79
+ w.uint32(34);
80
+ w.string(obj.topic);
81
+ }
82
+ if (obj.signature != null) {
83
+ w.uint32(42);
84
+ w.bytes(obj.signature);
85
+ }
86
+ if (obj.key != null) {
87
+ w.uint32(50);
88
+ w.bytes(obj.key);
89
+ }
90
+ if (opts.lengthDelimited !== false) {
91
+ w.ldelim();
92
+ }
93
+ }, (reader, length, opts = {}) => {
94
+ const obj = {
95
+ topic: ''
96
+ };
97
+ const end = length == null ? reader.len : reader.pos + length;
98
+ while (reader.pos < end) {
99
+ const tag = reader.uint32();
100
+ switch (tag >>> 3) {
101
+ case 1: {
102
+ obj.from = reader.bytes();
103
+ break;
104
+ }
105
+ case 2: {
106
+ obj.data = reader.bytes();
107
+ break;
108
+ }
109
+ case 3: {
110
+ obj.seqno = reader.bytes();
111
+ break;
112
+ }
113
+ case 4: {
114
+ obj.topic = reader.string();
115
+ break;
116
+ }
117
+ case 5: {
118
+ obj.signature = reader.bytes();
119
+ break;
120
+ }
121
+ case 6: {
122
+ obj.key = reader.bytes();
123
+ break;
124
+ }
125
+ default: {
126
+ reader.skipType(tag & 7);
127
+ break;
128
+ }
129
+ }
130
+ }
131
+ return obj;
132
+ });
133
+ }
134
+ return _codec;
135
+ };
136
+ Message.encode = (obj) => {
137
+ return encodeMessage(obj, Message.codec());
138
+ };
139
+ Message.decode = (buf, opts) => {
140
+ return decodeMessage(buf, Message.codec(), opts);
141
+ };
142
+ })(Message = RPC.Message || (RPC.Message = {}));
143
+ let ControlMessage;
144
+ (function (ControlMessage) {
145
+ let _codec;
146
+ ControlMessage.codec = () => {
147
+ if (_codec == null) {
148
+ _codec = message((obj, w, opts = {}) => {
149
+ if (opts.lengthDelimited !== false) {
150
+ w.fork();
151
+ }
152
+ if (obj.ihave != null) {
153
+ for (const value of obj.ihave) {
154
+ w.uint32(10);
155
+ RPC.ControlIHave.codec().encode(value, w);
156
+ }
157
+ }
158
+ if (obj.iwant != null) {
159
+ for (const value of obj.iwant) {
160
+ w.uint32(18);
161
+ RPC.ControlIWant.codec().encode(value, w);
162
+ }
163
+ }
164
+ if (obj.graft != null) {
165
+ for (const value of obj.graft) {
166
+ w.uint32(26);
167
+ RPC.ControlGraft.codec().encode(value, w);
168
+ }
169
+ }
170
+ if (obj.prune != null) {
171
+ for (const value of obj.prune) {
172
+ w.uint32(34);
173
+ RPC.ControlPrune.codec().encode(value, w);
174
+ }
175
+ }
176
+ if (obj.idontwant != null) {
177
+ for (const value of obj.idontwant) {
178
+ w.uint32(42);
179
+ RPC.ControlIDontWant.codec().encode(value, w);
180
+ }
181
+ }
182
+ if (opts.lengthDelimited !== false) {
183
+ w.ldelim();
184
+ }
185
+ }, (reader, length, opts = {}) => {
186
+ const obj = {
187
+ ihave: [],
188
+ iwant: [],
189
+ graft: [],
190
+ prune: [],
191
+ idontwant: []
192
+ };
193
+ const end = length == null ? reader.len : reader.pos + length;
194
+ while (reader.pos < end) {
195
+ const tag = reader.uint32();
196
+ switch (tag >>> 3) {
197
+ case 1: {
198
+ if (opts.limits?.ihave != null && obj.ihave.length === opts.limits.ihave) {
199
+ throw new MaxLengthError('Decode error - map field "ihave" had too many elements');
200
+ }
201
+ obj.ihave.push(RPC.ControlIHave.codec().decode(reader, reader.uint32(), {
202
+ limits: opts.limits?.ihave$
203
+ }));
204
+ break;
205
+ }
206
+ case 2: {
207
+ if (opts.limits?.iwant != null && obj.iwant.length === opts.limits.iwant) {
208
+ throw new MaxLengthError('Decode error - map field "iwant" had too many elements');
209
+ }
210
+ obj.iwant.push(RPC.ControlIWant.codec().decode(reader, reader.uint32(), {
211
+ limits: opts.limits?.iwant$
212
+ }));
213
+ break;
214
+ }
215
+ case 3: {
216
+ if (opts.limits?.graft != null && obj.graft.length === opts.limits.graft) {
217
+ throw new MaxLengthError('Decode error - map field "graft" had too many elements');
218
+ }
219
+ obj.graft.push(RPC.ControlGraft.codec().decode(reader, reader.uint32(), {
220
+ limits: opts.limits?.graft$
221
+ }));
222
+ break;
223
+ }
224
+ case 4: {
225
+ if (opts.limits?.prune != null && obj.prune.length === opts.limits.prune) {
226
+ throw new MaxLengthError('Decode error - map field "prune" had too many elements');
227
+ }
228
+ obj.prune.push(RPC.ControlPrune.codec().decode(reader, reader.uint32(), {
229
+ limits: opts.limits?.prune$
230
+ }));
231
+ break;
232
+ }
233
+ case 5: {
234
+ if (opts.limits?.idontwant != null && obj.idontwant.length === opts.limits.idontwant) {
235
+ throw new MaxLengthError('Decode error - map field "idontwant" had too many elements');
236
+ }
237
+ obj.idontwant.push(RPC.ControlIDontWant.codec().decode(reader, reader.uint32(), {
238
+ limits: opts.limits?.idontwant$
239
+ }));
240
+ break;
241
+ }
242
+ default: {
243
+ reader.skipType(tag & 7);
244
+ break;
245
+ }
246
+ }
247
+ }
248
+ return obj;
249
+ });
250
+ }
251
+ return _codec;
252
+ };
253
+ ControlMessage.encode = (obj) => {
254
+ return encodeMessage(obj, ControlMessage.codec());
255
+ };
256
+ ControlMessage.decode = (buf, opts) => {
257
+ return decodeMessage(buf, ControlMessage.codec(), opts);
258
+ };
259
+ })(ControlMessage = RPC.ControlMessage || (RPC.ControlMessage = {}));
260
+ let ControlIHave;
261
+ (function (ControlIHave) {
262
+ let _codec;
263
+ ControlIHave.codec = () => {
264
+ if (_codec == null) {
265
+ _codec = message((obj, w, opts = {}) => {
266
+ if (opts.lengthDelimited !== false) {
267
+ w.fork();
268
+ }
269
+ if (obj.topicID != null) {
270
+ w.uint32(10);
271
+ w.string(obj.topicID);
272
+ }
273
+ if (obj.messageIDs != null) {
274
+ for (const value of obj.messageIDs) {
275
+ w.uint32(18);
276
+ w.bytes(value);
277
+ }
278
+ }
279
+ if (opts.lengthDelimited !== false) {
280
+ w.ldelim();
281
+ }
282
+ }, (reader, length, opts = {}) => {
283
+ const obj = {
284
+ messageIDs: []
285
+ };
286
+ const end = length == null ? reader.len : reader.pos + length;
287
+ while (reader.pos < end) {
288
+ const tag = reader.uint32();
289
+ switch (tag >>> 3) {
290
+ case 1: {
291
+ obj.topicID = reader.string();
292
+ break;
293
+ }
294
+ case 2: {
295
+ if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) {
296
+ throw new MaxLengthError('Decode error - map field "messageIDs" had too many elements');
297
+ }
298
+ obj.messageIDs.push(reader.bytes());
299
+ break;
300
+ }
301
+ default: {
302
+ reader.skipType(tag & 7);
303
+ break;
304
+ }
305
+ }
306
+ }
307
+ return obj;
308
+ });
309
+ }
310
+ return _codec;
311
+ };
312
+ ControlIHave.encode = (obj) => {
313
+ return encodeMessage(obj, ControlIHave.codec());
314
+ };
315
+ ControlIHave.decode = (buf, opts) => {
316
+ return decodeMessage(buf, ControlIHave.codec(), opts);
317
+ };
318
+ })(ControlIHave = RPC.ControlIHave || (RPC.ControlIHave = {}));
319
+ let ControlIWant;
320
+ (function (ControlIWant) {
321
+ let _codec;
322
+ ControlIWant.codec = () => {
323
+ if (_codec == null) {
324
+ _codec = message((obj, w, opts = {}) => {
325
+ if (opts.lengthDelimited !== false) {
326
+ w.fork();
327
+ }
328
+ if (obj.messageIDs != null) {
329
+ for (const value of obj.messageIDs) {
330
+ w.uint32(10);
331
+ w.bytes(value);
332
+ }
333
+ }
334
+ if (opts.lengthDelimited !== false) {
335
+ w.ldelim();
336
+ }
337
+ }, (reader, length, opts = {}) => {
338
+ const obj = {
339
+ messageIDs: []
340
+ };
341
+ const end = length == null ? reader.len : reader.pos + length;
342
+ while (reader.pos < end) {
343
+ const tag = reader.uint32();
344
+ switch (tag >>> 3) {
345
+ case 1: {
346
+ if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) {
347
+ throw new MaxLengthError('Decode error - map field "messageIDs" had too many elements');
348
+ }
349
+ obj.messageIDs.push(reader.bytes());
350
+ break;
351
+ }
352
+ default: {
353
+ reader.skipType(tag & 7);
354
+ break;
355
+ }
356
+ }
357
+ }
358
+ return obj;
359
+ });
360
+ }
361
+ return _codec;
362
+ };
363
+ ControlIWant.encode = (obj) => {
364
+ return encodeMessage(obj, ControlIWant.codec());
365
+ };
366
+ ControlIWant.decode = (buf, opts) => {
367
+ return decodeMessage(buf, ControlIWant.codec(), opts);
368
+ };
369
+ })(ControlIWant = RPC.ControlIWant || (RPC.ControlIWant = {}));
370
+ let ControlGraft;
371
+ (function (ControlGraft) {
372
+ let _codec;
373
+ ControlGraft.codec = () => {
374
+ if (_codec == null) {
375
+ _codec = message((obj, w, opts = {}) => {
376
+ if (opts.lengthDelimited !== false) {
377
+ w.fork();
378
+ }
379
+ if (obj.topicID != null) {
380
+ w.uint32(10);
381
+ w.string(obj.topicID);
382
+ }
383
+ if (opts.lengthDelimited !== false) {
384
+ w.ldelim();
385
+ }
386
+ }, (reader, length, opts = {}) => {
387
+ const obj = {};
388
+ const end = length == null ? reader.len : reader.pos + length;
389
+ while (reader.pos < end) {
390
+ const tag = reader.uint32();
391
+ switch (tag >>> 3) {
392
+ case 1: {
393
+ obj.topicID = reader.string();
394
+ break;
395
+ }
396
+ default: {
397
+ reader.skipType(tag & 7);
398
+ break;
399
+ }
400
+ }
401
+ }
402
+ return obj;
403
+ });
404
+ }
405
+ return _codec;
406
+ };
407
+ ControlGraft.encode = (obj) => {
408
+ return encodeMessage(obj, ControlGraft.codec());
409
+ };
410
+ ControlGraft.decode = (buf, opts) => {
411
+ return decodeMessage(buf, ControlGraft.codec(), opts);
412
+ };
413
+ })(ControlGraft = RPC.ControlGraft || (RPC.ControlGraft = {}));
414
+ let ControlPrune;
415
+ (function (ControlPrune) {
416
+ let _codec;
417
+ ControlPrune.codec = () => {
418
+ if (_codec == null) {
419
+ _codec = message((obj, w, opts = {}) => {
420
+ if (opts.lengthDelimited !== false) {
421
+ w.fork();
422
+ }
423
+ if (obj.topicID != null) {
424
+ w.uint32(10);
425
+ w.string(obj.topicID);
426
+ }
427
+ if (obj.peers != null) {
428
+ for (const value of obj.peers) {
429
+ w.uint32(18);
430
+ RPC.PeerInfo.codec().encode(value, w);
431
+ }
432
+ }
433
+ if (obj.backoff != null) {
434
+ w.uint32(24);
435
+ w.uint64Number(obj.backoff);
436
+ }
437
+ if (opts.lengthDelimited !== false) {
438
+ w.ldelim();
439
+ }
440
+ }, (reader, length, opts = {}) => {
441
+ const obj = {
442
+ peers: []
443
+ };
444
+ const end = length == null ? reader.len : reader.pos + length;
445
+ while (reader.pos < end) {
446
+ const tag = reader.uint32();
447
+ switch (tag >>> 3) {
448
+ case 1: {
449
+ obj.topicID = reader.string();
450
+ break;
451
+ }
452
+ case 2: {
453
+ if (opts.limits?.peers != null && obj.peers.length === opts.limits.peers) {
454
+ throw new MaxLengthError('Decode error - map field "peers" had too many elements');
455
+ }
456
+ obj.peers.push(RPC.PeerInfo.codec().decode(reader, reader.uint32(), {
457
+ limits: opts.limits?.peers$
458
+ }));
459
+ break;
460
+ }
461
+ case 3: {
462
+ obj.backoff = reader.uint64Number();
463
+ break;
464
+ }
465
+ default: {
466
+ reader.skipType(tag & 7);
467
+ break;
468
+ }
469
+ }
470
+ }
471
+ return obj;
472
+ });
473
+ }
474
+ return _codec;
475
+ };
476
+ ControlPrune.encode = (obj) => {
477
+ return encodeMessage(obj, ControlPrune.codec());
478
+ };
479
+ ControlPrune.decode = (buf, opts) => {
480
+ return decodeMessage(buf, ControlPrune.codec(), opts);
481
+ };
482
+ })(ControlPrune = RPC.ControlPrune || (RPC.ControlPrune = {}));
483
+ let PeerInfo;
484
+ (function (PeerInfo) {
485
+ let _codec;
486
+ PeerInfo.codec = () => {
487
+ if (_codec == null) {
488
+ _codec = message((obj, w, opts = {}) => {
489
+ if (opts.lengthDelimited !== false) {
490
+ w.fork();
491
+ }
492
+ if (obj.peerID != null) {
493
+ w.uint32(10);
494
+ w.bytes(obj.peerID);
495
+ }
496
+ if (obj.signedPeerRecord != null) {
497
+ w.uint32(18);
498
+ w.bytes(obj.signedPeerRecord);
499
+ }
500
+ if (opts.lengthDelimited !== false) {
501
+ w.ldelim();
502
+ }
503
+ }, (reader, length, opts = {}) => {
504
+ const obj = {};
505
+ const end = length == null ? reader.len : reader.pos + length;
506
+ while (reader.pos < end) {
507
+ const tag = reader.uint32();
508
+ switch (tag >>> 3) {
509
+ case 1: {
510
+ obj.peerID = reader.bytes();
511
+ break;
512
+ }
513
+ case 2: {
514
+ obj.signedPeerRecord = reader.bytes();
515
+ break;
516
+ }
517
+ default: {
518
+ reader.skipType(tag & 7);
519
+ break;
520
+ }
521
+ }
522
+ }
523
+ return obj;
524
+ });
525
+ }
526
+ return _codec;
527
+ };
528
+ PeerInfo.encode = (obj) => {
529
+ return encodeMessage(obj, PeerInfo.codec());
530
+ };
531
+ PeerInfo.decode = (buf, opts) => {
532
+ return decodeMessage(buf, PeerInfo.codec(), opts);
533
+ };
534
+ })(PeerInfo = RPC.PeerInfo || (RPC.PeerInfo = {}));
535
+ let ControlIDontWant;
536
+ (function (ControlIDontWant) {
537
+ let _codec;
538
+ ControlIDontWant.codec = () => {
539
+ if (_codec == null) {
540
+ _codec = message((obj, w, opts = {}) => {
541
+ if (opts.lengthDelimited !== false) {
542
+ w.fork();
543
+ }
544
+ if (obj.messageIDs != null) {
545
+ for (const value of obj.messageIDs) {
546
+ w.uint32(10);
547
+ w.bytes(value);
548
+ }
549
+ }
550
+ if (opts.lengthDelimited !== false) {
551
+ w.ldelim();
552
+ }
553
+ }, (reader, length, opts = {}) => {
554
+ const obj = {
555
+ messageIDs: []
556
+ };
557
+ const end = length == null ? reader.len : reader.pos + length;
558
+ while (reader.pos < end) {
559
+ const tag = reader.uint32();
560
+ switch (tag >>> 3) {
561
+ case 1: {
562
+ if (opts.limits?.messageIDs != null && obj.messageIDs.length === opts.limits.messageIDs) {
563
+ throw new MaxLengthError('Decode error - map field "messageIDs" had too many elements');
564
+ }
565
+ obj.messageIDs.push(reader.bytes());
566
+ break;
567
+ }
568
+ default: {
569
+ reader.skipType(tag & 7);
570
+ break;
571
+ }
572
+ }
573
+ }
574
+ return obj;
575
+ });
576
+ }
577
+ return _codec;
578
+ };
579
+ ControlIDontWant.encode = (obj) => {
580
+ return encodeMessage(obj, ControlIDontWant.codec());
581
+ };
582
+ ControlIDontWant.decode = (buf, opts) => {
583
+ return decodeMessage(buf, ControlIDontWant.codec(), opts);
584
+ };
585
+ })(ControlIDontWant = RPC.ControlIDontWant || (RPC.ControlIDontWant = {}));
586
+ let _codec;
587
+ RPC.codec = () => {
588
+ if (_codec == null) {
589
+ _codec = message((obj, w, opts = {}) => {
590
+ if (opts.lengthDelimited !== false) {
591
+ w.fork();
592
+ }
593
+ if (obj.subscriptions != null) {
594
+ for (const value of obj.subscriptions) {
595
+ w.uint32(10);
596
+ RPC.SubOpts.codec().encode(value, w);
597
+ }
598
+ }
599
+ if (obj.messages != null) {
600
+ for (const value of obj.messages) {
601
+ w.uint32(18);
602
+ RPC.Message.codec().encode(value, w);
603
+ }
604
+ }
605
+ if (obj.control != null) {
606
+ w.uint32(26);
607
+ RPC.ControlMessage.codec().encode(obj.control, w);
608
+ }
609
+ if (opts.lengthDelimited !== false) {
610
+ w.ldelim();
611
+ }
612
+ }, (reader, length, opts = {}) => {
613
+ const obj = {
614
+ subscriptions: [],
615
+ messages: []
616
+ };
617
+ const end = length == null ? reader.len : reader.pos + length;
618
+ while (reader.pos < end) {
619
+ const tag = reader.uint32();
620
+ switch (tag >>> 3) {
621
+ case 1: {
622
+ if (opts.limits?.subscriptions != null && obj.subscriptions.length === opts.limits.subscriptions) {
623
+ throw new MaxLengthError('Decode error - map field "subscriptions" had too many elements');
624
+ }
625
+ obj.subscriptions.push(RPC.SubOpts.codec().decode(reader, reader.uint32(), {
626
+ limits: opts.limits?.subscriptions$
627
+ }));
628
+ break;
629
+ }
630
+ case 2: {
631
+ if (opts.limits?.messages != null && obj.messages.length === opts.limits.messages) {
632
+ throw new MaxLengthError('Decode error - map field "messages" had too many elements');
633
+ }
634
+ obj.messages.push(RPC.Message.codec().decode(reader, reader.uint32(), {
635
+ limits: opts.limits?.messages$
636
+ }));
637
+ break;
638
+ }
639
+ case 3: {
640
+ obj.control = RPC.ControlMessage.codec().decode(reader, reader.uint32(), {
641
+ limits: opts.limits?.control
642
+ });
643
+ break;
644
+ }
645
+ default: {
646
+ reader.skipType(tag & 7);
647
+ break;
648
+ }
649
+ }
650
+ }
651
+ return obj;
652
+ });
653
+ }
654
+ return _codec;
655
+ };
656
+ RPC.encode = (obj) => {
657
+ return encodeMessage(obj, RPC.codec());
658
+ };
659
+ RPC.decode = (buf, opts) => {
660
+ return decodeMessage(buf, RPC.codec(), opts);
661
+ };
662
+ })(RPC || (RPC = {}));
663
+ //# sourceMappingURL=rpc.js.map