@aztec/p2p 3.0.0-rc.5 → 4.0.0-nightly.20260107

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 (98) hide show
  1. package/dest/client/factory.d.ts +2 -2
  2. package/dest/client/factory.d.ts.map +1 -1
  3. package/dest/client/factory.js +2 -3
  4. package/dest/client/p2p_client.d.ts +2 -2
  5. package/dest/client/p2p_client.d.ts.map +1 -1
  6. package/dest/client/p2p_client.js +395 -21
  7. package/dest/config.d.ts +4 -7
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +6 -9
  10. package/dest/mem_pools/instrumentation.d.ts +7 -1
  11. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  12. package/dest/mem_pools/instrumentation.js +29 -2
  13. package/dest/mem_pools/interface.d.ts +3 -4
  14. package/dest/mem_pools/interface.d.ts.map +1 -1
  15. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +28 -24
  16. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  17. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +261 -323
  18. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +18 -0
  19. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -0
  20. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +56 -0
  21. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +83 -0
  22. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -0
  23. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +5 -0
  24. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts +15 -0
  25. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts.map +1 -0
  26. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.js +88 -0
  27. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +17 -0
  28. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  29. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +84 -0
  30. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +19 -0
  31. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  32. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +76 -0
  33. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +26 -0
  34. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  35. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +84 -0
  36. package/dest/mem_pools/tx_pool/index.d.ts +1 -2
  37. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -1
  38. package/dest/mem_pools/tx_pool/index.js +0 -1
  39. package/dest/mem_pools/tx_pool/priority.d.ts +5 -1
  40. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  41. package/dest/mem_pools/tx_pool/priority.js +6 -1
  42. package/dest/mem_pools/tx_pool/tx_pool.d.ts +8 -4
  43. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
  44. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  45. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  46. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +25 -20
  47. package/dest/services/libp2p/libp2p_service.d.ts +4 -4
  48. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  49. package/dest/services/libp2p/libp2p_service.js +447 -64
  50. package/dest/services/peer-manager/metrics.d.ts +6 -1
  51. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  52. package/dest/services/peer-manager/metrics.js +17 -0
  53. package/dest/services/peer-manager/peer_manager.d.ts +1 -1
  54. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  55. package/dest/services/peer-manager/peer_manager.js +385 -9
  56. package/dest/services/reqresp/protocols/tx.d.ts +2 -3
  57. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  58. package/dest/services/reqresp/reqresp.js +402 -24
  59. package/dest/services/tx_provider.d.ts +2 -1
  60. package/dest/services/tx_provider.d.ts.map +1 -1
  61. package/dest/services/tx_provider.js +11 -2
  62. package/dest/services/tx_provider_instrumentation.d.ts +5 -2
  63. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  64. package/dest/services/tx_provider_instrumentation.js +14 -1
  65. package/dest/test-helpers/reqresp-nodes.d.ts +2 -2
  66. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  67. package/dest/testbench/p2p_client_testbench_worker.js +1 -0
  68. package/package.json +14 -14
  69. package/src/client/factory.ts +5 -10
  70. package/src/client/p2p_client.ts +12 -17
  71. package/src/config.ts +8 -14
  72. package/src/mem_pools/instrumentation.ts +33 -0
  73. package/src/mem_pools/interface.ts +2 -4
  74. package/src/mem_pools/tx_pool/README.md +255 -0
  75. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +308 -368
  76. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +71 -0
  77. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +93 -0
  78. package/src/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.ts +108 -0
  79. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +104 -0
  80. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +91 -0
  81. package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +106 -0
  82. package/src/mem_pools/tx_pool/index.ts +0 -1
  83. package/src/mem_pools/tx_pool/priority.ts +8 -1
  84. package/src/mem_pools/tx_pool/tx_pool.ts +8 -3
  85. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +18 -13
  86. package/src/services/libp2p/libp2p_service.ts +12 -17
  87. package/src/services/peer-manager/metrics.ts +22 -0
  88. package/src/services/peer-manager/peer_manager.ts +2 -0
  89. package/src/services/reqresp/protocols/tx.ts +1 -2
  90. package/src/services/tx_provider.ts +17 -2
  91. package/src/services/tx_provider_instrumentation.ts +19 -2
  92. package/src/test-helpers/mock-pubsub.ts +1 -1
  93. package/src/test-helpers/reqresp-nodes.ts +1 -1
  94. package/src/testbench/p2p_client_testbench_worker.ts +2 -1
  95. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +0 -81
  96. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +0 -1
  97. package/dest/mem_pools/tx_pool/memory_tx_pool.js +0 -239
  98. package/src/mem_pools/tx_pool/memory_tx_pool.ts +0 -285
@@ -1,10 +1,377 @@
1
1
  // @attribution: lodestar impl for inspiration
2
- function _ts_decorate(decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ function applyDecs2203RFactory() {
3
+ function createAddInitializerMethod(initializers, decoratorFinishedRef) {
4
+ return function addInitializer(initializer) {
5
+ assertNotFinished(decoratorFinishedRef, "addInitializer");
6
+ assertCallable(initializer, "An initializer");
7
+ initializers.push(initializer);
8
+ };
9
+ }
10
+ function memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value) {
11
+ var kindStr;
12
+ switch(kind){
13
+ case 1:
14
+ kindStr = "accessor";
15
+ break;
16
+ case 2:
17
+ kindStr = "method";
18
+ break;
19
+ case 3:
20
+ kindStr = "getter";
21
+ break;
22
+ case 4:
23
+ kindStr = "setter";
24
+ break;
25
+ default:
26
+ kindStr = "field";
27
+ }
28
+ var ctx = {
29
+ kind: kindStr,
30
+ name: isPrivate ? "#" + name : name,
31
+ static: isStatic,
32
+ private: isPrivate,
33
+ metadata: metadata
34
+ };
35
+ var decoratorFinishedRef = {
36
+ v: false
37
+ };
38
+ ctx.addInitializer = createAddInitializerMethod(initializers, decoratorFinishedRef);
39
+ var get, set;
40
+ if (kind === 0) {
41
+ if (isPrivate) {
42
+ get = desc.get;
43
+ set = desc.set;
44
+ } else {
45
+ get = function() {
46
+ return this[name];
47
+ };
48
+ set = function(v) {
49
+ this[name] = v;
50
+ };
51
+ }
52
+ } else if (kind === 2) {
53
+ get = function() {
54
+ return desc.value;
55
+ };
56
+ } else {
57
+ if (kind === 1 || kind === 3) {
58
+ get = function() {
59
+ return desc.get.call(this);
60
+ };
61
+ }
62
+ if (kind === 1 || kind === 4) {
63
+ set = function(v) {
64
+ desc.set.call(this, v);
65
+ };
66
+ }
67
+ }
68
+ ctx.access = get && set ? {
69
+ get: get,
70
+ set: set
71
+ } : get ? {
72
+ get: get
73
+ } : {
74
+ set: set
75
+ };
76
+ try {
77
+ return dec(value, ctx);
78
+ } finally{
79
+ decoratorFinishedRef.v = true;
80
+ }
81
+ }
82
+ function assertNotFinished(decoratorFinishedRef, fnName) {
83
+ if (decoratorFinishedRef.v) {
84
+ throw new Error("attempted to call " + fnName + " after decoration was finished");
85
+ }
86
+ }
87
+ function assertCallable(fn, hint) {
88
+ if (typeof fn !== "function") {
89
+ throw new TypeError(hint + " must be a function");
90
+ }
91
+ }
92
+ function assertValidReturnValue(kind, value) {
93
+ var type = typeof value;
94
+ if (kind === 1) {
95
+ if (type !== "object" || value === null) {
96
+ throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
97
+ }
98
+ if (value.get !== undefined) {
99
+ assertCallable(value.get, "accessor.get");
100
+ }
101
+ if (value.set !== undefined) {
102
+ assertCallable(value.set, "accessor.set");
103
+ }
104
+ if (value.init !== undefined) {
105
+ assertCallable(value.init, "accessor.init");
106
+ }
107
+ } else if (type !== "function") {
108
+ var hint;
109
+ if (kind === 0) {
110
+ hint = "field";
111
+ } else if (kind === 10) {
112
+ hint = "class";
113
+ } else {
114
+ hint = "method";
115
+ }
116
+ throw new TypeError(hint + " decorators must return a function or void 0");
117
+ }
118
+ }
119
+ function applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata) {
120
+ var decs = decInfo[0];
121
+ var desc, init, value;
122
+ if (isPrivate) {
123
+ if (kind === 0 || kind === 1) {
124
+ desc = {
125
+ get: decInfo[3],
126
+ set: decInfo[4]
127
+ };
128
+ } else if (kind === 3) {
129
+ desc = {
130
+ get: decInfo[3]
131
+ };
132
+ } else if (kind === 4) {
133
+ desc = {
134
+ set: decInfo[3]
135
+ };
136
+ } else {
137
+ desc = {
138
+ value: decInfo[3]
139
+ };
140
+ }
141
+ } else if (kind !== 0) {
142
+ desc = Object.getOwnPropertyDescriptor(base, name);
143
+ }
144
+ if (kind === 1) {
145
+ value = {
146
+ get: desc.get,
147
+ set: desc.set
148
+ };
149
+ } else if (kind === 2) {
150
+ value = desc.value;
151
+ } else if (kind === 3) {
152
+ value = desc.get;
153
+ } else if (kind === 4) {
154
+ value = desc.set;
155
+ }
156
+ var newValue, get, set;
157
+ if (typeof decs === "function") {
158
+ newValue = memberDec(decs, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);
159
+ if (newValue !== void 0) {
160
+ assertValidReturnValue(kind, newValue);
161
+ if (kind === 0) {
162
+ init = newValue;
163
+ } else if (kind === 1) {
164
+ init = newValue.init;
165
+ get = newValue.get || value.get;
166
+ set = newValue.set || value.set;
167
+ value = {
168
+ get: get,
169
+ set: set
170
+ };
171
+ } else {
172
+ value = newValue;
173
+ }
174
+ }
175
+ } else {
176
+ for(var i = decs.length - 1; i >= 0; i--){
177
+ var dec = decs[i];
178
+ newValue = memberDec(dec, name, desc, initializers, kind, isStatic, isPrivate, metadata, value);
179
+ if (newValue !== void 0) {
180
+ assertValidReturnValue(kind, newValue);
181
+ var newInit;
182
+ if (kind === 0) {
183
+ newInit = newValue;
184
+ } else if (kind === 1) {
185
+ newInit = newValue.init;
186
+ get = newValue.get || value.get;
187
+ set = newValue.set || value.set;
188
+ value = {
189
+ get: get,
190
+ set: set
191
+ };
192
+ } else {
193
+ value = newValue;
194
+ }
195
+ if (newInit !== void 0) {
196
+ if (init === void 0) {
197
+ init = newInit;
198
+ } else if (typeof init === "function") {
199
+ init = [
200
+ init,
201
+ newInit
202
+ ];
203
+ } else {
204
+ init.push(newInit);
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ if (kind === 0 || kind === 1) {
211
+ if (init === void 0) {
212
+ init = function(instance, init) {
213
+ return init;
214
+ };
215
+ } else if (typeof init !== "function") {
216
+ var ownInitializers = init;
217
+ init = function(instance, init) {
218
+ var value = init;
219
+ for(var i = 0; i < ownInitializers.length; i++){
220
+ value = ownInitializers[i].call(instance, value);
221
+ }
222
+ return value;
223
+ };
224
+ } else {
225
+ var originalInitializer = init;
226
+ init = function(instance, init) {
227
+ return originalInitializer.call(instance, init);
228
+ };
229
+ }
230
+ ret.push(init);
231
+ }
232
+ if (kind !== 0) {
233
+ if (kind === 1) {
234
+ desc.get = value.get;
235
+ desc.set = value.set;
236
+ } else if (kind === 2) {
237
+ desc.value = value;
238
+ } else if (kind === 3) {
239
+ desc.get = value;
240
+ } else if (kind === 4) {
241
+ desc.set = value;
242
+ }
243
+ if (isPrivate) {
244
+ if (kind === 1) {
245
+ ret.push(function(instance, args) {
246
+ return value.get.call(instance, args);
247
+ });
248
+ ret.push(function(instance, args) {
249
+ return value.set.call(instance, args);
250
+ });
251
+ } else if (kind === 2) {
252
+ ret.push(value);
253
+ } else {
254
+ ret.push(function(instance, args) {
255
+ return value.call(instance, args);
256
+ });
257
+ }
258
+ } else {
259
+ Object.defineProperty(base, name, desc);
260
+ }
261
+ }
262
+ }
263
+ function applyMemberDecs(Class, decInfos, metadata) {
264
+ var ret = [];
265
+ var protoInitializers;
266
+ var staticInitializers;
267
+ var existingProtoNonFields = new Map();
268
+ var existingStaticNonFields = new Map();
269
+ for(var i = 0; i < decInfos.length; i++){
270
+ var decInfo = decInfos[i];
271
+ if (!Array.isArray(decInfo)) continue;
272
+ var kind = decInfo[1];
273
+ var name = decInfo[2];
274
+ var isPrivate = decInfo.length > 3;
275
+ var isStatic = kind >= 5;
276
+ var base;
277
+ var initializers;
278
+ if (isStatic) {
279
+ base = Class;
280
+ kind = kind - 5;
281
+ staticInitializers = staticInitializers || [];
282
+ initializers = staticInitializers;
283
+ } else {
284
+ base = Class.prototype;
285
+ protoInitializers = protoInitializers || [];
286
+ initializers = protoInitializers;
287
+ }
288
+ if (kind !== 0 && !isPrivate) {
289
+ var existingNonFields = isStatic ? existingStaticNonFields : existingProtoNonFields;
290
+ var existingKind = existingNonFields.get(name) || 0;
291
+ if (existingKind === true || existingKind === 3 && kind !== 4 || existingKind === 4 && kind !== 3) {
292
+ throw new Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + name);
293
+ } else if (!existingKind && kind > 2) {
294
+ existingNonFields.set(name, kind);
295
+ } else {
296
+ existingNonFields.set(name, true);
297
+ }
298
+ }
299
+ applyMemberDec(ret, base, decInfo, name, kind, isStatic, isPrivate, initializers, metadata);
300
+ }
301
+ pushInitializers(ret, protoInitializers);
302
+ pushInitializers(ret, staticInitializers);
303
+ return ret;
304
+ }
305
+ function pushInitializers(ret, initializers) {
306
+ if (initializers) {
307
+ ret.push(function(instance) {
308
+ for(var i = 0; i < initializers.length; i++){
309
+ initializers[i].call(instance);
310
+ }
311
+ return instance;
312
+ });
313
+ }
314
+ }
315
+ function applyClassDecs(targetClass, classDecs, metadata) {
316
+ if (classDecs.length > 0) {
317
+ var initializers = [];
318
+ var newClass = targetClass;
319
+ var name = targetClass.name;
320
+ for(var i = classDecs.length - 1; i >= 0; i--){
321
+ var decoratorFinishedRef = {
322
+ v: false
323
+ };
324
+ try {
325
+ var nextNewClass = classDecs[i](newClass, {
326
+ kind: "class",
327
+ name: name,
328
+ addInitializer: createAddInitializerMethod(initializers, decoratorFinishedRef),
329
+ metadata
330
+ });
331
+ } finally{
332
+ decoratorFinishedRef.v = true;
333
+ }
334
+ if (nextNewClass !== undefined) {
335
+ assertValidReturnValue(10, nextNewClass);
336
+ newClass = nextNewClass;
337
+ }
338
+ }
339
+ return [
340
+ defineMetadata(newClass, metadata),
341
+ function() {
342
+ for(var i = 0; i < initializers.length; i++){
343
+ initializers[i].call(newClass);
344
+ }
345
+ }
346
+ ];
347
+ }
348
+ }
349
+ function defineMetadata(Class, metadata) {
350
+ return Object.defineProperty(Class, Symbol.metadata || Symbol.for("Symbol.metadata"), {
351
+ configurable: true,
352
+ enumerable: true,
353
+ value: metadata
354
+ });
355
+ }
356
+ return function applyDecs2203R(targetClass, memberDecs, classDecs, parentClass) {
357
+ if (parentClass !== void 0) {
358
+ var parentMetadata = parentClass[Symbol.metadata || Symbol.for("Symbol.metadata")];
359
+ }
360
+ var metadata = Object.create(parentMetadata === void 0 ? null : parentMetadata);
361
+ var e = applyMemberDecs(targetClass, memberDecs, metadata);
362
+ if (!classDecs.length) defineMetadata(targetClass, metadata);
363
+ return {
364
+ e: e,
365
+ get c () {
366
+ return applyClassDecs(targetClass, classDecs, metadata);
367
+ }
368
+ };
369
+ };
7
370
  }
371
+ function _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {
372
+ return (_apply_decs_2203_r = applyDecs2203RFactory())(targetClass, memberDecs, classDecs, parentClass);
373
+ }
374
+ var _dec, _dec1, _dec2, _initProto;
8
375
  import { compactArray } from '@aztec/foundation/collection';
9
376
  import { AbortError, TimeoutError } from '@aztec/foundation/error';
10
377
  import { createLogger } from '@aztec/foundation/log';
@@ -21,6 +388,16 @@ import { DEFAULT_SUB_PROTOCOL_VALIDATORS, ReqRespSubProtocol, responseFromBuffer
21
388
  import { ReqRespMetrics } from './metrics.js';
22
389
  import { RateLimitStatus, RequestResponseRateLimiter, prettyPrintRateLimitStatus } from './rate-limiter/rate_limiter.js';
23
390
  import { ReqRespStatus, ReqRespStatusError, parseStatusChunk, prettyPrintReqRespStatus } from './status.js';
391
+ _dec = trackSpan('ReqResp.sendBatchRequest', (subProtocol, requests)=>({
392
+ [Attributes.P2P_REQ_RESP_PROTOCOL]: subProtocol,
393
+ [Attributes.P2P_REQ_RESP_BATCH_REQUESTS_COUNT]: requests.length
394
+ })), _dec1 = trackSpan('ReqResp.sendRequestToPeer', (peerId, subProtocol, _)=>({
395
+ [Attributes.P2P_ID]: peerId.toString(),
396
+ [Attributes.P2P_REQ_RESP_PROTOCOL]: subProtocol
397
+ })), _dec2 = trackSpan('ReqResp.streamHandler', (protocol, { connection })=>({
398
+ [Attributes.P2P_REQ_RESP_PROTOCOL]: protocol,
399
+ [Attributes.P2P_ID]: connection.remotePeer.toString()
400
+ }));
24
401
  /**
25
402
  * The Request Response Service
26
403
  *
@@ -38,6 +415,25 @@ import { ReqRespStatus, ReqRespStatusError, parseStatusChunk, prettyPrintReqResp
38
415
  libp2p;
39
416
  peerScoring;
40
417
  logger;
418
+ static{
419
+ ({ e: [_initProto] } = _apply_decs_2203_r(this, [
420
+ [
421
+ _dec,
422
+ 2,
423
+ "sendBatchRequest"
424
+ ],
425
+ [
426
+ _dec1,
427
+ 2,
428
+ "sendRequestToPeer"
429
+ ],
430
+ [
431
+ _dec2,
432
+ 2,
433
+ "streamHandler"
434
+ ]
435
+ ], []));
436
+ }
41
437
  individualRequestTimeoutMs;
42
438
  dialTimeoutMs;
43
439
  subProtocolHandlers;
@@ -50,7 +446,7 @@ import { ReqRespStatus, ReqRespStatusError, parseStatusChunk, prettyPrintReqResp
50
446
  this.libp2p = libp2p;
51
447
  this.peerScoring = peerScoring;
52
448
  this.logger = logger;
53
- this.individualRequestTimeoutMs = DEFAULT_INDIVIDUAL_REQUEST_TIMEOUT_MS;
449
+ this.individualRequestTimeoutMs = (_initProto(this), DEFAULT_INDIVIDUAL_REQUEST_TIMEOUT_MS);
54
450
  this.dialTimeoutMs = DEFAULT_REQRESP_DIAL_TIMEOUT_MS;
55
451
  this.subProtocolHandlers = {};
56
452
  this.subProtocolValidators = {};
@@ -587,21 +983,3 @@ import { ReqRespStatus, ReqRespStatusError, parseStatusChunk, prettyPrintReqResp
587
983
  return PeerErrorSeverity.HighToleranceError;
588
984
  }
589
985
  }
590
- _ts_decorate([
591
- trackSpan('ReqResp.sendBatchRequest', (subProtocol, requests)=>({
592
- [Attributes.P2P_REQ_RESP_PROTOCOL]: subProtocol,
593
- [Attributes.P2P_REQ_RESP_BATCH_REQUESTS_COUNT]: requests.length
594
- }))
595
- ], ReqResp.prototype, "sendBatchRequest", null);
596
- _ts_decorate([
597
- trackSpan('ReqResp.sendRequestToPeer', (peerId, subProtocol, _)=>({
598
- [Attributes.P2P_ID]: peerId.toString(),
599
- [Attributes.P2P_REQ_RESP_PROTOCOL]: subProtocol
600
- }))
601
- ], ReqResp.prototype, "sendRequestToPeer", null);
602
- _ts_decorate([
603
- trackSpan('ReqResp.streamHandler', (protocol, { connection })=>({
604
- [Attributes.P2P_REQ_RESP_PROTOCOL]: protocol,
605
- [Attributes.P2P_ID]: connection.remotePeer.toString()
606
- }))
607
- ], ReqResp.prototype, "streamHandler", null);
@@ -44,7 +44,8 @@ export declare class TxProvider implements ITxProvider {
44
44
  private getOrderedTxsFromAllSources;
45
45
  private orderTxs;
46
46
  private getTxsFromAllSources;
47
+ private collectFromP2P;
47
48
  private extractFromProposal;
48
49
  private processProposalTxs;
49
50
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90eF9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFlLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUE4QixZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RTs7O0dBR0c7QUFDSCxxQkFBYSxVQUFXLFlBQVcsV0FBVztJQUkxQyxPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxHQUFHO0lBTmIsU0FBUyxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztJQUVyRCxZQUNVLFlBQVksRUFBRSxZQUFZLEVBQzFCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQ3hDLEdBQUcsR0FBRSxNQUF5QyxFQUN0RCxNQUFNLEdBQUUsZUFBc0MsRUFHL0M7SUFFRCxzREFBc0Q7SUFDekMsZUFBZSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBa0I3RjtJQUVELGtGQUFrRjtJQUMzRSxzQkFBc0IsQ0FDM0IsYUFBYSxFQUFFLGFBQWEsRUFDNUIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsSUFBSSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FDdkQsT0FBTyxDQUFDO1FBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFBO0tBQUUsQ0FBQyxDQU85QztJQUVELG1FQUFtRTtJQUM1RCxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7UUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBTy9HO1lBRWEsMkJBQTJCO0lBZ0N6QyxPQUFPLENBQUMsUUFBUTtZQUtGLG9CQUFvQjtJQXNGbEMsT0FBTyxDQUFDLG1CQUFtQjtZQU9iLGtCQUFrQjtDQU9qQyJ9
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90eF9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFlLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUE4QixZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RTs7O0dBR0c7QUFDSCxxQkFBYSxVQUFXLFlBQVcsV0FBVztJQUkxQyxPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxHQUFHO0lBTmIsU0FBUyxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztJQUVyRCxZQUNVLFlBQVksRUFBRSxZQUFZLEVBQzFCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQ3hDLEdBQUcsR0FBRSxNQUF5QyxFQUN0RCxNQUFNLEdBQUUsZUFBc0MsRUFHL0M7SUFFRCxzREFBc0Q7SUFDekMsZUFBZSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBa0I3RjtJQUVELGtGQUFrRjtJQUMzRSxzQkFBc0IsQ0FDM0IsYUFBYSxFQUFFLGFBQWEsRUFDNUIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsSUFBSSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FDdkQsT0FBTyxDQUFDO1FBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFBO0tBQUUsQ0FBQyxDQU85QztJQUVELG1FQUFtRTtJQUM1RCxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7UUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBTy9HO1lBRWEsMkJBQTJCO0lBZ0N6QyxPQUFPLENBQUMsUUFBUTtZQUtGLG9CQUFvQjtZQXlGcEIsY0FBYztJQVk1QixPQUFPLENBQUMsbUJBQW1CO1lBT2Isa0JBQWtCO0NBT2pDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAI1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,GAAG;IANb,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAErD,YACU,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACxC,GAAG,GAAE,MAAyC,EACtD,MAAM,GAAE,eAAsC,EAG/C;IAED,sDAAsD;IACzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkB7F;IAED,kFAAkF;IAC3E,sBAAsB,CAC3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO9C;IAED,mEAAmE;IAC5D,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO/G;YAEa,2BAA2B;IAgCzC,OAAO,CAAC,QAAQ;YAKF,oBAAoB;IAsFlC,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;CAOjC"}
1
+ {"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAI1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,GAAG;IANb,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAErD,YACU,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACxC,GAAG,GAAE,MAAyC,EACtD,MAAM,GAAE,eAAsC,EAG/C;IAED,sDAAsD;IACzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkB7F;IAED,kFAAkF;IAC3E,sBAAsB,CAC3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO9C;IAED,mEAAmE;IAC5D,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO/G;YAEa,2BAA2B;IAgCzC,OAAO,CAAC,QAAQ;YAKF,oBAAoB;YAyFpB,cAAc;IAY5B,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;CAOjC"}
@@ -115,6 +115,7 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
115
115
  ]
116
116
  });
117
117
  if (missingTxHashes.size === 0) {
118
+ this.instrumentation.incTxsFromP2P(0, txHashes.length);
118
119
  return {
119
120
  txsFromMempool
120
121
  };
@@ -137,6 +138,7 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
137
138
  }
138
139
  if (missingTxHashes.size === 0) {
139
140
  await this.processProposalTxs(txsFromProposal);
141
+ this.instrumentation.incTxsFromP2P(0, txHashes.length);
140
142
  return {
141
143
  txsFromMempool,
142
144
  txsFromProposal
@@ -144,14 +146,13 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
144
146
  }
145
147
  // Start tx collection from the network if needed, while we validate the txs taken from the proposal in parallel
146
148
  const [txsFromNetwork] = await Promise.all([
147
- this.txCollection.collectFastFor(request, [
149
+ this.collectFromP2P(request, [
148
150
  ...missingTxHashes
149
151
  ], opts),
150
152
  this.processProposalTxs(txsFromProposal)
151
153
  ]);
152
154
  if (txsFromNetwork.length > 0) {
153
155
  txsFromNetwork.forEach((tx)=>missingTxHashes.delete(tx.txHash.toString()));
154
- this.instrumentation.incTxsFromP2P(txsFromNetwork.length);
155
156
  this.log.debug(`Retrieved ${txsFromNetwork.length} txs from network for block proposal (${missingTxHashes.size} pending)`, {
156
157
  ...blockInfo,
157
158
  missingTxHashes: [
@@ -159,6 +160,7 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
159
160
  ]
160
161
  });
161
162
  }
163
+ this.instrumentation.incTxsFromP2P(txsFromNetwork.length, txHashes.length);
162
164
  if (missingTxHashes.size === 0) {
163
165
  return {
164
166
  txsFromNetwork,
@@ -194,6 +196,13 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
194
196
  ]
195
197
  };
196
198
  }
199
+ async collectFromP2P(input, txHashes, opts) {
200
+ const requestedAt = Date.now();
201
+ const result = await this.txCollection.collectFastFor(input, txHashes, opts);
202
+ const requestProcessedAt = Date.now();
203
+ this.instrumentation.recordTxsRequestDelay(requestProcessedAt - requestedAt);
204
+ return result;
205
+ }
197
206
  extractFromProposal(proposal, missingTxHashes) {
198
207
  if (!proposal) {
199
208
  return [];
@@ -4,10 +4,13 @@ export declare class TxProviderInstrumentation {
4
4
  private txFromMempoolCount;
5
5
  private txFromP2PCount;
6
6
  private missingTxsCount;
7
+ private fractionOfTxsRequestedFromP2P;
8
+ private txsRequestDelay;
7
9
  constructor(client: TelemetryClient, name: string);
8
10
  incTxsFromProposals(count: number): void;
9
11
  incTxsFromMempool(count: number): void;
10
- incTxsFromP2P(count: number): void;
12
+ incTxsFromP2P(count: number, total: number): void;
13
+ recordTxsRequestDelay(delay: number): void;
11
14
  incMissingTxs(count: number): void;
12
15
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXJfaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvdHhfcHJvdmlkZXJfaW5zdHJ1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RixxQkFBYSx5QkFBeUI7SUFDcEMsT0FBTyxDQUFDLG1CQUFtQixDQUFnQjtJQUMzQyxPQUFPLENBQUMsa0JBQWtCLENBQWdCO0lBQzFDLE9BQU8sQ0FBQyxjQUFjLENBQWdCO0lBQ3RDLE9BQU8sQ0FBQyxlQUFlLENBQWdCO0lBRXZDLFlBQVksTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQWtCaEQ7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxRQUVoQztJQUVELGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLFFBRTlCO0lBRUQsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLFFBRTFCO0lBRUQsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLFFBRTFCO0NBQ0YifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXJfaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvdHhfcHJvdmlkZXJfaW5zdHJ1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIsS0FBSyxlQUFlLEVBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFFNUcscUJBQWEseUJBQXlCO0lBQ3BDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBZ0I7SUFDM0MsT0FBTyxDQUFDLGtCQUFrQixDQUFnQjtJQUMxQyxPQUFPLENBQUMsY0FBYyxDQUFnQjtJQUN0QyxPQUFPLENBQUMsZUFBZSxDQUFnQjtJQUV2QyxPQUFPLENBQUMsNkJBQTZCLENBQVk7SUFDakQsT0FBTyxDQUFDLGVBQWUsQ0FBWTtJQUVuQyxZQUFZLE1BQU0sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUEyQmhEO0lBRUQsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFaEM7SUFFRCxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxRQUU5QjtJQUVELGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLFFBR3pDO0lBRUQscUJBQXFCLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFbEM7SUFFRCxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFMUI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"tx_provider_instrumentation.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider_instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAE5F,qBAAa,yBAAyB;IACpC,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAgB;IAEvC,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAkBhD;IAED,mBAAmB,CAAC,KAAK,EAAE,MAAM,QAEhC;IAED,iBAAiB,CAAC,KAAK,EAAE,MAAM,QAE9B;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,QAE1B;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,QAE1B;CACF"}
1
+ {"version":3,"file":"tx_provider_instrumentation.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider_instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAE5G,qBAAa,yBAAyB;IACpC,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,eAAe,CAAgB;IAEvC,OAAO,CAAC,6BAA6B,CAAY;IACjD,OAAO,CAAC,eAAe,CAAY;IAEnC,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EA2BhD;IAED,mBAAmB,CAAC,KAAK,EAAE,MAAM,QAEhC;IAED,iBAAiB,CAAC,KAAK,EAAE,MAAM,QAE9B;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAGzC;IAED,qBAAqB,CAAC,KAAK,EAAE,MAAM,QAElC;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,QAE1B;CACF"}
@@ -4,6 +4,8 @@ export class TxProviderInstrumentation {
4
4
  txFromMempoolCount;
5
5
  txFromP2PCount;
6
6
  missingTxsCount;
7
+ fractionOfTxsRequestedFromP2P;
8
+ txsRequestDelay;
7
9
  constructor(client, name){
8
10
  const meter = client.getMeter(name);
9
11
  this.txFromProposalCount = meter.createUpDownCounter(Metrics.TX_PROVIDER_TXS_FROM_PROPOSALS_COUNT, {
@@ -18,6 +20,13 @@ export class TxProviderInstrumentation {
18
20
  this.missingTxsCount = meter.createUpDownCounter(Metrics.TX_PROVIDER_MISSING_TXS_COUNT, {
19
21
  description: 'The number of txs not found anywhere'
20
22
  });
23
+ this.fractionOfTxsRequestedFromP2P = meter.createHistogram(Metrics.TX_PROVIDER_P2P_TXS_REQUESTED_FRACTION, {
24
+ description: 'The fraction of transaction requested from peers'
25
+ });
26
+ this.txsRequestDelay = meter.createHistogram(Metrics.TX_PROVIDER_P2P_TXS_REQUEST_DELAY, {
27
+ unit: 'ms',
28
+ description: 'The time it took to request missing transactions from p2p'
29
+ });
21
30
  }
22
31
  incTxsFromProposals(count) {
23
32
  this.txFromProposalCount.add(count);
@@ -25,8 +34,12 @@ export class TxProviderInstrumentation {
25
34
  incTxsFromMempool(count) {
26
35
  this.txFromMempoolCount.add(count);
27
36
  }
28
- incTxsFromP2P(count) {
37
+ incTxsFromP2P(count, total) {
29
38
  this.txFromP2PCount.add(count);
39
+ this.fractionOfTxsRequestedFromP2P.record(count / total);
40
+ }
41
+ recordTxsRequestDelay(delay) {
42
+ this.txsRequestDelay.record(delay);
30
43
  }
31
44
  incMissingTxs(count) {
32
45
  this.missingTxsCount.add(count);
@@ -29,7 +29,7 @@ export declare function createLibp2pNode(boostrapAddrs?: string[], peerId?: Peer
29
29
  *
30
30
  *
31
31
  */
32
- export declare function createTestLibP2PService<T extends P2PClientType>(clientType: T, boostrapAddrs: string[] | undefined, archiver: L2BlockSource & ContractDataSource, worldStateSynchronizer: WorldStateSynchronizer, epochCache: EpochCache, mempools: MemPools<T>, telemetry: TelemetryClient, port?: number, peerId?: PeerId, chainConfig?: ChainConfig): Promise<LibP2PService<T>>;
32
+ export declare function createTestLibP2PService<T extends P2PClientType>(clientType: T, boostrapAddrs: string[] | undefined, archiver: L2BlockSource & ContractDataSource, worldStateSynchronizer: WorldStateSynchronizer, epochCache: EpochCache, mempools: MemPools, telemetry: TelemetryClient, port?: number, peerId?: PeerId, chainConfig?: ChainConfig): Promise<LibP2PService<T>>;
33
33
  /**
34
34
  * A p2p / req resp node pairing the req node will always contain the p2p node.
35
35
  * they are provided as a pair to allow access the p2p node directly
@@ -67,4 +67,4 @@ export declare function createBootstrapNodeFromPrivateKey(privateKey: string, po
67
67
  */
68
68
  export declare function getBootstrapNodeEnr(privateKey: string, port: number): Promise<SignableENR>;
69
69
  export declare function createBootstrapNode(port: number, telemetry?: TelemetryClient, chainConfig?: ChainConfig): Promise<BootstrapNode>;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC1ub2Rlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QtaGVscGVycy9yZXFyZXNwLW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXJELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUNWLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3ZCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBT25GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQW9DLE1BQU0sUUFBUSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSww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
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC1ub2Rlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QtaGVscGVycy9yZXFyZXNwLW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXJELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUNWLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3ZCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBT25GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQW9DLE1BQU0sUUFBUSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSww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
@@ -1 +1 @@
1
- {"version":3,"file":"reqresp-nodes.d.ts","sourceRoot":"","sources":["../../src/test-helpers/reqresp-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reqresp-nodes.d.ts","sourceRoot":"","sources":["../../src/test-helpers/reqresp-nodes.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ function mockTxPool() {
38
38
  hasTx: ()=>Promise.resolve(false),
39
39
  updateConfig: ()=>{},
40
40
  markTxsAsNonEvictable: ()=>Promise.resolve(),
41
+ clearNonEvictableTxs: ()=>Promise.resolve(),
41
42
  cleanupDeletedMinedTxs: ()=>Promise.resolve(0)
42
43
  };
43
44
  return Object.assign(new EventEmitter(), pool);