@aztec/p2p 0.56.0 → 0.58.0

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 (109) hide show
  1. package/dest/client/index.d.ts +6 -3
  2. package/dest/client/index.d.ts.map +1 -1
  3. package/dest/client/index.js +12 -6
  4. package/dest/client/p2p_client.d.ts +30 -12
  5. package/dest/client/p2p_client.d.ts.map +1 -1
  6. package/dest/client/p2p_client.js +375 -335
  7. package/dest/config.js +3 -3
  8. package/dest/index.d.ts +4 -3
  9. package/dest/index.d.ts.map +1 -1
  10. package/dest/index.js +5 -4
  11. package/dest/{attestation_pool → mem_pools/attestation_pool}/attestation_pool.d.ts +2 -1
  12. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
  13. package/dest/{attestation_pool → mem_pools/attestation_pool}/attestation_pool.js +1 -1
  14. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
  15. package/dest/{attestation_pool → mem_pools/attestation_pool}/index.js +1 -1
  16. package/dest/{attestation_pool → mem_pools/attestation_pool}/memory_attestation_pool.d.ts +6 -2
  17. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
  18. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +114 -0
  19. package/dest/{attestation_pool → mem_pools/attestation_pool}/mocks.d.ts +2 -1
  20. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
  21. package/dest/mem_pools/attestation_pool/mocks.js +31 -0
  22. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
  23. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
  24. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -0
  25. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts +4 -0
  26. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
  27. package/dest/mem_pools/epoch_proof_quote_pool/index.js +4 -0
  28. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +12 -0
  29. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
  30. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +30 -0
  31. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts +8 -0
  32. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
  33. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +21 -0
  34. package/dest/mem_pools/index.d.ts +5 -0
  35. package/dest/mem_pools/index.d.ts.map +1 -0
  36. package/dest/mem_pools/index.js +2 -0
  37. package/dest/mem_pools/instrumentation.d.ts +25 -0
  38. package/dest/mem_pools/instrumentation.d.ts.map +1 -0
  39. package/dest/mem_pools/instrumentation.js +70 -0
  40. package/dest/mem_pools/interface.d.ts +12 -0
  41. package/dest/mem_pools/interface.d.ts.map +1 -0
  42. package/dest/mem_pools/interface.js +2 -0
  43. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
  44. package/dest/{tx_pool → mem_pools/tx_pool}/aztec_kv_tx_pool.js +9 -9
  45. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
  46. package/dest/{tx_pool → mem_pools/tx_pool}/index.js +1 -1
  47. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
  48. package/dest/mem_pools/tx_pool/memory_tx_pool.js +111 -0
  49. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
  50. package/dest/{tx_pool → mem_pools/tx_pool}/tx_pool.js +1 -1
  51. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
  52. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +55 -0
  53. package/dest/service/libp2p_service.d.ts +12 -7
  54. package/dest/service/libp2p_service.d.ts.map +1 -1
  55. package/dest/service/libp2p_service.js +453 -381
  56. package/dest/service/reqresp/reqresp.d.ts +0 -1
  57. package/dest/service/reqresp/reqresp.d.ts.map +1 -1
  58. package/dest/service/reqresp/reqresp.js +7 -4
  59. package/package.json +10 -6
  60. package/src/client/index.ts +21 -8
  61. package/src/client/p2p_client.ts +77 -21
  62. package/src/config.ts +2 -2
  63. package/src/index.ts +4 -3
  64. package/src/{attestation_pool → mem_pools/attestation_pool}/attestation_pool.ts +2 -1
  65. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +141 -0
  66. package/src/{attestation_pool → mem_pools/attestation_pool}/mocks.ts +5 -2
  67. package/src/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.ts +7 -0
  68. package/src/mem_pools/epoch_proof_quote_pool/index.ts +3 -0
  69. package/src/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.ts +42 -0
  70. package/src/mem_pools/epoch_proof_quote_pool/test_utils.ts +26 -0
  71. package/src/mem_pools/index.ts +4 -0
  72. package/src/mem_pools/instrumentation.ts +85 -0
  73. package/src/mem_pools/interface.ts +12 -0
  74. package/src/{tx_pool → mem_pools/tx_pool}/aztec_kv_tx_pool.ts +9 -9
  75. package/src/{tx_pool → mem_pools/tx_pool}/memory_tx_pool.ts +9 -9
  76. package/src/service/libp2p_service.ts +78 -20
  77. package/src/service/reqresp/reqresp.ts +9 -5
  78. package/dest/attestation_pool/attestation_pool.d.ts.map +0 -1
  79. package/dest/attestation_pool/index.d.ts.map +0 -1
  80. package/dest/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  81. package/dest/attestation_pool/memory_attestation_pool.js +0 -57
  82. package/dest/attestation_pool/mocks.d.ts.map +0 -1
  83. package/dest/attestation_pool/mocks.js +0 -32
  84. package/dest/client/mocks.d.ts +0 -65
  85. package/dest/client/mocks.d.ts.map +0 -1
  86. package/dest/client/mocks.js +0 -106
  87. package/dest/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  88. package/dest/tx_pool/index.d.ts.map +0 -1
  89. package/dest/tx_pool/instrumentation.d.ts +0 -25
  90. package/dest/tx_pool/instrumentation.d.ts.map +0 -1
  91. package/dest/tx_pool/instrumentation.js +0 -61
  92. package/dest/tx_pool/memory_tx_pool.d.ts.map +0 -1
  93. package/dest/tx_pool/memory_tx_pool.js +0 -111
  94. package/dest/tx_pool/tx_pool.d.ts.map +0 -1
  95. package/dest/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  96. package/dest/tx_pool/tx_pool_test_suite.js +0 -55
  97. package/src/attestation_pool/memory_attestation_pool.ts +0 -71
  98. package/src/client/mocks.ts +0 -129
  99. package/src/tx_pool/instrumentation.ts +0 -73
  100. /package/dest/{attestation_pool → mem_pools/attestation_pool}/index.d.ts +0 -0
  101. /package/dest/{tx_pool → mem_pools/tx_pool}/aztec_kv_tx_pool.d.ts +0 -0
  102. /package/dest/{tx_pool → mem_pools/tx_pool}/index.d.ts +0 -0
  103. /package/dest/{tx_pool → mem_pools/tx_pool}/memory_tx_pool.d.ts +0 -0
  104. /package/dest/{tx_pool → mem_pools/tx_pool}/tx_pool.d.ts +0 -0
  105. /package/dest/{tx_pool → mem_pools/tx_pool}/tx_pool_test_suite.d.ts +0 -0
  106. /package/src/{attestation_pool → mem_pools/attestation_pool}/index.ts +0 -0
  107. /package/src/{tx_pool → mem_pools/tx_pool}/index.ts +0 -0
  108. /package/src/{tx_pool → mem_pools/tx_pool}/tx_pool.ts +0 -0
  109. /package/src/{tx_pool → mem_pools/tx_pool}/tx_pool_test_suite.ts +0 -0
@@ -2,7 +2,7 @@ var _AztecKVTxPool_store, _AztecKVTxPool_txs, _AztecKVTxPool_pendingTxs, _AztecK
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { Tx, TxHash } from '@aztec/circuit-types';
4
4
  import { createDebugLogger } from '@aztec/foundation/log';
5
- import { TxPoolInstrumentation } from './instrumentation.js';
5
+ import { PoolInstrumentation } from '../instrumentation.js';
6
6
  /**
7
7
  * In-memory implementation of the Transaction Pool.
8
8
  */
@@ -27,7 +27,7 @@ export class AztecKVTxPool {
27
27
  __classPrivateFieldSet(this, _AztecKVTxPool_pendingTxs, store.openSet('pendingTxs'), "f");
28
28
  __classPrivateFieldSet(this, _AztecKVTxPool_store, store, "f");
29
29
  __classPrivateFieldSet(this, _AztecKVTxPool_log, log, "f");
30
- __classPrivateFieldSet(this, _AztecKVTxPool_metrics, new TxPoolInstrumentation(telemetry, 'AztecKVTxPool'), "f");
30
+ __classPrivateFieldSet(this, _AztecKVTxPool_metrics, new PoolInstrumentation(telemetry, 'AztecKVTxPool'), "f");
31
31
  }
32
32
  markAsMined(txHashes) {
33
33
  return __classPrivateFieldGet(this, _AztecKVTxPool_store, "f").transaction(() => {
@@ -40,8 +40,8 @@ export class AztecKVTxPool {
40
40
  void __classPrivateFieldGet(this, _AztecKVTxPool_pendingTxs, "f").delete(key);
41
41
  }
42
42
  }
43
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedTxs('pending', deleted);
44
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordAddedTxs('mined', txHashes.length);
43
+ __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedObjects(deleted, 'pending');
44
+ __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordAddedObjects(txHashes.length, 'mined');
45
45
  });
46
46
  }
47
47
  getPendingTxHashes() {
@@ -92,10 +92,10 @@ export class AztecKVTxPool {
92
92
  pendingCount++;
93
93
  // REFACTOR: Use an lmdb conditional write to avoid race conditions with this write tx
94
94
  void __classPrivateFieldGet(this, _AztecKVTxPool_pendingTxs, "f").add(key);
95
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordTxSize(tx);
95
+ __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordSize(tx);
96
96
  }
97
97
  }
98
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordAddedTxs('pending', pendingCount);
98
+ __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordAddedObjects(pendingCount, 'pending');
99
99
  });
100
100
  }
101
101
  /**
@@ -119,8 +119,8 @@ export class AztecKVTxPool {
119
119
  void __classPrivateFieldGet(this, _AztecKVTxPool_minedTxs, "f").delete(key);
120
120
  }
121
121
  }
122
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedTxs('pending', pendingDeleted);
123
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedTxs('mined', minedDeleted);
122
+ __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedObjects(pendingDeleted, 'pending');
123
+ __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedObjects(minedDeleted, 'mined');
124
124
  });
125
125
  }
126
126
  /**
@@ -139,4 +139,4 @@ export class AztecKVTxPool {
139
139
  }
140
140
  }
141
141
  _AztecKVTxPool_store = new WeakMap(), _AztecKVTxPool_txs = new WeakMap(), _AztecKVTxPool_pendingTxs = new WeakMap(), _AztecKVTxPool_minedTxs = new WeakMap(), _AztecKVTxPool_log = new WeakMap(), _AztecKVTxPool_metrics = new WeakMap();
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfa3ZfdHhfcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF9wb29sL2F6dGVjX2t2X3R4X3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBZSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFleEI7Ozs7T0FJRztJQUNILFlBQVksS0FBbUIsRUFBRSxTQUEwQixFQUFFLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7UUFuQnJHLHVDQUFxQjtRQUVyQiw0RUFBNEU7UUFDNUUscUNBQStCO1FBRS9CLDZCQUE2QjtRQUM3Qiw0Q0FBOEI7UUFDOUIsMkJBQTJCO1FBQzNCLDBDQUE0QjtRQUU1QixxQ0FBYTtRQUViLHlDQUFnQztRQVE5Qix1QkFBQSxJQUFJLHNCQUFRLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQUEsQ0FBQztRQUNqQyx1QkFBQSxJQUFJLDJCQUFhLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQUEsQ0FBQztRQUMzQyx1QkFBQSxJQUFJLDZCQUFlLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQUEsQ0FBQztRQUUvQyx1QkFBQSxJQUFJLHdCQUFVLEtBQUssTUFBQSxDQUFDO1FBQ3BCLHVCQUFBLElBQUksc0JBQVEsR0FBRyxNQUFBLENBQUM7UUFDaEIsdUJBQUEsSUFBSSwwQkFBWSxJQUFJLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsTUFBQSxDQUFDO0lBQ3hFLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBa0I7UUFDbkMsT0FBTyx1QkFBQSxJQUFJLDRCQUFPLENB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
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfa3ZfdHhfcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbC9henRlY19rdl90eF9wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBZXhCOzs7O09BSUc7SUFDSCxZQUFZLEtBQW1CLEVBQUUsU0FBMEIsRUFBRSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsZUFBZSxDQUFDO1FBbkJyRyx1Q0FBcUI7UUFFckIsNEVBQTRFO1FBQzVFLHFDQUErQjtRQUUvQiw2QkFBNkI7UUFDN0IsNENBQThCO1FBQzlCLDJCQUEyQjtRQUMzQiwwQ0FBNEI7UUFFNUIscUNBQWE7UUFFYix5Q0FBa0M7UUFRaEMsdUJBQUEsSUFBSSxzQkFBUSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7UUFDakMsdUJBQUEsSUFBSSwyQkFBYSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFBLENBQUM7UUFDM0MsdUJBQUEsSUFBSSw2QkFBZSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFBLENBQUM7UUFFL0MsdUJBQUEsSUFBSSx3QkFBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLHNCQUFRLEdBQUcsTUFBQSxDQUFDO1FBQ2hCLHVCQUFBLElBQUksMEJBQVksSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLE1BQUEsQ0FBQztJQUN0RSxDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWtCO1FBQ25DLE9BQU8sdUJBQUEs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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from './tx_pool.js';
2
2
  export * from './memory_tx_pool.js';
3
3
  export * from './aztec_kv_tx_pool.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHhfcG9vbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUMifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/memory_tx_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,qBAAa,cAAe,YAAW,MAAM;IAcH,OAAO,CAAC,GAAG;IAbnD;;OAEG;IACH,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,OAAO,CAA0B;IAEzC;;;OAGG;gBACS,SAAS,EAAE,eAAe,EAAU,GAAG,yCAAqC;IAOjF,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,kBAAkB,IAAI,MAAM,EAAE;IAI9B,gBAAgB,IAAI,MAAM,EAAE;IAI5B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS;IAWnE;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS;IAKlD;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvC;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnD;;;OAGG;IACI,SAAS,IAAI,EAAE,EAAE;IAIxB;;;OAGG;IACI,cAAc,IAAI,MAAM,EAAE;CAGlC"}
@@ -0,0 +1,111 @@
1
+ import { Tx, TxHash } from '@aztec/circuit-types';
2
+ import { createDebugLogger } from '@aztec/foundation/log';
3
+ import { PoolInstrumentation } from '../instrumentation.js';
4
+ /**
5
+ * In-memory implementation of the Transaction Pool.
6
+ */
7
+ export class InMemoryTxPool {
8
+ /**
9
+ * Class constructor for in-memory TxPool. Initiates our transaction pool as a JS Map.
10
+ * @param log - A logger.
11
+ */
12
+ constructor(telemetry, log = createDebugLogger('aztec:tx_pool')) {
13
+ this.log = log;
14
+ this.txs = new Map();
15
+ this.minedTxs = new Set();
16
+ this.pendingTxs = new Set();
17
+ this.metrics = new PoolInstrumentation(telemetry, 'InMemoryTxPool');
18
+ }
19
+ markAsMined(txHashes) {
20
+ const keys = txHashes.map(x => x.toBigInt());
21
+ for (const key of keys) {
22
+ this.minedTxs.add(key);
23
+ this.pendingTxs.delete(key);
24
+ }
25
+ this.metrics.recordRemovedObjects(txHashes.length, 'pending');
26
+ this.metrics.recordAddedObjects(txHashes.length, 'mined');
27
+ return Promise.resolve();
28
+ }
29
+ getPendingTxHashes() {
30
+ return Array.from(this.pendingTxs).map(x => TxHash.fromBigInt(x));
31
+ }
32
+ getMinedTxHashes() {
33
+ return Array.from(this.minedTxs).map(x => TxHash.fromBigInt(x));
34
+ }
35
+ getTxStatus(txHash) {
36
+ const key = txHash.toBigInt();
37
+ if (this.pendingTxs.has(key)) {
38
+ return 'pending';
39
+ }
40
+ if (this.minedTxs.has(key)) {
41
+ return 'mined';
42
+ }
43
+ return undefined;
44
+ }
45
+ /**
46
+ * Checks if a transaction exists in the pool and returns it.
47
+ * @param txHash - The generated tx hash.
48
+ * @returns The transaction, if found, 'undefined' otherwise.
49
+ */
50
+ getTxByHash(txHash) {
51
+ const result = this.txs.get(txHash.toBigInt());
52
+ return result === undefined ? undefined : Tx.clone(result);
53
+ }
54
+ /**
55
+ * Adds a list of transactions to the pool. Duplicates are ignored.
56
+ * @param txs - An array of txs to be added to the pool.
57
+ * @returns Empty promise.
58
+ */
59
+ addTxs(txs) {
60
+ let pending = 0;
61
+ for (const tx of txs) {
62
+ const txHash = tx.getTxHash();
63
+ this.log.debug(`Adding tx with id ${txHash.toString()}`, {
64
+ eventName: 'tx-added-to-pool',
65
+ ...tx.getStats(),
66
+ });
67
+ const key = txHash.toBigInt();
68
+ this.txs.set(key, tx);
69
+ if (!this.minedTxs.has(key)) {
70
+ pending++;
71
+ this.metrics.recordSize(tx);
72
+ this.pendingTxs.add(key);
73
+ }
74
+ }
75
+ this.metrics.recordAddedObjects(pending, 'pending');
76
+ return Promise.resolve();
77
+ }
78
+ /**
79
+ * Deletes transactions from the pool. Tx hashes that are not present are ignored.
80
+ * @param txHashes - An array of tx hashes to be removed from the tx pool.
81
+ * @returns The number of transactions that was deleted from the pool.
82
+ */
83
+ deleteTxs(txHashes) {
84
+ let deletedMined = 0;
85
+ let deletedPending = 0;
86
+ for (const txHash of txHashes) {
87
+ const key = txHash.toBigInt();
88
+ this.txs.delete(key);
89
+ deletedPending += this.pendingTxs.delete(key) ? 1 : 0;
90
+ deletedMined += this.minedTxs.delete(key) ? 1 : 0;
91
+ }
92
+ this.metrics.recordRemovedObjects(deletedPending, 'pending');
93
+ this.metrics.recordRemovedObjects(deletedMined, 'mined');
94
+ return Promise.resolve();
95
+ }
96
+ /**
97
+ * Gets all the transactions stored in the pool.
98
+ * @returns Array of tx objects in the order they were added to the pool.
99
+ */
100
+ getAllTxs() {
101
+ return Array.from(this.txs.values()).map(x => Tx.clone(x));
102
+ }
103
+ /**
104
+ * Gets the hashes of all transactions currently in the tx pool.
105
+ * @returns An array of transaction hashes found in the tx pool.
106
+ */
107
+ getAllTxHashes() {
108
+ return Array.from(this.txs.keys()).map(x => TxHash.fromBigInt(x));
109
+ }
110
+ }
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X3R4X3Bvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2wvbWVtb3J5X3R4X3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUc1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBVXpCOzs7T0FHRztJQUNILFlBQVksU0FBMEIsRUFBVSxNQUFNLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztRQUF4QyxRQUFHLEdBQUgsR0FBRyxDQUFxQztRQUN0RixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksbUJBQW1CLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFrQjtRQUNuQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLFdBQVcsQ0FBQyxNQUFjO1FBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxXQUFXLENBQUMsTUFBYztRQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMvQyxPQUFPLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxHQUFTO1FBQ3JCLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNoQixLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUU7Z0JBQ3ZELFNBQVMsRUFBRSxrQkFBa0I7Z0JBQzdCLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTthQUNZLENBQUMsQ0FBQztZQUVoQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxRQUFrQjtRQUNqQyxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRXZCLEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLGNBQWMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsWUFBWSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFekQsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVM7UUFDZCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYztRQUNuQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/tx_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC;IAE5C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,SAAS,IAAI,EAAE,EAAE,CAAC;IAElB;;;OAGG;IACH,cAAc,IAAI,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,gBAAgB,IAAI,MAAM,EAAE,CAAC;IAE7B;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;CAC9D"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eF9wb29sL3R4X3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbC90eF9wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx_pool_test_suite.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/tx_pool_test_suite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,MAAM,QA+DrD"}
@@ -0,0 +1,55 @@
1
+ import { mockTx } from '@aztec/circuit-types';
2
+ /**
3
+ * Tests a TxPool implementation.
4
+ * @param getTxPool - Gets a fresh TxPool
5
+ */
6
+ export function describeTxPool(getTxPool) {
7
+ let pool;
8
+ beforeEach(() => {
9
+ pool = getTxPool();
10
+ });
11
+ it('Adds txs to the pool as pending', async () => {
12
+ const tx1 = mockTx();
13
+ await pool.addTxs([tx1]);
14
+ const poolTx = pool.getTxByHash(tx1.getTxHash());
15
+ expect(poolTx.getTxHash()).toEqual(tx1.getTxHash());
16
+ expect(pool.getTxStatus(tx1.getTxHash())).toEqual('pending');
17
+ expect(pool.getPendingTxHashes()).toEqual([tx1.getTxHash()]);
18
+ });
19
+ it('Removes txs from the pool', async () => {
20
+ const tx1 = mockTx();
21
+ await pool.addTxs([tx1]);
22
+ await pool.deleteTxs([tx1.getTxHash()]);
23
+ expect(pool.getTxByHash(tx1.getTxHash())).toBeFalsy();
24
+ expect(pool.getTxStatus(tx1.getTxHash())).toBeUndefined();
25
+ });
26
+ it('Marks txs as mined', async () => {
27
+ const tx1 = mockTx(1);
28
+ const tx2 = mockTx(2);
29
+ await pool.addTxs([tx1, tx2]);
30
+ await pool.markAsMined([tx1.getTxHash()]);
31
+ expect(pool.getTxByHash(tx1.getTxHash())).toEqual(tx1);
32
+ expect(pool.getTxStatus(tx1.getTxHash())).toEqual('mined');
33
+ expect(pool.getMinedTxHashes()).toEqual([tx1.getTxHash()]);
34
+ expect(pool.getPendingTxHashes()).toEqual([tx2.getTxHash()]);
35
+ });
36
+ it('Returns all transactions in the pool', async () => {
37
+ const tx1 = mockTx(1);
38
+ const tx2 = mockTx(2);
39
+ const tx3 = mockTx(3);
40
+ await pool.addTxs([tx1, tx2, tx3]);
41
+ const poolTxs = pool.getAllTxs();
42
+ expect(poolTxs).toHaveLength(3);
43
+ expect(poolTxs).toEqual(expect.arrayContaining([tx1, tx2, tx3]));
44
+ });
45
+ it('Returns all txHashes in the pool', async () => {
46
+ const tx1 = mockTx(1);
47
+ const tx2 = mockTx(2);
48
+ const tx3 = mockTx(3);
49
+ await pool.addTxs([tx1, tx2, tx3]);
50
+ const poolTxHashes = pool.getAllTxHashes();
51
+ expect(poolTxHashes).toHaveLength(3);
52
+ expect(poolTxHashes).toEqual(expect.arrayContaining([tx1.getTxHash(), tx2.getTxHash(), tx3.getTxHash()]));
53
+ });
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF90ZXN0X3N1aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sL3R4X3Bvb2xfdGVzdF9zdWl0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJOUM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUF1QjtJQUNwRCxJQUFJLElBQVksQ0FBQztJQUVqQixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsSUFBSSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQy9DLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBRXJCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNqRCxNQUFNLENBQUMsTUFBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekMsTUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFckIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3BELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
@@ -1,11 +1,11 @@
1
1
  import { BlockAttestation, BlockProposal, type ClientProtocolCircuitVerifier, type Gossipable, type L2BlockSource, type WorldStateSynchronizer } from '@aztec/circuit-types';
2
2
  import type { AztecKVStore } from '@aztec/kv-store';
3
+ import { type TelemetryClient, WithTracer } from '@aztec/telemetry-client';
3
4
  import { type ENR } from '@chainsafe/enr';
4
5
  import type { PeerId } from '@libp2p/interface';
5
6
  import '@libp2p/kad-dht';
6
- import { type AttestationPool } from '../attestation_pool/attestation_pool.js';
7
7
  import { type P2PConfig } from '../config.js';
8
- import { type TxPool } from '../tx_pool/index.js';
8
+ import { type MemPools } from '../mem_pools/interface.js';
9
9
  import { type PubSubLibp2p } from '../util.js';
10
10
  import { type ReqRespSubProtocol, type ReqRespSubProtocolHandlers, type SubProtocolMap } from './reqresp/interface.js';
11
11
  import type { P2PService, PeerDiscoveryService } from './service.js';
@@ -18,12 +18,11 @@ export declare function createLibP2PPeerId(privateKey?: string): Promise<PeerId>
18
18
  /**
19
19
  * Lib P2P implementation of the P2PService interface.
20
20
  */
21
- export declare class LibP2PService implements P2PService {
21
+ export declare class LibP2PService extends WithTracer implements P2PService {
22
22
  private config;
23
23
  private node;
24
24
  private peerDiscoveryService;
25
- private txPool;
26
- private attestationPool;
25
+ private mempools;
27
26
  private l2BlockSource;
28
27
  private proofVerifier;
29
28
  private worldStateSynchronizer;
@@ -39,7 +38,7 @@ export declare class LibP2PService implements P2PService {
39
38
  * @returns The attestation for the block, if any.
40
39
  */
41
40
  private blockReceivedCallback;
42
- constructor(config: P2PConfig, node: PubSubLibp2p, peerDiscoveryService: PeerDiscoveryService, txPool: TxPool, attestationPool: AttestationPool, l2BlockSource: L2BlockSource, proofVerifier: ClientProtocolCircuitVerifier, worldStateSynchronizer: WorldStateSynchronizer, requestResponseHandlers?: ReqRespSubProtocolHandlers, logger?: import("@aztec/foundation/log").Logger);
41
+ constructor(config: P2PConfig, node: PubSubLibp2p, peerDiscoveryService: PeerDiscoveryService, mempools: MemPools, l2BlockSource: L2BlockSource, proofVerifier: ClientProtocolCircuitVerifier, worldStateSynchronizer: WorldStateSynchronizer, telemetry: TelemetryClient, requestResponseHandlers?: ReqRespSubProtocolHandlers, logger?: import("@aztec/foundation/log").Logger);
43
42
  /**
44
43
  * Starts the LibP2P service.
45
44
  * @returns An empty promise.
@@ -56,7 +55,7 @@ export declare class LibP2PService implements P2PService {
56
55
  * @param txPool - The transaction pool to be accessed by the service.
57
56
  * @returns The new service.
58
57
  */
59
- static new(config: P2PConfig, peerDiscoveryService: PeerDiscoveryService, peerId: PeerId, txPool: TxPool, attestationPool: AttestationPool, l2BlockSource: L2BlockSource, proofVerifier: ClientProtocolCircuitVerifier, worldStateSynchronizer: WorldStateSynchronizer, store: AztecKVStore): Promise<LibP2PService>;
58
+ static new(config: P2PConfig, peerDiscoveryService: PeerDiscoveryService, peerId: PeerId, mempools: MemPools, l2BlockSource: L2BlockSource, proofVerifier: ClientProtocolCircuitVerifier, worldStateSynchronizer: WorldStateSynchronizer, store: AztecKVStore, telemetry: TelemetryClient): Promise<LibP2PService>;
60
59
  /**
61
60
  * Send Request via the ReqResp service
62
61
  * The subprotocol defined will determine the request and response types
@@ -105,6 +104,12 @@ export declare class LibP2PService implements P2PService {
105
104
  * @param block - The block to process.
106
105
  */
107
106
  private processBlockFromPeer;
107
+ /**
108
+ * Broadcast an attestation to all peers.
109
+ * @param attestation - The attestation to broadcast.
110
+ */
111
+ private broadcastAttestation;
112
+ private processEpochProofQuoteFromPeer;
108
113
  /**
109
114
  * Propagates provided message to peers.
110
115
  * @param message - The message to propagate.
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../src/service/libp2p_service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../src/service/libp2p_service.ts"],"names":[],"mappings":"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"}