@aztec/p2p 0.0.1-commit.4d79d1f2d → 0.0.1-commit.4eabbdb

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 (196) hide show
  1. package/dest/client/factory.d.ts +3 -2
  2. package/dest/client/factory.d.ts.map +1 -1
  3. package/dest/client/factory.js +9 -5
  4. package/dest/client/interface.d.ts +11 -9
  5. package/dest/client/interface.d.ts.map +1 -1
  6. package/dest/client/p2p_client.d.ts +6 -7
  7. package/dest/client/p2p_client.d.ts.map +1 -1
  8. package/dest/client/p2p_client.js +49 -14
  9. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +5 -5
  10. package/dest/config.d.ts +12 -2
  11. package/dest/config.d.ts.map +1 -1
  12. package/dest/config.js +5 -0
  13. package/dest/errors/tx-pool.error.d.ts +8 -0
  14. package/dest/errors/tx-pool.error.d.ts.map +1 -0
  15. package/dest/errors/tx-pool.error.js +9 -0
  16. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +4 -2
  17. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  18. package/dest/mem_pools/attestation_pool/attestation_pool.js +5 -0
  19. package/dest/mem_pools/attestation_pool/mocks.d.ts +2 -2
  20. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  21. package/dest/mem_pools/attestation_pool/mocks.js +2 -2
  22. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +3 -3
  23. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +30 -13
  24. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -1
  25. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +91 -20
  26. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +3 -3
  27. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
  28. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +18 -9
  29. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  30. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  31. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +4 -1
  32. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +3 -3
  33. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  34. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +10 -4
  35. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +2 -2
  36. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
  37. package/dest/mem_pools/tx_pool_v2/eviction/index.js +1 -1
  38. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +48 -5
  39. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  40. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +8 -0
  41. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +7 -5
  42. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +5 -3
  43. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +1 -1
  44. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  45. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +8 -4
  46. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +4 -4
  47. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  48. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +14 -4
  49. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +3 -3
  50. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  51. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +2 -2
  52. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +15 -0
  53. package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -0
  54. package/dest/mem_pools/tx_pool_v2/instrumentation.js +43 -0
  55. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +14 -2
  56. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  57. package/dest/mem_pools/tx_pool_v2/interfaces.js +3 -1
  58. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +9 -5
  59. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  60. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +30 -5
  61. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +12 -3
  62. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  63. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +27 -4
  64. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +8 -3
  65. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  66. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +11 -6
  67. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +12 -4
  68. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  69. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +164 -37
  70. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +2 -2
  71. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  72. package/dest/msg_validators/tx_validator/timestamp_validator.js +6 -6
  73. package/dest/services/dummy_service.d.ts +3 -2
  74. package/dest/services/dummy_service.d.ts.map +1 -1
  75. package/dest/services/dummy_service.js +3 -0
  76. package/dest/services/encoding.d.ts +1 -1
  77. package/dest/services/encoding.d.ts.map +1 -1
  78. package/dest/services/encoding.js +2 -1
  79. package/dest/services/gossipsub/topic_score_params.d.ts +18 -6
  80. package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -1
  81. package/dest/services/gossipsub/topic_score_params.js +32 -10
  82. package/dest/services/libp2p/libp2p_service.d.ts +2 -1
  83. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  84. package/dest/services/libp2p/libp2p_service.js +7 -3
  85. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +4 -3
  86. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  87. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +5 -9
  88. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +2 -6
  89. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
  90. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +10 -13
  91. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
  92. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +25 -46
  93. package/dest/services/service.d.ts +4 -2
  94. package/dest/services/service.d.ts.map +1 -1
  95. package/dest/services/tx_collection/config.d.ts +13 -1
  96. package/dest/services/tx_collection/config.d.ts.map +1 -1
  97. package/dest/services/tx_collection/config.js +30 -0
  98. package/dest/services/tx_collection/fast_tx_collection.d.ts +1 -1
  99. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  100. package/dest/services/tx_collection/fast_tx_collection.js +39 -33
  101. package/dest/services/tx_collection/file_store_tx_collection.d.ts +38 -29
  102. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -1
  103. package/dest/services/tx_collection/file_store_tx_collection.js +126 -77
  104. package/dest/services/tx_collection/file_store_tx_source.d.ts +16 -6
  105. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -1
  106. package/dest/services/tx_collection/file_store_tx_source.js +49 -16
  107. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  108. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  109. package/dest/services/tx_collection/instrumentation.js +2 -1
  110. package/dest/services/tx_collection/missing_txs_tracker.d.ts +32 -0
  111. package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +1 -0
  112. package/dest/services/tx_collection/missing_txs_tracker.js +27 -0
  113. package/dest/services/tx_collection/proposal_tx_collector.d.ts +7 -6
  114. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -1
  115. package/dest/services/tx_collection/proposal_tx_collector.js +5 -4
  116. package/dest/services/tx_collection/slow_tx_collection.d.ts +5 -3
  117. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  118. package/dest/services/tx_collection/slow_tx_collection.js +17 -12
  119. package/dest/services/tx_collection/tx_collection.d.ts +9 -6
  120. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  121. package/dest/services/tx_collection/tx_collection.js +26 -10
  122. package/dest/services/tx_collection/tx_collection_sink.d.ts +6 -5
  123. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  124. package/dest/services/tx_collection/tx_collection_sink.js +13 -22
  125. package/dest/services/tx_collection/tx_source.d.ts +8 -3
  126. package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
  127. package/dest/services/tx_collection/tx_source.js +19 -2
  128. package/dest/services/tx_file_store/tx_file_store.d.ts +3 -2
  129. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -1
  130. package/dest/services/tx_file_store/tx_file_store.js +9 -6
  131. package/dest/test-helpers/mock-pubsub.d.ts +3 -2
  132. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  133. package/dest/test-helpers/mock-pubsub.js +6 -0
  134. package/dest/test-helpers/testbench-utils.d.ts +7 -2
  135. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  136. package/dest/test-helpers/testbench-utils.js +7 -1
  137. package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -2
  138. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  139. package/dest/testbench/p2p_client_testbench_worker.js +8 -8
  140. package/dest/util.d.ts +2 -2
  141. package/dest/util.d.ts.map +1 -1
  142. package/package.json +14 -14
  143. package/src/client/factory.ts +18 -3
  144. package/src/client/interface.ts +20 -9
  145. package/src/client/p2p_client.ts +57 -17
  146. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +18 -8
  147. package/src/config.ts +9 -1
  148. package/src/errors/tx-pool.error.ts +12 -0
  149. package/src/mem_pools/attestation_pool/attestation_pool.ts +8 -0
  150. package/src/mem_pools/attestation_pool/mocks.ts +2 -1
  151. package/src/mem_pools/tx_pool/README.md +1 -1
  152. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +3 -3
  153. package/src/mem_pools/tx_pool_v2/README.md +43 -27
  154. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +109 -22
  155. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +21 -8
  156. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +4 -1
  157. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +15 -4
  158. package/src/mem_pools/tx_pool_v2/eviction/index.ts +4 -0
  159. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +49 -4
  160. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +5 -5
  161. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +3 -3
  162. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +8 -7
  163. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +24 -6
  164. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +3 -3
  165. package/src/mem_pools/tx_pool_v2/instrumentation.ts +69 -0
  166. package/src/mem_pools/tx_pool_v2/interfaces.ts +14 -2
  167. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +44 -9
  168. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +32 -5
  169. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +17 -6
  170. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +186 -29
  171. package/src/msg_validators/tx_validator/timestamp_validator.ts +7 -7
  172. package/src/services/dummy_service.ts +5 -1
  173. package/src/services/encoding.ts +2 -1
  174. package/src/services/gossipsub/README.md +29 -14
  175. package/src/services/gossipsub/topic_score_params.ts +49 -13
  176. package/src/services/libp2p/libp2p_service.ts +7 -2
  177. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +6 -6
  178. package/src/services/reqresp/batch-tx-requester/interface.ts +1 -5
  179. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +23 -71
  180. package/src/services/service.ts +10 -1
  181. package/src/services/tx_collection/config.ts +42 -0
  182. package/src/services/tx_collection/fast_tx_collection.ts +51 -30
  183. package/src/services/tx_collection/file_store_tx_collection.ts +143 -93
  184. package/src/services/tx_collection/file_store_tx_source.ts +64 -17
  185. package/src/services/tx_collection/instrumentation.ts +7 -1
  186. package/src/services/tx_collection/missing_txs_tracker.ts +52 -0
  187. package/src/services/tx_collection/proposal_tx_collector.ts +8 -7
  188. package/src/services/tx_collection/slow_tx_collection.ts +17 -13
  189. package/src/services/tx_collection/tx_collection.ts +45 -14
  190. package/src/services/tx_collection/tx_collection_sink.ts +15 -29
  191. package/src/services/tx_collection/tx_source.ts +22 -3
  192. package/src/services/tx_file_store/tx_file_store.ts +6 -4
  193. package/src/test-helpers/mock-pubsub.ts +10 -0
  194. package/src/test-helpers/testbench-utils.ts +10 -2
  195. package/src/testbench/p2p_client_testbench_worker.ts +20 -13
  196. package/src/util.ts +7 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mock-pubsub.d.ts","sourceRoot":"","sources":["../../src/test-helpers/mock-pubsub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-pubsub.d.ts","sourceRoot":"","sources":["../../src/test-helpers/mock-pubsub.ts"],"names":[],"mappings":"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"}
@@ -178,6 +178,12 @@ class MockGossipSubService extends TypedEventEmitter {
178
178
  acceptance
179
179
  });
180
180
  }
181
+ getMeshPeers(topic) {
182
+ if (topic && !this.subscribedTopics.has(topic)) {
183
+ return [];
184
+ }
185
+ return this.network.getPeers().filter((peer)=>!this.peerId.equals(peer)).map((peer)=>peer.toString());
186
+ }
181
187
  }
182
188
  /**
183
189
  * Mock gossip sub network used for testing.
@@ -24,6 +24,7 @@ export declare class InMemoryTxPool extends EventEmitter implements TxPoolV2 {
24
24
  resetState(): void;
25
25
  addPendingTxs(txs: Tx[], opts?: {
26
26
  source?: string;
27
+ feeComparisonOnly?: boolean;
27
28
  }): Promise<AddTxsResult>;
28
29
  canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored' | 'rejected'>;
29
30
  addProtectedTxs(txs: Tx[], _block: BlockHeader, opts?: {
@@ -35,7 +36,9 @@ export declare class InMemoryTxPool extends EventEmitter implements TxPoolV2 {
35
36
  }): Promise<void>;
36
37
  handleMinedBlock(_block: L2Block): Promise<void>;
37
38
  prepareForSlot(_slotNumber: SlotNumber): Promise<void>;
38
- handlePrunedBlocks(_latestBlock: L2BlockId): Promise<void>;
39
+ handlePrunedBlocks(_latestBlock: L2BlockId, _options?: {
40
+ deleteAllTxs?: boolean;
41
+ }): Promise<void>;
39
42
  handleFailedExecution(txHashes: TxHash[]): Promise<void>;
40
43
  handleFinalizedBlock(_block: BlockHeader): Promise<void>;
41
44
  getTxByHash(hash: TxHash): Promise<Tx | undefined>;
@@ -43,6 +46,7 @@ export declare class InMemoryTxPool extends EventEmitter implements TxPoolV2 {
43
46
  hasTxs(hashes: TxHash[]): Promise<boolean[]>;
44
47
  getArchivedTxByHash(_hash: TxHash): Promise<Tx | undefined>;
45
48
  getPendingTxHashes(): Promise<TxHash[]>;
49
+ getEligiblePendingTxHashes(): Promise<TxHash[]>;
46
50
  getPendingTxCount(): Promise<number>;
47
51
  getMinedTxHashes(): Promise<[TxHash, L2BlockId][]>;
48
52
  getMinedTxCount(): Promise<number>;
@@ -68,6 +72,7 @@ export declare class InMemoryAttestationPool {
68
72
  getCheckpointAttestationsForSlot(_slot: SlotNumber): Promise<CheckpointAttestation[]>;
69
73
  getCheckpointAttestationsForSlotAndProposal(_slot: SlotNumber, _proposalId: string): Promise<CheckpointAttestation[]>;
70
74
  tryAddCheckpointAttestation(_attestation: CheckpointAttestation): Promise<TryAddResult>;
75
+ hasBlockProposalsForSlot(_slot: SlotNumber): Promise<boolean>;
71
76
  isEmpty(): Promise<boolean>;
72
77
  resetState(): void;
73
78
  }
@@ -155,4 +160,4 @@ export declare function filterTxsByDistribution(allTxs: Tx[], peerIndex: number,
155
160
  * Ensures we return before the outer timeout while maintaining a minimum.
156
161
  */
157
162
  export declare function calculateInternalTimeout(timeoutMs: number): number;
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGJlbmNoLXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL3Rlc3RiZW5jaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFDVixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdkIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUVsQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3RFOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFlLFNBQVEsWUFBYSxZQUFXLFFBQVE7SUFDbEUsT0FBTyxDQUFDLFNBQVMsQ0FBeUI7SUFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUI7SUFFckMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUU5QjtJQUVELE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUd4QjtJQUVELFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQVUzQjtJQUVELFFBQVEsSUFBSSxJQUFJLENBRWY7SUFFRCxVQUFVLElBQUksSUFBSSxDQUdqQjtJQUlELGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FlMUU7SUFFRCxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxHQUFHLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FNcEU7SUFFRCxlQUFlLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FTekY7SUFFRCxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBUXJFO0lBRUQsV0FBVyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBTXRGO0lBSUQsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRS9DO0lBRUQsY0FBYyxDQUFDLFdBQVcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVyRDtJQUVELGtCQUFrQixDQUFDLFlBQVksRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUV6RDtJQUVELHFCQUFxQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBS3ZEO0lBRUQsb0JBQW9CLENBQUMsTUFBTSxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXZEO0lBSUQsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FFakQ7SUFFRCxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBSzFEO0lBRUQsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FFM0M7SUFFRCxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBRTFEO0lBRUQsa0JBQWtCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBRXRDO0lBRUQsaUJBQWlCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVuQztJQUVELGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBRWpEO0lBRUQsZUFBZSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFakM7SUFFRCxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FFbEU7SUFFRCxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUUxQjtJQUVELHdCQUF3QixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBRTFEO0lBSUQsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1RDtJQUlELEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXJCO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFcEI7Q0FDRjtBQUVEOzs7R0FHRztBQUNILHFCQUFhLHVCQUF1QjtJQUNsQyxPQUFPLENBQUMsU0FBUyxDQUFvQztJQUVyRCxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FRdkU7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLENBRS9EO0lBRUQsd0JBQXdCLENBQUMsU0FBUyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFN0U7SUFFRCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUMsQ0FFOUU7SUFFSyw0QkFBNEIsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUc7SUFFdEYsZUFBZSxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFHO0lBRTFELGdDQUFnQyxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FFcEY7SUFFRCwyQ0FBMkMsQ0FDekMsS0FBSyxFQUFFLFVBQVUsRUFDakIsV0FBVyxFQUFFLE1BQU0sR0FDbEIsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FFbEM7SUFFRCwyQkFBMkIsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUV0RjtJQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBRTFCO0lBRUQsVUFBVSxJQUFJLElBQUksQ0FFakI7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLG9CQUFvQixJQUFJLG1CQUFtQixDQXNCMUQ7QUFFRDs7R0FFRztBQUNILHdCQUFnQixnQ0FBZ0MsSUFBSSxzQkFBc0IsQ0FhekU7QUFFRDs7R0FFRztBQUNILGVBQU8sTUFBTSwwQkFBMEI7Ozs7Ozs7OztDQUd0QyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLG1DQUFtQyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUl0RTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG1CQUFtQixHQUFHLFNBQVMsR0FBRyxRQUFRLEdBQUcsYUFBYSxDQUFDO0FBRXZFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsR0FBRyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztBQUVyRTs7R0FFRztBQUNILGVBQU8sTUFBTSx1QkFBdUIsRUFBRSxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FHakUsQ0FBQztBQUVGOztHQUVHO0FBQ0gsZUFBTyxNQUFNLG1CQUFtQjtJQUM5QixrRUFBa0U7O0lBRWxFLGdEQUFnRDs7SUFFaEQsOENBQThDOztJQUU5QyxtQ0FBbUM7O0lBRW5DLGtEQUFrRDs7SUFFbEQsOEJBQThCOztJQUU5QixnRkFBZ0Y7O0lBRWhGLG9EQUFvRDs7SUFFcEQsNENBQTRDOztJQUU1QyxxREFBcUQ7O0lBRXJELGdFQUFnRTs7Q0FFeEQsQ0FBQztBQUVYOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFnQix1QkFBdUIsQ0FDckMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUNaLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFlBQVksRUFBRSxtQkFBbUIsRUFDakMsZUFBZSxHQUFFLE1BQVUsR0FDMUIsRUFBRSxFQUFFLENBc0JOO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUVsRSJ9
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGJlbmNoLXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL3Rlc3RiZW5jaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFDVixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdkIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUVsQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3RFOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFlLFNBQVEsWUFBYSxZQUFXLFFBQVE7SUFDbEUsT0FBTyxDQUFDLFNBQVMsQ0FBeUI7SUFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUI7SUFFckMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUU5QjtJQUVELE1BQU0sQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"testbench-utils.d.ts","sourceRoot":"","sources":["../../src/test-helpers/testbench-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testbench-utils.d.ts","sourceRoot":"","sources":["../../src/test-helpers/testbench-utils.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,7 @@ import { RateLimitStatus } from '../services/reqresp/rate-limiter/rate_limiter.j
101
101
  prepareForSlot(_slotNumber) {
102
102
  return Promise.resolve();
103
103
  }
104
- handlePrunedBlocks(_latestBlock) {
104
+ handlePrunedBlocks(_latestBlock, _options) {
105
105
  return Promise.resolve();
106
106
  }
107
107
  handleFailedExecution(txHashes) {
@@ -134,6 +134,9 @@ import { RateLimitStatus } from '../services/reqresp/rate-limiter/rate_limiter.j
134
134
  ...this.txsByHash.keys()
135
135
  ].map((key)=>TxHash.fromString(key)));
136
136
  }
137
+ getEligiblePendingTxHashes() {
138
+ return this.getPendingTxHashes();
139
+ }
137
140
  getPendingTxCount() {
138
141
  return Promise.resolve(this.txsByHash.size);
139
142
  }
@@ -214,6 +217,9 @@ import { RateLimitStatus } from '../services/reqresp/rate-limiter/rate_limiter.j
214
217
  count: 1
215
218
  });
216
219
  }
220
+ hasBlockProposalsForSlot(_slot) {
221
+ return Promise.resolve(false);
222
+ }
217
223
  isEmpty() {
218
224
  return Promise.resolve(this.proposals.size === 0);
219
225
  }
@@ -1,4 +1,4 @@
1
- import { type CollectorType, type DistributionPattern } from '../test-helpers/testbench-utils.js';
1
+ import { type CollectorType, type DistributionPattern } from '../test-helpers/index.js';
2
2
  export type { DistributionPattern, CollectorType } from '../test-helpers/testbench-utils.js';
3
3
  export { COLLECTOR_DISPLAY_NAMES } from '../test-helpers/testbench-utils.js';
4
4
  export interface BenchReqRespCommand {
@@ -25,4 +25,4 @@ export interface BenchResultMessage {
25
25
  export interface BenchReadyMessage {
26
26
  type: 'BENCH_READY';
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX2NsaWVudF90ZXN0YmVuY2hfd29ya2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3AycF9jbGllbnRfdGVzdGJlbmNoX3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErQ0EsT0FBTyxFQUVMLEtBQUssYUFBYSxFQUNsQixLQUFLLG1CQUFtQixFQU96QixNQUFNLG9DQUFvQyxDQUFDO0FBRzVDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU3RSxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLElBQUksRUFBRSxlQUFlLENBQUM7SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztJQUNsQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN6QixZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEIsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDO0NBQ2Q7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLElBQUksRUFBRSxjQUFjLENBQUM7SUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDakIsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsTUFBTSxXQUFXLGlCQUFpQjtJQUNoQyxJQUFJLEVBQUUsYUFBYSxDQUFDO0NBQ3JCIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX2NsaWVudF90ZXN0YmVuY2hfd29ya2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3AycF9jbGllbnRfdGVzdGJlbmNoX3dvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0Q0EsT0FBTyxFQUVMLEtBQUssYUFBYSxFQUNsQixLQUFLLG1CQUFtQixFQU96QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU3RSxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLElBQUksRUFBRSxlQUFlLENBQUM7SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztJQUNsQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN6QixZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEIsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixJQUFJLEVBQUUsTUFBTSxDQUFDO0NBQ2Q7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLElBQUksRUFBRSxjQUFjLENBQUM7SUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDakIsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsTUFBTSxXQUFXLGlCQUFpQjtJQUNoQyxJQUFJLEVBQUUsYUFBYSxDQUFDO0NBQ3JCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"p2p_client_testbench_worker.d.ts","sourceRoot":"","sources":["../../src/testbench/p2p_client_testbench_worker.ts"],"names":[],"mappings":"AA+CA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAOzB,MAAM,oCAAoC,CAAC;AAG5C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;CACrB"}
1
+ {"version":3,"file":"p2p_client_testbench_worker.d.ts","sourceRoot":"","sources":["../../src/testbench/p2p_client_testbench_worker.ts"],"names":[],"mappings":"AA4CA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAOzB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAC;CACrB"}
@@ -21,11 +21,11 @@ import { getTelemetryClient } from '@aztec/telemetry-client';
21
21
  import { TopicValidatorResult } from '@libp2p/interface';
22
22
  import { peerIdFromString } from '@libp2p/peer-id';
23
23
  import { createP2PClient } from '../index.js';
24
- import { LibP2PService } from '../services/libp2p/libp2p_service.js';
24
+ import { BatchTxRequesterCollector, LibP2PService, SendBatchRequestCollector } from '../services/index.js';
25
25
  import { RateLimitStatus } from '../services/reqresp/rate-limiter/rate_limiter.js';
26
- import { BatchTxRequesterCollector, SendBatchRequestCollector } from '../services/tx_collection/proposal_tx_collector.js';
27
- import { AlwaysTrueCircuitVerifier } from '../test-helpers/reqresp-nodes.js';
28
- import { BENCHMARK_CONSTANTS, InMemoryAttestationPool, InMemoryTxPool, UNLIMITED_RATE_LIMIT_QUOTA, createMockEpochCache, createMockWorldStateSynchronizer, filterTxsByDistribution } from '../test-helpers/testbench-utils.js';
26
+ import { MissingTxsTracker } from '../services/tx_collection/missing_txs_tracker.js';
27
+ import { AlwaysTrueCircuitVerifier } from '../test-helpers/index.js';
28
+ import { BENCHMARK_CONSTANTS, InMemoryAttestationPool, InMemoryTxPool, UNLIMITED_RATE_LIMIT_QUOTA, createMockEpochCache, createMockWorldStateSynchronizer, filterTxsByDistribution } from '../test-helpers/index.js';
29
29
  export { COLLECTOR_DISPLAY_NAMES } from '../test-helpers/testbench-utils.js';
30
30
  const txCache = new Map();
31
31
  class TestLibP2PService extends LibP2PService {
@@ -70,7 +70,7 @@ async function generateDeterministicTxs(txCount, seed, config) {
70
70
  if (cached.length >= txCount) {
71
71
  return cached.slice(0, txCount);
72
72
  }
73
- const includeByTimestampBase = BigInt(seed);
73
+ const expirationTimestampBase = BigInt(seed);
74
74
  for(let i = cached.length; i < txCount; i++){
75
75
  const txSeed = seed * 10000 + i;
76
76
  const tx = await mockTx(txSeed, {
@@ -86,7 +86,7 @@ async function generateDeterministicTxs(txCount, seed, config) {
86
86
  hasPublicTeardownCallRequest: false,
87
87
  publicCalldataSize: 0
88
88
  });
89
- tx.data.includeByTimestamp = includeByTimestampBase + BigInt(i);
89
+ tx.data.expirationTimestamp = expirationTimestampBase + BigInt(i);
90
90
  await tx.recomputeHash();
91
91
  cached.push(tx);
92
92
  }
@@ -154,7 +154,7 @@ async function runAggregatorBenchmark(client, blockProposal, collectorType, time
154
154
  timer = new Timer();
155
155
  if (collectorType === 'batch-requester') {
156
156
  const collector = new BatchTxRequesterCollector(batchTxRequesterService, logger, new DateProvider(), noopTxValidator);
157
- const fetchedTxs = await collector.collectTxs(txHashes, blockProposal, pinnedPeer, timeoutMs);
157
+ const fetchedTxs = await collector.collectTxs(MissingTxsTracker.fromArray(txHashes), blockProposal, pinnedPeer, timeoutMs);
158
158
  const durationMs = timer.ms();
159
159
  return {
160
160
  type: 'BENCH_RESULT',
@@ -164,7 +164,7 @@ async function runAggregatorBenchmark(client, blockProposal, collectorType, time
164
164
  };
165
165
  }
166
166
  const collector = new SendBatchRequestCollector(batchTxRequesterService, BENCHMARK_CONSTANTS.FIXED_MAX_PEERS, BENCHMARK_CONSTANTS.FIXED_MAX_RETRY_ATTEMPTS);
167
- const fetchedTxs = await collector.collectTxs(txHashes, blockProposal, pinnedPeer, timeoutMs);
167
+ const fetchedTxs = await collector.collectTxs(MissingTxsTracker.fromArray(txHashes), blockProposal, pinnedPeer, timeoutMs);
168
168
  const durationMs = timer.ms();
169
169
  return {
170
170
  type: 'BENCH_RESULT',
package/dest/util.d.ts CHANGED
@@ -10,7 +10,7 @@ import type { Libp2p } from 'libp2p';
10
10
  import type { P2PConfig } from './config.js';
11
11
  export interface PubSubLibp2p extends Pick<Libp2p, 'status' | 'start' | 'stop' | 'peerId'> {
12
12
  services: {
13
- pubsub: Pick<GossipSub, 'addEventListener' | 'removeEventListener' | 'publish' | 'subscribe' | 'reportMessageValidationResult' | 'direct'> & {
13
+ pubsub: Pick<GossipSub, 'addEventListener' | 'removeEventListener' | 'publish' | 'subscribe' | 'reportMessageValidationResult' | 'direct' | 'getMeshPeers'> & {
14
14
  score: Pick<GossipSub['score'], 'score'>;
15
15
  };
16
16
  };
@@ -58,4 +58,4 @@ export declare function getPeerIdPrivateKey(config: {
58
58
  * @returns The peer ID.
59
59
  */
60
60
  export declare function createLibP2PPeerIdFromPrivateKey(privateKey: string): Promise<PeerId>;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBYyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJcEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSXJDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUk3QyxNQUFNLFdBQVcsWUFBYSxTQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3hGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJLENBQ1YsU0FBUyxFQUNULGtCQUFrQixHQUFHLHFCQUFxQixHQUFHLFNBQVMsR0FBRyxXQUFXLEdBQUcsK0JBQStCLEdBQUcsUUFBUSxDQUNsSCxHQUFHO1lBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7U0FBRSxDQUFDO0tBQ2xELENBQUM7Q0FDSDtBQUVELE1BQU0sTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0lBQzlCLFFBQVEsRUFBRSxRQUFRLENBQUM7SUFDbkIsTUFBTSxFQUFFLFNBQVMsQ0FBQztJQUNsQixVQUFVLEVBQUU7UUFDVixpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztLQUN0QyxDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUg7Ozs7Ozs7NkNBTzZDO0FBQzdDLHdCQUFnQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxDQU9qRztBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLFdBQVcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBUW5EO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUd6RDtBQUVELHdCQUFzQix5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVc5RjtBQWNELHdCQUFzQiwyQkFBMkIsQ0FDL0MsT0FBTyxFQUFFLFNBQVMsR0FBRyxlQUFlLEdBQ25DLE9BQU8sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLENBbUJ0QztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLG1CQUFtQixDQUN2QyxNQUFNLEVBQUU7SUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUFDLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFBO0NBQUUsRUFDekcsS0FBSyxFQUFFLGlCQUFpQixFQUN4QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0EyRDlCO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixnQ0FBZ0MsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FTMUYifQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBYyxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJcEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSXJDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUk3QyxNQUFNLFdBQVcsWUFBYSxTQUFRLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsUUFBUSxDQUFDO0lBQ3hGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxJQUFJLENBQ1YsU0FBUyxFQUNQLGtCQUFrQixHQUNsQixxQkFBcUIsR0FDckIsU0FBUyxHQUNULFdBQVcsR0FDWCwrQkFBK0IsR0FDL0IsUUFBUSxHQUNSLGNBQWMsQ0FDakIsR0FBRztZQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1NBQUUsQ0FBQztLQUNsRCxDQUFDO0NBQ0g7QUFFRCxNQUFNLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztJQUM5QixRQUFRLEVBQUUsUUFBUSxDQUFDO0lBQ25CLE1BQU0sRUFBRSxTQUFTLENBQUM7SUFDbEIsVUFBVSxFQUFFO1FBQ1YsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7S0FDdEMsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVIOzs7Ozs7OzZDQU82QztBQUM3Qyx3QkFBZ0Isa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FPakc7QUFFRDs7R0FFRztBQUNILHdCQUFzQixXQUFXLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVFuRDtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FHekQ7QUFFRCx3QkFBc0IseUJBQXlCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FXOUY7QUFjRCx3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxTQUFTLEdBQUcsZUFBZSxHQUNuQyxPQUFPLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxDQW1CdEM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixtQkFBbUIsQ0FDdkMsTUFBTSxFQUFFO0lBQUUsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFBQyxvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEVBQ3pHLEtBQUssRUFBRSxpQkFBaUIsRUFDeEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBMkQ5QjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0IsZ0NBQWdDLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBUzFGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxF,QAAQ,EAAE;QACR,MAAM,EAAE,IAAI,CACV,SAAS,EACT,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,GAAG,WAAW,GAAG,+BAA+B,GAAG,QAAQ,CAClH,GAAG;YAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QACV,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;6CAO6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAOjG;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAQnD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9F;AAcD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,SAAS,GAAG,eAAe,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CAmBtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACzG,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA2D9B;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1F"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxF,QAAQ,EAAE;QACR,MAAM,EAAE,IAAI,CACV,SAAS,EACP,kBAAkB,GAClB,qBAAqB,GACrB,SAAS,GACT,WAAW,GACX,+BAA+B,GAC/B,QAAQ,GACR,cAAc,CACjB,GAAG;YAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;KAClD,CAAC;CACH;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QACV,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;6CAO6C;AAC7C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAOjG;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAQnD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9F;AAcD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,SAAS,GAAG,eAAe,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,CAmBtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACzG,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA2D9B;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS1F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/p2p",
3
- "version": "0.0.1-commit.4d79d1f2d",
3
+ "version": "0.0.1-commit.4eabbdb",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -67,17 +67,17 @@
67
67
  ]
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/constants": "0.0.1-commit.4d79d1f2d",
71
- "@aztec/epoch-cache": "0.0.1-commit.4d79d1f2d",
72
- "@aztec/ethereum": "0.0.1-commit.4d79d1f2d",
73
- "@aztec/foundation": "0.0.1-commit.4d79d1f2d",
74
- "@aztec/kv-store": "0.0.1-commit.4d79d1f2d",
75
- "@aztec/noir-contracts.js": "0.0.1-commit.4d79d1f2d",
76
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.4d79d1f2d",
77
- "@aztec/protocol-contracts": "0.0.1-commit.4d79d1f2d",
78
- "@aztec/simulator": "0.0.1-commit.4d79d1f2d",
79
- "@aztec/stdlib": "0.0.1-commit.4d79d1f2d",
80
- "@aztec/telemetry-client": "0.0.1-commit.4d79d1f2d",
70
+ "@aztec/constants": "0.0.1-commit.4eabbdb",
71
+ "@aztec/epoch-cache": "0.0.1-commit.4eabbdb",
72
+ "@aztec/ethereum": "0.0.1-commit.4eabbdb",
73
+ "@aztec/foundation": "0.0.1-commit.4eabbdb",
74
+ "@aztec/kv-store": "0.0.1-commit.4eabbdb",
75
+ "@aztec/noir-contracts.js": "0.0.1-commit.4eabbdb",
76
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.4eabbdb",
77
+ "@aztec/protocol-contracts": "0.0.1-commit.4eabbdb",
78
+ "@aztec/simulator": "0.0.1-commit.4eabbdb",
79
+ "@aztec/stdlib": "0.0.1-commit.4eabbdb",
80
+ "@aztec/telemetry-client": "0.0.1-commit.4eabbdb",
81
81
  "@chainsafe/libp2p-gossipsub": "13.0.0",
82
82
  "@chainsafe/libp2p-noise": "^15.0.0",
83
83
  "@chainsafe/libp2p-yamux": "^6.0.2",
@@ -104,8 +104,8 @@
104
104
  "xxhash-wasm": "^1.1.0"
105
105
  },
106
106
  "devDependencies": {
107
- "@aztec/archiver": "0.0.1-commit.4d79d1f2d",
108
- "@aztec/world-state": "0.0.1-commit.4d79d1f2d",
107
+ "@aztec/archiver": "0.0.1-commit.4eabbdb",
108
+ "@aztec/world-state": "0.0.1-commit.4eabbdb",
109
109
  "@jest/globals": "^30.0.0",
110
110
  "@types/jest": "^30.0.0",
111
111
  "@types/node": "^22.15.17",
@@ -7,7 +7,7 @@ import { AztecLMDBStoreV2, createStore } from '@aztec/kv-store/lmdb-v2';
7
7
  import type { BlockHash, L2BlockSource } from '@aztec/stdlib/block';
8
8
  import type { ChainConfig } from '@aztec/stdlib/config';
9
9
  import type { ContractDataSource } from '@aztec/stdlib/contract';
10
- import type { ClientProtocolCircuitVerifier, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
10
+ import type { AztecNode, ClientProtocolCircuitVerifier, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
11
  import { P2PClientType } from '@aztec/stdlib/p2p';
12
12
  import { MerkleTreeId } from '@aztec/stdlib/trees';
13
13
  import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
@@ -26,7 +26,7 @@ import { DummyP2PService } from '../services/dummy_service.js';
26
26
  import { LibP2PService } from '../services/index.js';
27
27
  import { createFileStoreTxSources } from '../services/tx_collection/file_store_tx_source.js';
28
28
  import { TxCollection } from '../services/tx_collection/tx_collection.js';
29
- import { type TxSource, createNodeRpcTxSources } from '../services/tx_collection/tx_source.js';
29
+ import { NodeRpcTxSource, type TxSource, createNodeRpcTxSources } from '../services/tx_collection/tx_source.js';
30
30
  import { TxFileStore } from '../services/tx_file_store/tx_file_store.js';
31
31
  import { configureP2PClientAddresses, createLibP2PPeerIdFromPrivateKey, getPeerIdPrivateKey } from '../util.js';
32
32
 
@@ -36,6 +36,7 @@ export type P2PClientDeps<T extends P2PClientType> = {
36
36
  attestationPool?: AttestationPoolApi;
37
37
  logger?: Logger;
38
38
  txCollectionNodeSources?: TxSource[];
39
+ rpcTxProviders?: AztecNode[];
39
40
  p2pServiceFactory?: (...args: Parameters<(typeof LibP2PService)['new']>) => Promise<LibP2PService<T>>;
40
41
  };
41
42
 
@@ -76,6 +77,9 @@ export async function createP2PClient<T extends P2PClientType>(
76
77
  const attestationStore = await createStore(P2P_ATTESTATION_STORE_NAME, 1, config, bindings);
77
78
  const l1Constants = await archiver.getL1Constants();
78
79
 
80
+ const rollupAddress = inputConfig.l1Contracts.rollupAddress.toString().toLowerCase().replace(/^0x/, '');
81
+ const txFileStoreBasePath = `aztec-${inputConfig.l1ChainId}-${inputConfig.rollupVersion}-0x${rollupAddress}`;
82
+
79
83
  /** Validator factory for pool re-validation (double-spend + block header only). */
80
84
  const createPoolTxValidator = async () => {
81
85
  await worldStateSynchronizer.syncImmediate();
@@ -116,7 +120,9 @@ export async function createP2PClient<T extends P2PClientType>(
116
120
  {
117
121
  maxPendingTxCount: config.maxPendingTxCount,
118
122
  archivedTxLimit: config.archivedTxLimit,
123
+ minTxPoolAgeMs: config.minTxPoolAgeMs,
119
124
  },
125
+ dateProvider,
120
126
  );
121
127
 
122
128
  const mempools: MemPools = {
@@ -142,6 +148,7 @@ export async function createP2PClient<T extends P2PClientType>(
142
148
 
143
149
  const nodeSources = [
144
150
  ...createNodeRpcTxSources(config.txCollectionNodeRpcUrls, config),
151
+ ...(deps.rpcTxProviders ?? []).map((node, i) => new NodeRpcTxSource(node, `node-rpc-provider-${i}`)),
145
152
  ...(deps.txCollectionNodeSources ?? []),
146
153
  ];
147
154
  if (nodeSources.length > 0) {
@@ -152,7 +159,9 @@ export async function createP2PClient<T extends P2PClientType>(
152
159
 
153
160
  const fileStoreSources = await createFileStoreTxSources(
154
161
  config.txCollectionFileStoreUrls,
162
+ txFileStoreBasePath,
155
163
  logger.createChild('file-store-tx-source'),
164
+ telemetry,
156
165
  );
157
166
  if (fileStoreSources.length > 0) {
158
167
  logger.info(`Using ${fileStoreSources.length} file store sources for tx collection.`, {
@@ -172,7 +181,13 @@ export async function createP2PClient<T extends P2PClientType>(
172
181
  logger.createChild('tx-collection'),
173
182
  );
174
183
 
175
- const txFileStore = await TxFileStore.create(mempools.txPool, config, logger.createChild('tx-file-store'), telemetry);
184
+ const txFileStore = await TxFileStore.create(
185
+ mempools.txPool,
186
+ config,
187
+ txFileStoreBasePath,
188
+ logger.createChild('tx-file-store'),
189
+ telemetry,
190
+ );
176
191
 
177
192
  return new P2PClient(
178
193
  clientType,
@@ -1,7 +1,13 @@
1
1
  import type { SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import type { EthAddress, L2BlockId } from '@aztec/stdlib/block';
3
- import type { P2PApiFull } from '@aztec/stdlib/interfaces/server';
4
- import type { BlockProposal, CheckpointAttestation, CheckpointProposal, P2PClientType } from '@aztec/stdlib/p2p';
3
+ import type { ITxProvider, P2PApiFull } from '@aztec/stdlib/interfaces/server';
4
+ import type {
5
+ BlockProposal,
6
+ CheckpointAttestation,
7
+ CheckpointProposal,
8
+ P2PClientType,
9
+ TopicType,
10
+ } from '@aztec/stdlib/p2p';
5
11
  import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
6
12
 
7
13
  import type { PeerId } from '@libp2p/interface';
@@ -107,13 +113,6 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
107
113
  **/
108
114
  sendTx(tx: Tx): Promise<void>;
109
115
 
110
- /**
111
- * Adds transactions to the pool. Does not send to peers or validate the tx.
112
- * @param txs - The transactions.
113
- * @returns The number of txs added to the pool. Note if the transaction already exists, it will not be added again.
114
- **/
115
- addTxsToPool(txs: Tx[]): Promise<number>;
116
-
117
116
  /**
118
117
  * Handles failed transaction execution by removing txs from the pool.
119
118
  * @param txHashes - Hashes of the transactions that failed execution.
@@ -166,6 +165,9 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
166
165
  /** Returns an iterator over pending txs on the mempool. */
167
166
  iteratePendingTxs(): AsyncIterableIterator<Tx>;
168
167
 
168
+ /** Returns an iterator over pending txs that have been in the pool long enough to be eligible for block building. */
169
+ iterateEligiblePendingTxs(): AsyncIterableIterator<Tx>;
170
+
169
171
  /** Returns the number of pending txs in the mempool. */
170
172
  getPendingTxCount(): Promise<number>;
171
173
 
@@ -217,6 +219,9 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
217
219
  /** Identifies a p2p client. */
218
220
  isP2PClient(): true;
219
221
 
222
+ /** Returns the tx provider used for fetching transactions. */
223
+ getTxProvider(): ITxProvider;
224
+
220
225
  updateP2PConfig(config: Partial<P2PConfig>): Promise<void>;
221
226
 
222
227
  /** Validates a set of txs. */
@@ -233,6 +238,12 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
233
238
 
234
239
  handleAuthRequestFromPeer(authRequest: AuthRequest, peerId: PeerId): Promise<StatusMessage>;
235
240
 
241
+ /** Checks if any block proposals exist for the given slot. */
242
+ hasBlockProposalsForSlot(slot: SlotNumber): Promise<boolean>;
243
+
236
244
  /** If node running this P2P stack is validator, passes in validator address to P2P layer */
237
245
  registerThisValidatorAddresses(address: EthAddress[]): void;
246
+
247
+ /** Returns the number of peers in the GossipSub mesh for a given topic type. */
248
+ getGossipMeshPeerCount(topicType: TopicType): Promise<number>;
238
249
  };
@@ -1,12 +1,13 @@
1
1
  import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
2
  import type { EpochCacheInterface } from '@aztec/epoch-cache';
3
- import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
4
4
  import { createLogger } from '@aztec/foundation/log';
5
5
  import { RunningPromise } from '@aztec/foundation/promise';
6
6
  import { DateProvider } from '@aztec/foundation/timer';
7
7
  import type { AztecAsyncKVStore, AztecAsyncSingleton } from '@aztec/kv-store';
8
8
  import { L2TipsKVStore } from '@aztec/kv-store/stores';
9
9
  import {
10
+ type CheckpointId,
10
11
  type EthAddress,
11
12
  type L2Block,
12
13
  type L2BlockId,
@@ -24,6 +25,7 @@ import {
24
25
  CheckpointAttestation,
25
26
  type CheckpointProposal,
26
27
  type P2PClientType,
28
+ type TopicType,
27
29
  } from '@aztec/stdlib/p2p';
28
30
  import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
29
31
  import { Attributes, type TelemetryClient, WithTracer, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
@@ -32,6 +34,7 @@ import type { PeerId } from '@libp2p/interface';
32
34
  import type { ENR } from '@nethermindeth/enr';
33
35
 
34
36
  import { type P2PConfig, getP2PDefaultConfig } from '../config.js';
37
+ import { TxPoolError } from '../errors/tx-pool.error.js';
35
38
  import type { AttestationPoolApi } from '../mem_pools/attestation_pool/attestation_pool.js';
36
39
  import type { MemPools } from '../mem_pools/interface.js';
37
40
  import type { TxPoolV2 } from '../mem_pools/tx_pool_v2/interfaces.js';
@@ -165,6 +168,10 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
165
168
  return Promise.resolve(this.p2pService.getPeers(includePending));
166
169
  }
167
170
 
171
+ public getGossipMeshPeerCount(topicType: TopicType): Promise<number> {
172
+ return Promise.resolve(this.p2pService.getGossipMeshPeerCount(topicType));
173
+ }
174
+
168
175
  public getL2BlockHash(number: BlockNumber): Promise<string | undefined> {
169
176
  return this.l2Tips.getL2BlockHash(number);
170
177
  }
@@ -200,7 +207,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
200
207
  break;
201
208
  case 'chain-pruned':
202
209
  this.txCollection.stopCollectingForBlocksAfter(event.block.number);
203
- await this.handlePruneL2Blocks(event.block);
210
+ await this.handlePruneL2Blocks(event.block, event.checkpoint);
204
211
  break;
205
212
  case 'chain-checkpointed':
206
213
  break;
@@ -404,6 +411,10 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
404
411
  return this.attestationPool.addOwnCheckpointAttestations(attestations);
405
412
  }
406
413
 
414
+ public hasBlockProposalsForSlot(slot: SlotNumber): Promise<boolean> {
415
+ return this.attestationPool.hasBlockProposalsForSlot(slot);
416
+ }
417
+
407
418
  // REVIEW: https://github.com/AztecProtocol/aztec-packages/issues/7963
408
419
  // ^ This pattern is not my favorite (md)
409
420
  public registerBlockProposalHandler(handler: P2PBlockReceivedCallback): void {
@@ -488,6 +499,15 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
488
499
  }
489
500
  }
490
501
 
502
+ public async *iterateEligiblePendingTxs(): AsyncIterableIterator<Tx> {
503
+ for (const txHash of await this.txPool.getEligiblePendingTxHashes()) {
504
+ const tx = await this.txPool.getTxByHash(txHash);
505
+ if (tx) {
506
+ yield tx;
507
+ }
508
+ }
509
+ }
510
+
491
511
  /**
492
512
  * Returns a transaction in the transaction pool by its hash.
493
513
  * @param txHash - Hash of the transaction to look for in the pool.
@@ -569,23 +589,22 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
569
589
  **/
570
590
  public async sendTx(tx: Tx): Promise<void> {
571
591
  this.#assertIsReady();
572
- const result = await this.txPool.addPendingTxs([tx]);
592
+ const result = await this.txPool.addPendingTxs([tx], { feeComparisonOnly: true });
573
593
  if (result.accepted.length === 1) {
574
594
  await this.p2pService.propagate(tx);
575
- } else {
576
- this.log.warn(
577
- `Tx ${tx.getTxHash()} not propagated: accepted=${result.accepted.length} ignored=${result.ignored.length} rejected=${result.rejected.length}`,
578
- );
595
+ return;
579
596
  }
580
- }
581
597
 
582
- /**
583
- * Adds transactions to the pool. Does not send to peers or validate the txs.
584
- * @param txs - The transactions.
585
- **/
586
- public async addTxsToPool(txs: Tx[]): Promise<number> {
587
- this.#assertIsReady();
588
- return (await this.txPool.addPendingTxs(txs)).accepted.length;
598
+ const txHashStr = tx.getTxHash().toString();
599
+ const reason = result.errors?.get(txHashStr);
600
+ if (reason) {
601
+ this.log.warn(`Tx ${txHashStr} not added to pool: ${reason.message}`);
602
+ throw new TxPoolError(reason);
603
+ }
604
+
605
+ this.log.warn(
606
+ `Tx ${txHashStr} not propagated: accepted=${result.accepted.length} ignored=${result.ignored.length} rejected=${result.rejected.length}`,
607
+ );
589
608
  }
590
609
 
591
610
  /**
@@ -746,10 +765,31 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
746
765
 
747
766
  /**
748
767
  * Updates the tx pool after a chain prune.
768
+ * Detects epoch prunes (checkpoint number changed) and deletes all txs in that case.
749
769
  * @param latestBlock - The block ID the chain was pruned to.
770
+ * @param newCheckpoint - The checkpoint ID after the prune.
750
771
  */
751
- private async handlePruneL2Blocks(latestBlock: L2BlockId): Promise<void> {
752
- await this.txPool.handlePrunedBlocks(latestBlock);
772
+ private async handlePruneL2Blocks(latestBlock: L2BlockId, newCheckpoint: CheckpointId): Promise<void> {
773
+ const deleteAllTxs = this.config.txPoolDeleteTxsAfterReorg && (await this.isEpochPrune(newCheckpoint));
774
+ await this.txPool.handlePrunedBlocks(latestBlock, { deleteAllTxs });
775
+ }
776
+
777
+ /**
778
+ * Returns true if the prune crossed a checkpoint boundary.
779
+ * If the old and new checkpoint numbers are the same, the prune is within a single checkpoint.
780
+ * If they differ, the prune spans across checkpoints (epoch prune).
781
+ */
782
+ private async isEpochPrune(newCheckpoint: CheckpointId): Promise<boolean> {
783
+ const tips = await this.l2Tips.getL2Tips();
784
+ const oldCheckpointNumber = tips.checkpointed.checkpoint.number;
785
+ if (oldCheckpointNumber <= CheckpointNumber.ZERO) {
786
+ return false;
787
+ }
788
+ const isEpochPrune = oldCheckpointNumber !== newCheckpoint.number;
789
+ this.log.info(
790
+ `Detected epoch prune: ${isEpochPrune}. Old checkpoint: ${oldCheckpointNumber}, new checkpoint: ${newCheckpoint.number}`,
791
+ );
792
+ return isEpochPrune;
753
793
  }
754
794
 
755
795
  /** Checks if the slot has changed and calls prepareForSlot if so. */