@aztec/p2p 0.0.1-commit.43597cc1 → 0.0.1-commit.4ad48494d

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 (185) hide show
  1. package/dest/client/factory.d.ts +3 -3
  2. package/dest/client/factory.d.ts.map +1 -1
  3. package/dest/client/factory.js +42 -8
  4. package/dest/client/interface.d.ts +30 -15
  5. package/dest/client/interface.d.ts.map +1 -1
  6. package/dest/client/p2p_client.d.ts +33 -35
  7. package/dest/client/p2p_client.d.ts.map +1 -1
  8. package/dest/client/p2p_client.js +107 -137
  9. package/dest/config.d.ts +19 -2
  10. package/dest/config.d.ts.map +1 -1
  11. package/dest/config.js +14 -0
  12. package/dest/index.d.ts +2 -1
  13. package/dest/index.d.ts.map +1 -1
  14. package/dest/index.js +1 -0
  15. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +21 -12
  16. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  17. package/dest/mem_pools/attestation_pool/attestation_pool.js +67 -37
  18. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
  19. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  20. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +53 -53
  21. package/dest/mem_pools/attestation_pool/index.d.ts +2 -2
  22. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -1
  23. package/dest/mem_pools/attestation_pool/index.js +1 -1
  24. package/dest/mem_pools/index.d.ts +2 -1
  25. package/dest/mem_pools/index.d.ts.map +1 -1
  26. package/dest/mem_pools/interface.d.ts +3 -3
  27. package/dest/mem_pools/interface.d.ts.map +1 -1
  28. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +102 -0
  29. package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -0
  30. package/dest/mem_pools/tx_pool_v2/deleted_pool.js +242 -0
  31. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
  32. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
  33. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +3 -0
  34. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +3 -1
  35. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +3 -1
  36. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +1 -1
  37. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  38. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +3 -1
  39. package/dest/mem_pools/tx_pool_v2/index.d.ts +2 -1
  40. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
  41. package/dest/mem_pools/tx_pool_v2/index.js +1 -0
  42. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +7 -3
  43. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  44. package/dest/mem_pools/tx_pool_v2/interfaces.js +2 -1
  45. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +27 -3
  46. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  47. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +37 -4
  48. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +8 -2
  49. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  50. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +15 -2
  51. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +4 -2
  52. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  53. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +6 -2
  54. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +4 -2
  55. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  56. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +110 -78
  57. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +3 -3
  58. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  59. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +16 -3
  60. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  61. package/dest/msg_validators/tx_validator/block_header_validator.js +1 -1
  62. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +13 -3
  63. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  64. package/dest/msg_validators/tx_validator/double_spend_validator.js +4 -4
  65. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +20 -4
  66. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  67. package/dest/msg_validators/tx_validator/timestamp_validator.js +2 -2
  68. package/dest/services/dummy_service.d.ts +6 -2
  69. package/dest/services/dummy_service.d.ts.map +1 -1
  70. package/dest/services/dummy_service.js +3 -0
  71. package/dest/services/encoding.d.ts +2 -2
  72. package/dest/services/encoding.d.ts.map +1 -1
  73. package/dest/services/encoding.js +2 -2
  74. package/dest/services/libp2p/libp2p_service.d.ts +11 -3
  75. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  76. package/dest/services/libp2p/libp2p_service.js +71 -35
  77. package/dest/services/reqresp/interface.d.ts +10 -1
  78. package/dest/services/reqresp/interface.d.ts.map +1 -1
  79. package/dest/services/reqresp/interface.js +15 -1
  80. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +3 -3
  81. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  82. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +7 -1
  83. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  84. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +15 -0
  85. package/dest/services/reqresp/protocols/tx.d.ts +7 -1
  86. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  87. package/dest/services/reqresp/protocols/tx.js +20 -0
  88. package/dest/services/reqresp/reqresp.d.ts +1 -1
  89. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  90. package/dest/services/reqresp/reqresp.js +11 -4
  91. package/dest/services/service.d.ts +18 -1
  92. package/dest/services/service.d.ts.map +1 -1
  93. package/dest/services/tx_collection/config.d.ts +19 -1
  94. package/dest/services/tx_collection/config.d.ts.map +1 -1
  95. package/dest/services/tx_collection/config.js +46 -0
  96. package/dest/services/tx_collection/fast_tx_collection.d.ts +3 -1
  97. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  98. package/dest/services/tx_collection/fast_tx_collection.js +17 -3
  99. package/dest/services/tx_collection/file_store_tx_collection.d.ts +53 -0
  100. package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -0
  101. package/dest/services/tx_collection/file_store_tx_collection.js +165 -0
  102. package/dest/services/tx_collection/file_store_tx_source.d.ts +28 -0
  103. package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -0
  104. package/dest/services/tx_collection/file_store_tx_source.js +59 -0
  105. package/dest/services/tx_collection/index.d.ts +2 -1
  106. package/dest/services/tx_collection/index.d.ts.map +1 -1
  107. package/dest/services/tx_collection/index.js +1 -0
  108. package/dest/services/tx_collection/slow_tx_collection.d.ts +6 -2
  109. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  110. package/dest/services/tx_collection/slow_tx_collection.js +55 -23
  111. package/dest/services/tx_collection/tx_collection.d.ts +19 -7
  112. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  113. package/dest/services/tx_collection/tx_collection.js +75 -3
  114. package/dest/services/tx_collection/tx_collection_sink.d.ts +15 -6
  115. package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
  116. package/dest/services/tx_collection/tx_collection_sink.js +13 -7
  117. package/dest/services/tx_file_store/config.d.ts +1 -3
  118. package/dest/services/tx_file_store/config.d.ts.map +1 -1
  119. package/dest/services/tx_file_store/config.js +0 -4
  120. package/dest/services/tx_file_store/tx_file_store.d.ts +4 -3
  121. package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -1
  122. package/dest/services/tx_file_store/tx_file_store.js +8 -5
  123. package/dest/services/tx_provider.d.ts +3 -3
  124. package/dest/services/tx_provider.d.ts.map +1 -1
  125. package/dest/services/tx_provider.js +5 -4
  126. package/dest/test-helpers/make-test-p2p-clients.d.ts +3 -3
  127. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  128. package/dest/test-helpers/mock-pubsub.d.ts +27 -1
  129. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  130. package/dest/test-helpers/mock-pubsub.js +97 -2
  131. package/dest/test-helpers/testbench-utils.d.ts +32 -24
  132. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  133. package/dest/test-helpers/testbench-utils.js +93 -35
  134. package/dest/testbench/p2p_client_testbench_worker.js +1 -1
  135. package/package.json +14 -14
  136. package/src/client/factory.ts +78 -9
  137. package/src/client/interface.ts +32 -13
  138. package/src/client/p2p_client.ts +135 -157
  139. package/src/config.ts +24 -0
  140. package/src/index.ts +1 -0
  141. package/src/mem_pools/attestation_pool/attestation_pool.ts +95 -44
  142. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +57 -53
  143. package/src/mem_pools/attestation_pool/index.ts +3 -3
  144. package/src/mem_pools/index.ts +3 -0
  145. package/src/mem_pools/interface.ts +2 -2
  146. package/src/mem_pools/tx_pool_v2/README.md +75 -9
  147. package/src/mem_pools/tx_pool_v2/deleted_pool.ts +310 -0
  148. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +3 -0
  149. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +1 -1
  150. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +1 -1
  151. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +3 -1
  152. package/src/mem_pools/tx_pool_v2/index.ts +1 -0
  153. package/src/mem_pools/tx_pool_v2/interfaces.ts +8 -2
  154. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +55 -5
  155. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +18 -2
  156. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +7 -1
  157. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +122 -80
  158. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +2 -2
  159. package/src/msg_validators/tx_validator/block_header_validator.ts +15 -3
  160. package/src/msg_validators/tx_validator/double_spend_validator.ts +11 -6
  161. package/src/msg_validators/tx_validator/timestamp_validator.ts +19 -14
  162. package/src/services/dummy_service.ts +6 -0
  163. package/src/services/encoding.ts +2 -2
  164. package/src/services/libp2p/libp2p_service.ts +70 -37
  165. package/src/services/reqresp/interface.ts +26 -1
  166. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +2 -2
  167. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +17 -0
  168. package/src/services/reqresp/protocols/tx.ts +22 -0
  169. package/src/services/reqresp/reqresp.ts +13 -3
  170. package/src/services/service.ts +20 -0
  171. package/src/services/tx_collection/config.ts +68 -0
  172. package/src/services/tx_collection/fast_tx_collection.ts +14 -2
  173. package/src/services/tx_collection/file_store_tx_collection.ts +198 -0
  174. package/src/services/tx_collection/file_store_tx_source.ts +73 -0
  175. package/src/services/tx_collection/index.ts +1 -0
  176. package/src/services/tx_collection/slow_tx_collection.ts +64 -30
  177. package/src/services/tx_collection/tx_collection.ts +109 -13
  178. package/src/services/tx_collection/tx_collection_sink.ts +17 -7
  179. package/src/services/tx_file_store/config.ts +0 -6
  180. package/src/services/tx_file_store/tx_file_store.ts +9 -7
  181. package/src/services/tx_provider.ts +8 -7
  182. package/src/test-helpers/make-test-p2p-clients.ts +3 -3
  183. package/src/test-helpers/mock-pubsub.ts +133 -3
  184. package/src/test-helpers/testbench-utils.ts +108 -40
  185. package/src/testbench/p2p_client_testbench_worker.ts +1 -1
@@ -7,7 +7,7 @@ import { Tx, TxHash } from '@aztec/stdlib/tx';
7
7
  import { type TelemetryClient } from '@aztec/telemetry-client';
8
8
  import type { PeerId } from '@libp2p/interface';
9
9
  import type { P2PClient } from '../client/p2p_client.js';
10
- import type { TxPool } from '../mem_pools/index.js';
10
+ import type { TxPoolV2 } from '../mem_pools/tx_pool_v2/interfaces.js';
11
11
  import type { TxCollection } from './tx_collection/tx_collection.js';
12
12
  import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
13
13
  /**
@@ -20,7 +20,7 @@ export declare class TxProvider implements ITxProvider {
20
20
  private txValidator;
21
21
  private log;
22
22
  protected instrumentation: TxProviderInstrumentation;
23
- constructor(txCollection: TxCollection, txPool: TxPool, txValidator: Pick<P2PClient, 'validate'>, log?: Logger, client?: TelemetryClient);
23
+ constructor(txCollection: TxCollection, txPool: TxPoolV2, txValidator: Pick<P2PClient, 'validate'>, log?: Logger, client?: TelemetryClient);
24
24
  /** Returns txs from the tx pool given their hashes.*/
25
25
  getAvailableTxs(txHashes: TxHash[]): Promise<{
26
26
  txs: Tx[];
@@ -48,4 +48,4 @@ export declare class TxProvider implements ITxProvider {
48
48
  private extractFromProposal;
49
49
  private processProposalTxs;
50
50
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90eF9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBZSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUE4QixZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RTs7O0dBR0c7QUFDSCxxQkFBYSxVQUFXLFlBQVcsV0FBVztJQUkxQyxPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxHQUFHO0lBTmIsU0FBUyxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztJQUVyRCxZQUNVLFlBQVksRUFBRSxZQUFZLEVBQzFCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQ3hDLEdBQUcsR0FBRSxNQUF5QyxFQUN0RCxNQUFNLEdBQUUsZUFBc0MsRUFHL0M7SUFFRCxzREFBc0Q7SUFDekMsZUFBZSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBa0I3RjtJQUVELGtGQUFrRjtJQUMzRSxzQkFBc0IsQ0FDM0IsYUFBYSxFQUFFLGFBQWEsRUFDNUIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsSUFBSSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FDdkQsT0FBTyxDQUFDO1FBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFBO0tBQUUsQ0FBQyxDQU85QztJQUVELG1FQUFtRTtJQUM1RCxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7UUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBTzVHO1lBRWEsMkJBQTJCO0lBZ0N6QyxPQUFPLENBQUMsUUFBUTtZQUtGLG9CQUFvQjtZQXlGcEIsY0FBYztJQVk1QixPQUFPLENBQUMsbUJBQW1CO1lBT2Isa0JBQWtCO0NBT2pDIn0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90eF9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBZSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBOEIsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFN0U7OztHQUdHO0FBQ0gscUJBQWEsVUFBVyxZQUFXLFdBQVc7SUFJMUMsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsR0FBRztJQU5iLFNBQVMsQ0FBQyxlQUFlLEVBQUUseUJBQXlCLENBQUM7SUFFckQsWUFDVSxZQUFZLEVBQUUsWUFBWSxFQUMxQixNQUFNLEVBQUUsUUFBUSxFQUNoQixXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFDeEMsR0FBRyxHQUFFLE1BQXlDLEVBQ3RELE1BQU0sR0FBRSxlQUFzQyxFQUcvQztJQUVELHNEQUFzRDtJQUN6QyxlQUFlLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FrQjdGO0lBRUQsa0ZBQWtGO0lBQzNFLHNCQUFzQixDQUMzQixhQUFhLEVBQUUsYUFBYSxFQUM1QixXQUFXLEVBQUUsV0FBVyxFQUN4QixJQUFJLEVBQUU7UUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUFDLFFBQVEsRUFBRSxJQUFJLENBQUE7S0FBRSxHQUN2RCxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBTzlDO0lBRUQsbUVBQW1FO0lBQzVELGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtRQUFFLFFBQVEsRUFBRSxJQUFJLENBQUE7S0FBRSxHQUFHLE9BQU8sQ0FBQztRQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FPNUc7WUFFYSwyQkFBMkI7SUFnQ3pDLE9BQU8sQ0FBQyxRQUFRO1lBS0Ysb0JBQW9CO1lBMEZwQixjQUFjO0lBWTVCLE9BQU8sQ0FBQyxtQkFBbUI7WUFPYixrQkFBa0I7Q0FPakMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAI1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,GAAG;IANb,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAErD,YACU,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACxC,GAAG,GAAE,MAAyC,EACtD,MAAM,GAAE,eAAsC,EAG/C;IAED,sDAAsD;IACzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkB7F;IAED,kFAAkF;IAC3E,sBAAsB,CAC3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO9C;IAED,mEAAmE;IAC5D,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO5G;YAEa,2BAA2B;IAgCzC,OAAO,CAAC,QAAQ;YAKF,oBAAoB;YAyFpB,cAAc;IAY5B,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;CAOjC"}
1
+ {"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAI1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,GAAG;IANb,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAErD,YACU,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,QAAQ,EAChB,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACxC,GAAG,GAAE,MAAyC,EACtD,MAAM,GAAE,eAAsC,EAG/C;IAED,sDAAsD;IACzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkB7F;IAED,kFAAkF;IAC3E,sBAAsB,CAC3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO9C;IAED,mEAAmE;IAC5D,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO5G;YAEa,2BAA2B;IAgCzC,OAAO,CAAC,QAAQ;YAKF,oBAAoB;YA0FpB,cAAc;IAY5B,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;CAOjC"}
@@ -123,6 +123,7 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
123
123
  // Take txs from the proposal body if there are any
124
124
  // Note that we still have to validate these txs, but we do it in parallel with tx collection
125
125
  const proposal = request.type === 'proposal' ? request.blockProposal : undefined;
126
+ const proposalBlockHeader = proposal?.blockHeader;
126
127
  const txsFromProposal = this.extractFromProposal(proposal, [
127
128
  ...missingTxHashes
128
129
  ]);
@@ -137,7 +138,7 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
137
138
  });
138
139
  }
139
140
  if (missingTxHashes.size === 0) {
140
- await this.processProposalTxs(txsFromProposal);
141
+ await this.processProposalTxs(txsFromProposal, proposalBlockHeader);
141
142
  this.instrumentation.incTxsFromP2P(0, txHashes.length);
142
143
  return {
143
144
  txsFromMempool,
@@ -149,7 +150,7 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
149
150
  this.collectFromP2P(request, [
150
151
  ...missingTxHashes
151
152
  ], opts),
152
- this.processProposalTxs(txsFromProposal)
153
+ this.processProposalTxs(txsFromProposal, proposalBlockHeader)
153
154
  ]);
154
155
  if (txsFromNetwork.length > 0) {
155
156
  txsFromNetwork.forEach((tx)=>missingTxHashes.delete(tx.txHash.toString()));
@@ -209,11 +210,11 @@ import { TxProviderInstrumentation } from './tx_provider_instrumentation.js';
209
210
  }
210
211
  return compactArray(proposal.txs ?? []).filter((tx)=>missingTxHashes.includes(tx.getTxHash().toString()));
211
212
  }
212
- async processProposalTxs(txs) {
213
+ async processProposalTxs(txs, blockHeader) {
213
214
  if (txs.length === 0) {
214
215
  return;
215
216
  }
216
217
  await this.txValidator.validate(txs);
217
- await this.txPool.addTxs(txs);
218
+ await this.txPool.addProtectedTxs(txs, blockHeader);
218
219
  }
219
220
  }
@@ -5,11 +5,11 @@ import { P2PClientType } from '@aztec/stdlib/p2p';
5
5
  import type { P2PClient } from '../client/p2p_client.js';
6
6
  import type { P2PConfig } from '../config.js';
7
7
  import type { AttestationPool } from '../mem_pools/attestation_pool/attestation_pool.js';
8
- import type { TxPool } from '../mem_pools/tx_pool/index.js';
8
+ import type { TxPoolV2 } from '../mem_pools/tx_pool_v2/interfaces.js';
9
9
  import { type MockGossipSubNetwork } from './mock-pubsub.js';
10
10
  export interface MakeTestP2PClientOptions {
11
11
  mockAttestationPool: AttestationPool;
12
- mockTxPool: TxPool;
12
+ mockTxPool: TxPoolV2;
13
13
  mockEpochCache: EpochCache;
14
14
  mockWorldState: WorldStateSynchronizer;
15
15
  alwaysTrueVerifier?: boolean;
@@ -61,4 +61,4 @@ export declare function makeTestP2PClients(numberOfPeers: number, testConfig: Ma
61
61
  enr: string;
62
62
  }[]>;
63
63
  export declare function startTestP2PClients(clients: P2PClient[]): Promise<void>;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS10ZXN0LXAycC1jbGllbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL21ha2UtdGVzdC1wMnAtY2xpZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFLbEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSTVELE9BQU8sRUFBRSxLQUFLLG9CQUFvQixFQUFrQyxNQUFNLGtCQUFrQixDQUFDO0FBRzdGLE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDO0lBQ3JDLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsY0FBYyxFQUFFLFVBQVUsQ0FBQztJQUMzQixjQUFjLEVBQUUsc0JBQXNCLENBQUM7SUFDdkMsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0IsYUFBYSxFQUFFLFNBQVMsQ0FBQztJQUN6QixrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEIsb0JBQW9CLENBQUMsRUFBRSxvQkFBb0IsQ0FBQztDQUM3QztBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0IseUJBQXlCLENBQzdDLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsSUFBSSxFQUFFLE1BQU0sRUFDWixLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQ2YsT0FBTyxFQUFFLHdCQUF3QiwwQ0FNbEM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQXNCLGlCQUFpQixDQUNyQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLElBQUksRUFBRSxNQUFNLEVBQ1osS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUNmLEVBQ0Usa0JBQXlCLEVBQ3pCLGFBQWEsRUFDYixrQkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixjQUFjLEVBQ2QsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixNQUF3QyxFQUN6QyxFQUFFLHdCQUF3QiwwQ0EyQzVCO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsMEJBQTBCLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsd0JBQXdCOzs7OztLQXVDM0c7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSx3QkFBd0I7Ozs7O0tBZ0NuRztBQUVELHdCQUFzQixtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUc3RCJ9
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS10ZXN0LXAycC1jbGllbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL21ha2UtdGVzdC1wMnAtY2xpZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFLbEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBSXRFLE9BQU8sRUFBRSxLQUFLLG9CQUFvQixFQUFrQyxNQUFNLGtCQUFrQixDQUFDO0FBRzdGLE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDO0lBQ3JDLFVBQVUsRUFBRSxRQUFRLENBQUM7SUFDckIsY0FBYyxFQUFFLFVBQVUsQ0FBQztJQUMzQixjQUFjLEVBQUUsc0JBQXNCLENBQUM7SUFDdkMsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0IsYUFBYSxFQUFFLFNBQVMsQ0FBQztJQUN6QixrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDaEIsb0JBQW9CLENBQUMsRUFBRSxvQkFBb0IsQ0FBQztDQUM3QztBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0IseUJBQXlCLENBQzdDLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsSUFBSSxFQUFFLE1BQU0sRUFDWixLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQ2YsT0FBTyxFQUFFLHdCQUF3QiwwQ0FNbEM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQXNCLGlCQUFpQixDQUNyQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLElBQUksRUFBRSxNQUFNLEVBQ1osS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUNmLEVBQ0Usa0JBQXlCLEVBQ3pCLGFBQWEsRUFDYixrQkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLFVBQVUsRUFDVixjQUFjLEVBQ2QsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixNQUF3QyxFQUN6QyxFQUFFLHdCQUF3QiwwQ0EyQzVCO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsMEJBQTBCLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsd0JBQXdCOzs7OztLQXVDM0c7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSx3QkFBd0I7Ozs7O0tBZ0NuRztBQUVELHdCQUFzQixtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUc3RCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-p2p-clients.d.ts","sourceRoot":"","sources":["../../src/test-helpers/make-test-p2p-clients.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAKlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAI5D,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,kBAAkB,CAAC;AAG7F,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,eAAe,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,wBAAwB,0CAMlC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,EACE,kBAAyB,EACzB,aAAa,EACb,kBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAwC,EACzC,EAAE,wBAAwB,0CA2C5B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAuC3G;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAgCnG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAG7D"}
1
+ {"version":3,"file":"make-test-p2p-clients.d.ts","sourceRoot":"","sources":["../../src/test-helpers/make-test-p2p-clients.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAKlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAItE,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,kBAAkB,CAAC;AAG7F,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,eAAe,CAAC;IACrC,UAAU,EAAE,QAAQ,CAAC;IACrB,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,wBAAwB,0CAMlC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,EACE,kBAAyB,EACzB,aAAa,EACb,kBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAwC,EACzC,EAAE,wBAAwB,0CA2C5B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAuC3G;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAgCnG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAG7D"}
@@ -3,6 +3,9 @@ import type { GossipsubEvents, GossipsubMessage } from '@chainsafe/libp2p-gossip
3
3
  import type { MsgIdStr, PeerIdStr, PublishOpts, TopicStr } from '@chainsafe/libp2p-gossipsub/types';
4
4
  import { type Libp2pStatus, type PeerId, type PublishResult, type TopicValidatorResult, TypedEventEmitter } from '@libp2p/interface';
5
5
  import { LibP2PService } from '../services/index.js';
6
+ import type { P2PReqRespConfig } from '../services/reqresp/config.js';
7
+ import type { ConnectionSampler } from '../services/reqresp/connection-sampler/connection_sampler.js';
8
+ import { type ReqRespInterface, type ReqRespResponse, type ReqRespSubProtocol, type ReqRespSubProtocolHandler, type ReqRespSubProtocolHandlers, type ReqRespSubProtocolValidators, type SubProtocolMap } from '../services/reqresp/interface.js';
6
9
  import type { PubSubLibp2p } from '../util.js';
7
10
  type GossipSubService = PubSubLibp2p['services']['pubsub'];
8
11
  /**
@@ -10,6 +13,26 @@ type GossipSubService = PubSubLibp2p['services']['pubsub'];
10
13
  * Designed to be used in tests in P2PClientDeps.p2pServiceFactory.
11
14
  */
12
15
  export declare function getMockPubSubP2PServiceFactory<T extends P2PClientType>(network: MockGossipSubNetwork): (...args: Parameters<(typeof LibP2PService<T>)['new']>) => Promise<LibP2PService<T>>;
16
+ /**
17
+ * Mock implementation of ReqRespInterface that routes requests to other peers' handlers through the mock network.
18
+ * When a peer calls sendBatchRequest, the mock iterates over network peers and invokes their registered handler
19
+ * for the sub-protocol, simulating the request-response protocol without actual libp2p streams.
20
+ */
21
+ declare class MockReqResp implements ReqRespInterface {
22
+ private peerId;
23
+ private network;
24
+ private handlers;
25
+ private logger;
26
+ constructor(peerId: PeerId, network: MockGossipSubNetwork);
27
+ updateConfig(_config: Partial<P2PReqRespConfig>): void;
28
+ start(subProtocolHandlers: Partial<ReqRespSubProtocolHandlers>, _subProtocolValidators: ReqRespSubProtocolValidators): Promise<void>;
29
+ addSubProtocol(subProtocol: ReqRespSubProtocol, handler: ReqRespSubProtocolHandler, _validator?: ReqRespSubProtocolValidators[ReqRespSubProtocol]): Promise<void>;
30
+ stop(): Promise<void>;
31
+ getHandler(subProtocol: ReqRespSubProtocol): ReqRespSubProtocolHandler | undefined;
32
+ sendBatchRequest<SubProtocol extends ReqRespSubProtocol>(subProtocol: SubProtocol, requests: InstanceType<SubProtocolMap[SubProtocol]['request']>[], pinnedPeer: PeerId | undefined, _timeoutMs?: number, _maxPeers?: number, _maxRetryAttempts?: number): Promise<InstanceType<SubProtocolMap[SubProtocol]['response']>[]>;
33
+ sendRequestToPeer(peerId: PeerId, subProtocol: ReqRespSubProtocol, payload: Buffer, _dialTimeout?: number): Promise<ReqRespResponse>;
34
+ getConnectionSampler(): Pick<ConnectionSampler, 'getPeerListSortedByConnectionCountAsc'>;
35
+ }
13
36
  /**
14
37
  * Implementation of PubSub services that relies on a mock gossip sub network.
15
38
  * This is used in tests to simulate a gossip sub network without needing a real P2P network.
@@ -49,11 +72,14 @@ declare class MockGossipSubService extends TypedEventEmitter<GossipsubEvents> im
49
72
  */
50
73
  export declare class MockGossipSubNetwork {
51
74
  private peers;
75
+ private reqRespPeers;
52
76
  private nextMsgId;
53
77
  private logger;
54
78
  getPeers(): PeerId[];
55
79
  registerPeer(peer: MockGossipSubService): void;
80
+ registerReqRespPeer(peer: MockReqResp): void;
81
+ getReqRespPeers(): MockReqResp[];
56
82
  publishToPeers(topic: TopicStr, data: Uint8Array, sender: PeerId): void;
57
83
  }
58
84
  export {};
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1wdWJzdWIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LWhlbHBlcnMvbW9jay1wdWJzdWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2xELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BHLE9BQU8sRUFDTCxLQUFLLFlBQVksRUFDakIsS0FBSyxNQUFNLEVBQ1gsS0FBSyxhQUFhLEVBQ2xCLEtBQUssb0JBQW9CLEVBQ3pCLGlCQUFpQixFQUNsQixNQUFNLG1CQUFtQixDQUFDO0FBSTNCLE9BQU8sRUFBNkQsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHaEgsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLEtBQUssZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRTNEOzs7R0FHRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLFNBQVMsYUFBYSxFQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEdBQzVCLENBQUMsR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0F3Q3RGO0FBRUQ7Ozs7R0FJRztBQUNILHFCQUFhLFVBQVcsWUFBVyxZQUFZO0lBTXBDLE1BQU0sRUFBRSxNQUFNO0lBTGhCLE1BQU0sRUFBRSxZQUFZLENBQWE7SUFFeEMsT0FBTyxDQUFDLFNBQVMsQ0FBbUI7SUFFcEMsWUFDUyxNQUFNLEVBQUUsTUFBTSxFQUNyQixPQUFPLEVBQUUsb0JBQW9CLEVBRzlCO0lBRUQsSUFBSSxRQUFROzs7O01BSVg7SUFFRCxLQUFLLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHNUI7SUFDRCxJQUFJLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHM0I7Q0FDRjtBQUVELGNBQU0sb0JBQXFCLFNBQVEsaUJBQWlCLENBQUMsZUFBZSxDQUFFLFlBQVcsZ0JBQWdCO0lBTXRGLE1BQU0sRUFBRSxNQUFNO0lBQ3JCLE9BQU8sQ0FBQyxPQUFPO0lBTmpCLE9BQU8sQ0FBQyxNQUFNLENBQTJDO0lBQ2xELGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBYTtJQUNuRCxTQUFnQixNQUFNLGNBQXFCO0lBRTNDLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDYixPQUFPLEVBQUUsb0JBQW9CLEVBSXRDO0lBRUQsS0FBSzs7TUFFSDtJQUVGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FJdEY7SUFFRCxPQUFPLENBQUMsR0FBRyxFQUFFLGdCQUFnQixRQU01QjtJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FHL0I7SUFFRCw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEdBQUcsSUFBSSxDQUtuSDtDQUNGO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsb0JBQW9CO0lBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQThCO0lBQzNDLE9BQU8sQ0FBQyxTQUFTLENBQUs7SUFFdEIsT0FBTyxDQUFDLE1BQU0sQ0FBbUQ7SUFFMUQsUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUUxQjtJQUVNLFlBQVksQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEdBQUcsSUFBSSxDQUVwRDtJQUVNLGNBQWMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBZTdFO0NBQ0YifQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1wdWJzdWIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LWhlbHBlcnMvbW9jay1wdWJzdWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2xELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BHLE9BQU8sRUFDTCxLQUFLLFlBQVksRUFDakIsS0FBSyxNQUFNLEVBQ1gsS0FBSyxhQUFhLEVBQ2xCLEtBQUssb0JBQW9CLEVBQ3pCLGlCQUFpQixFQUNsQixNQUFNLG1CQUFtQixDQUFDO0FBSTNCLE9BQU8sRUFBK0MsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3RHLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixLQUFLLGVBQWUsRUFDcEIsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFDL0IsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyxjQUFjLEVBRXBCLE1BQU0sa0NBQWtDLENBQUM7QUFHMUMsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLEtBQUssZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRTNEOzs7R0FHRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLFNBQVMsYUFBYSxFQUNwRSxPQUFPLEVBQUUsb0JB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
@@ -1 +1 @@
1
- {"version":3,"file":"mock-pubsub.d.ts","sourceRoot":"","sources":["../../src/test-helpers/mock-pubsub.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AACpG,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAA6D,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGhH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,aAAa,EACpE,OAAO,EAAE,oBAAoB,GAC5B,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAwCtF;AAED;;;;GAIG;AACH,qBAAa,UAAW,YAAW,YAAY;IAMpC,MAAM,EAAE,MAAM;IALhB,MAAM,EAAE,YAAY,CAAa;IAExC,OAAO,CAAC,SAAS,CAAmB;IAEpC,YACS,MAAM,EAAE,MAAM,EACrB,OAAO,EAAE,oBAAoB,EAG9B;IAED,IAAI,QAAQ;;;;MAIX;IAED,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5B;IACD,IAAI,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3B;CACF;AAED,cAAM,oBAAqB,SAAQ,iBAAiB,CAAC,eAAe,CAAE,YAAW,gBAAgB;IAMtF,MAAM,EAAE,MAAM;IACrB,OAAO,CAAC,OAAO;IANjB,OAAO,CAAC,MAAM,CAA2C;IAClD,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAa;IACnD,SAAgB,MAAM,cAAqB;IAE3C,YACS,MAAM,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,EAItC;IAED,KAAK;;MAEH;IAEF,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAItF;IAED,OAAO,CAAC,GAAG,EAAE,gBAAgB,QAM5B;IAED,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAG/B;IAED,6BAA6B,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAKnH;CACF;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,MAAM,CAAmD;IAE1D,QAAQ,IAAI,MAAM,EAAE,CAE1B;IAEM,YAAY,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAEpD;IAEM,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAe7E;CACF"}
1
+ {"version":3,"file":"mock-pubsub.d.ts","sourceRoot":"","sources":["../../src/test-helpers/mock-pubsub.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
2
  import { TypedEventEmitter } from '@libp2p/interface';
3
- import { DummyPeerDiscoveryService, DummyPeerManager, DummyReqResp, LibP2PService } from '../services/index.js';
3
+ import { DummyPeerDiscoveryService, DummyPeerManager, LibP2PService } from '../services/index.js';
4
+ import { responseFromBuffer } from '../services/reqresp/interface.js';
5
+ import { ReqRespStatus } from '../services/reqresp/status.js';
4
6
  import { GossipSubEvent } from '../types/index.js';
5
7
  /**
6
8
  * Given a mock gossip sub network, returns a factory function that creates an instance LibP2PService connected to it.
@@ -10,12 +12,98 @@ import { GossipSubEvent } from '../types/index.js';
10
12
  deps.logger.verbose('Creating mock PubSub service');
11
13
  const libp2p = new MockPubSub(peerId, network);
12
14
  const peerManager = new DummyPeerManager(peerId, network);
13
- const reqresp = new DummyReqResp();
15
+ const reqresp = new MockReqResp(peerId, network);
14
16
  const peerDiscoveryService = new DummyPeerDiscoveryService();
15
17
  const service = new LibP2PService(clientType, config, libp2p, peerDiscoveryService, reqresp, peerManager, deps.mempools, deps.l2BlockSource, deps.epochCache, deps.proofVerifier, deps.worldStateSynchronizer, deps.telemetry, deps.logger);
16
18
  return Promise.resolve(service);
17
19
  };
18
20
  }
21
+ /**
22
+ * Mock implementation of ReqRespInterface that routes requests to other peers' handlers through the mock network.
23
+ * When a peer calls sendBatchRequest, the mock iterates over network peers and invokes their registered handler
24
+ * for the sub-protocol, simulating the request-response protocol without actual libp2p streams.
25
+ */ class MockReqResp {
26
+ peerId;
27
+ network;
28
+ handlers;
29
+ logger;
30
+ constructor(peerId, network){
31
+ this.peerId = peerId;
32
+ this.network = network;
33
+ this.handlers = {};
34
+ this.logger = createLogger('p2p:test:mock-reqresp');
35
+ network.registerReqRespPeer(this);
36
+ }
37
+ updateConfig(_config) {}
38
+ start(subProtocolHandlers, _subProtocolValidators) {
39
+ Object.assign(this.handlers, subProtocolHandlers);
40
+ return Promise.resolve();
41
+ }
42
+ addSubProtocol(subProtocol, handler, _validator) {
43
+ this.handlers[subProtocol] = handler;
44
+ return Promise.resolve();
45
+ }
46
+ stop() {
47
+ this.handlers = {};
48
+ return Promise.resolve();
49
+ }
50
+ getHandler(subProtocol) {
51
+ return this.handlers[subProtocol];
52
+ }
53
+ async sendBatchRequest(subProtocol, requests, pinnedPeer, _timeoutMs, _maxPeers, _maxRetryAttempts) {
54
+ const responses = [];
55
+ const peers = this.network.getReqRespPeers().filter((p)=>!p.peerId.equals(this.peerId));
56
+ const targetPeers = pinnedPeer ? peers.filter((p)=>p.peerId.equals(pinnedPeer)) : peers;
57
+ for (const request of requests){
58
+ const requestBuffer = request.toBuffer();
59
+ for (const peer of targetPeers){
60
+ const handler = peer.getHandler(subProtocol);
61
+ if (!handler) {
62
+ continue;
63
+ }
64
+ try {
65
+ const responseBuffer = await handler(this.peerId, requestBuffer);
66
+ if (responseBuffer.length > 0) {
67
+ const response = responseFromBuffer(subProtocol, responseBuffer);
68
+ responses.push(response);
69
+ break;
70
+ }
71
+ } catch (err) {
72
+ this.logger.debug(`Mock reqresp handler error from peer ${peer.peerId}`, {
73
+ err
74
+ });
75
+ }
76
+ }
77
+ }
78
+ return responses;
79
+ }
80
+ async sendRequestToPeer(peerId, subProtocol, payload, _dialTimeout) {
81
+ const peer = this.network.getReqRespPeers().find((p)=>p.peerId.equals(peerId));
82
+ const handler = peer?.getHandler(subProtocol);
83
+ if (!handler) {
84
+ return {
85
+ status: ReqRespStatus.SUCCESS,
86
+ data: Buffer.from([])
87
+ };
88
+ }
89
+ try {
90
+ const data = await handler(this.peerId, payload);
91
+ return {
92
+ status: ReqRespStatus.SUCCESS,
93
+ data
94
+ };
95
+ } catch {
96
+ return {
97
+ status: ReqRespStatus.FAILURE
98
+ };
99
+ }
100
+ }
101
+ getConnectionSampler() {
102
+ return {
103
+ getPeerListSortedByConnectionCountAsc: ()=>this.network.getReqRespPeers().filter((p)=>!p.peerId.equals(this.peerId)).map((p)=>p.peerId)
104
+ };
105
+ }
106
+ }
19
107
  /**
20
108
  * Implementation of PubSub services that relies on a mock gossip sub network.
21
109
  * This is used in tests to simulate a gossip sub network without needing a real P2P network.
@@ -96,6 +184,7 @@ class MockGossipSubService extends TypedEventEmitter {
96
184
  * All instances of MockGossipSubService connected to the same network will instantly receive the same messages.
97
185
  */ export class MockGossipSubNetwork {
98
186
  peers = [];
187
+ reqRespPeers = [];
99
188
  nextMsgId = 0;
100
189
  logger = createLogger('p2p:test:mock-gossipsub-network');
101
190
  getPeers() {
@@ -104,6 +193,12 @@ class MockGossipSubService extends TypedEventEmitter {
104
193
  registerPeer(peer) {
105
194
  this.peers.push(peer);
106
195
  }
196
+ registerReqRespPeer(peer) {
197
+ this.reqRespPeers.push(peer);
198
+ }
199
+ getReqRespPeers() {
200
+ return this.reqRespPeers;
201
+ }
107
202
  publishToPeers(topic, data, sender) {
108
203
  const msgId = (this.nextMsgId++).toString();
109
204
  this.logger.debug(`Network is distributing message on topic ${topic}`, {
@@ -1,17 +1,20 @@
1
1
  import type { EpochCacheInterface } from '@aztec/epoch-cache';
2
- import { type BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { SlotNumber } from '@aztec/foundation/branded-types';
3
3
  import type { Logger } from '@aztec/foundation/log';
4
+ import type { L2Block, L2BlockId } from '@aztec/stdlib/block';
4
5
  import type { WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
5
6
  import type { BlockProposal, CheckpointAttestation, CheckpointProposal, CheckpointProposalCore } from '@aztec/stdlib/p2p';
6
7
  import { type BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
7
8
  import EventEmitter from 'events';
8
9
  import type { TryAddResult } from '../mem_pools/attestation_pool/attestation_pool.js';
9
- import type { TxPool } from '../mem_pools/tx_pool/index.js';
10
+ import type { AddTxsResult, TxPoolV2, TxPoolV2Config } from '../mem_pools/tx_pool_v2/interfaces.js';
11
+ import type { TxState } from '../mem_pools/tx_pool_v2/tx_metadata.js';
10
12
  /**
11
13
  * In-memory TxPool implementation for testing.
12
14
  * Provides basic tx storage without persistence.
15
+ * Implements TxPoolV2 interface with stub implementations for testing.
13
16
  */
14
- export declare class InMemoryTxPool extends EventEmitter implements TxPool {
17
+ export declare class InMemoryTxPool extends EventEmitter implements TxPoolV2 {
15
18
  private txsByHash;
16
19
  private logger;
17
20
  setLogger(logger: Logger): void;
@@ -19,33 +22,37 @@ export declare class InMemoryTxPool extends EventEmitter implements TxPool {
19
22
  appendTxs(txs: Tx[]): number;
20
23
  clearTxs(): void;
21
24
  resetState(): void;
22
- addTxs(txs: Tx[], opts?: {
25
+ addPendingTxs(txs: Tx[], opts?: {
23
26
  source?: string;
24
- }): Promise<number>;
27
+ }): Promise<AddTxsResult>;
28
+ canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored' | 'rejected'>;
29
+ addProtectedTxs(txs: Tx[], _block: BlockHeader, opts?: {
30
+ source?: string;
31
+ }): Promise<void>;
32
+ protectTxs(txHashes: TxHash[], _block: BlockHeader): Promise<TxHash[]>;
33
+ addMinedTxs(txs: Tx[], _block: BlockHeader, _opts?: {
34
+ source?: string;
35
+ }): Promise<void>;
36
+ handleMinedBlock(_block: L2Block): Promise<void>;
37
+ prepareForSlot(_slotNumber: SlotNumber): Promise<void>;
38
+ handlePrunedBlocks(_latestBlock: L2BlockId): Promise<void>;
39
+ handleFailedExecution(txHashes: TxHash[]): Promise<void>;
40
+ handleFinalizedBlock(_block: BlockHeader): Promise<void>;
25
41
  getTxByHash(hash: TxHash): Promise<Tx | undefined>;
26
42
  getTxsByHash(hashes: TxHash[]): Promise<(Tx | undefined)[]>;
27
43
  hasTxs(hashes: TxHash[]): Promise<boolean[]>;
28
- hasTx(hash: TxHash): Promise<boolean>;
29
44
  getArchivedTxByHash(_hash: TxHash): Promise<Tx | undefined>;
30
- markAsMined(_txHashes: TxHash[], _blockHeader: BlockHeader): Promise<void>;
31
- markMinedAsPending(_txHashes: TxHash[], _latestBlock: BlockNumber): Promise<void>;
32
- deleteTxs(txHashes: TxHash[], _opts?: {
33
- permanently?: boolean;
34
- }): Promise<void>;
35
- getAllTxs(): Promise<Tx[]>;
36
- getAllTxHashes(): Promise<TxHash[]>;
37
45
  getPendingTxHashes(): Promise<TxHash[]>;
46
+ getEligiblePendingTxHashes(): Promise<TxHash[]>;
38
47
  getPendingTxCount(): Promise<number>;
39
- getMinedTxHashes(): Promise<[tx: TxHash, blockNumber: BlockNumber][]>;
40
- getTxStatus(hash: TxHash): Promise<'pending' | 'mined' | 'deleted' | undefined>;
41
- updateConfig(_config: {
42
- maxPendingTxCount?: number;
43
- archivedTxLimit?: number;
44
- }): void;
48
+ getMinedTxHashes(): Promise<[TxHash, L2BlockId][]>;
49
+ getMinedTxCount(): Promise<number>;
50
+ getTxStatus(hash: TxHash): Promise<TxState | 'deleted' | undefined>;
45
51
  isEmpty(): Promise<boolean>;
46
- markTxsAsNonEvictable(_txHashes: TxHash[]): Promise<void>;
47
- clearNonEvictableTxs(): Promise<void>;
48
- cleanupDeletedMinedTxs(_blockNumber: BlockNumber): Promise<number>;
52
+ getLowestPriorityPending(_limit: number): Promise<TxHash[]>;
53
+ updateConfig(_config: Partial<TxPoolV2Config>): Promise<void>;
54
+ start(): Promise<void>;
55
+ stop(): Promise<void>;
49
56
  }
50
57
  /**
51
58
  * In-memory AttestationPool mock for testing/benchmarking.
@@ -61,7 +68,8 @@ export declare class InMemoryAttestationPool {
61
68
  deleteOlderThan(_slot: SlotNumber): Promise<void>;
62
69
  getCheckpointAttestationsForSlot(_slot: SlotNumber): Promise<CheckpointAttestation[]>;
63
70
  getCheckpointAttestationsForSlotAndProposal(_slot: SlotNumber, _proposalId: string): Promise<CheckpointAttestation[]>;
64
- tryAddCheckpointAttestation(_attestation: CheckpointAttestation, _committeeSize: number): Promise<TryAddResult>;
71
+ tryAddCheckpointAttestation(_attestation: CheckpointAttestation): Promise<TryAddResult>;
72
+ hasBlockProposalsForSlot(_slot: SlotNumber): Promise<boolean>;
65
73
  isEmpty(): Promise<boolean>;
66
74
  resetState(): void;
67
75
  }
@@ -149,4 +157,4 @@ export declare function filterTxsByDistribution(allTxs: Tx[], peerIndex: number,
149
157
  * Ensures we return before the outer timeout while maintaining a minimum.
150
158
  */
151
159
  export declare function calculateInternalTimeout(timeoutMs: number): number;
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGJlbmNoLXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL3Rlc3RiZW5jaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBZSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUNWLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN2QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzVEOzs7R0FHRztBQUNILHFCQUFhLGNBQWUsU0FBUSxZQUFhLFlBQVcsTUFBTTtJQUNoRSxPQUFPLENBQUMsU0FBUyxDQUF5QjtJQUMxQyxPQUFPLENBQUMsTUFBTSxDQUF1QjtJQUVyQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBRTlCO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBR3hCO0lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBVTNCO0lBRUQsUUFBUSxJQUFJLElBQUksQ0FF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
160
+ //# 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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"}