@aztec/p2p 0.0.1-commit.cd76b27 → 0.0.1-commit.d117d021b

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 (195) hide show
  1. package/dest/client/factory.d.ts +5 -6
  2. package/dest/client/factory.d.ts.map +1 -1
  3. package/dest/client/factory.js +16 -26
  4. package/dest/client/interface.d.ts +6 -13
  5. package/dest/client/interface.d.ts.map +1 -1
  6. package/dest/client/p2p_client.d.ts +5 -13
  7. package/dest/client/p2p_client.d.ts.map +1 -1
  8. package/dest/client/p2p_client.js +3 -82
  9. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +1 -2
  10. package/dest/config.d.ts +21 -15
  11. package/dest/config.d.ts.map +1 -1
  12. package/dest/config.js +66 -37
  13. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +1 -1
  14. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  15. package/dest/mem_pools/attestation_pool/attestation_pool.js +5 -1
  16. package/dest/mem_pools/instrumentation.d.ts +4 -2
  17. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  18. package/dest/mem_pools/instrumentation.js +16 -14
  19. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +1 -1
  20. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +1 -1
  21. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
  22. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +2 -0
  23. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +7 -1
  24. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  25. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +2 -2
  26. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +2 -2
  27. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  28. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +10 -6
  29. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +1 -1
  30. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  31. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +8 -6
  32. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +2 -2
  33. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  34. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +2 -2
  35. package/dest/mem_pools/tx_pool_v2/index.d.ts +2 -2
  36. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
  37. package/dest/mem_pools/tx_pool_v2/index.js +1 -1
  38. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +9 -5
  39. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  40. package/dest/mem_pools/tx_pool_v2/interfaces.js +3 -1
  41. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +40 -10
  42. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  43. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +74 -16
  44. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +1 -1
  45. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  46. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +26 -44
  47. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +2 -2
  48. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
  49. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +3 -0
  50. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +3 -2
  51. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  52. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +177 -146
  53. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +6 -4
  54. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  55. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  56. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +6 -4
  57. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  58. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  59. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -8
  60. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  61. package/dest/msg_validators/proposal_validator/proposal_validator.js +48 -36
  62. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +2 -2
  63. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  64. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
  65. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -1
  66. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  67. package/dest/msg_validators/tx_validator/allowed_public_setup.js +24 -20
  68. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  69. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  70. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  71. package/dest/msg_validators/tx_validator/factory.d.ts +114 -6
  72. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  73. package/dest/msg_validators/tx_validator/factory.js +219 -58
  74. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  75. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  76. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  77. package/dest/msg_validators/tx_validator/gas_validator.d.ts +58 -3
  78. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  79. package/dest/msg_validators/tx_validator/gas_validator.js +73 -36
  80. package/dest/msg_validators/tx_validator/index.d.ts +3 -1
  81. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  82. package/dest/msg_validators/tx_validator/index.js +2 -0
  83. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +1 -1
  84. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  85. package/dest/msg_validators/tx_validator/metadata_validator.js +4 -4
  86. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
  87. package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
  88. package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
  89. package/dest/msg_validators/tx_validator/phases_validator.d.ts +2 -2
  90. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  91. package/dest/msg_validators/tx_validator/phases_validator.js +44 -23
  92. package/dest/services/dummy_service.d.ts +2 -3
  93. package/dest/services/dummy_service.d.ts.map +1 -1
  94. package/dest/services/dummy_service.js +1 -4
  95. package/dest/services/encoding.d.ts +2 -2
  96. package/dest/services/encoding.d.ts.map +1 -1
  97. package/dest/services/encoding.js +7 -7
  98. package/dest/services/libp2p/libp2p_service.d.ts +15 -13
  99. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  100. package/dest/services/libp2p/libp2p_service.js +79 -89
  101. package/dest/services/peer-manager/metrics.d.ts +3 -1
  102. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  103. package/dest/services/peer-manager/metrics.js +6 -0
  104. package/dest/services/peer-manager/peer_manager.d.ts +1 -1
  105. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  106. package/dest/services/peer-manager/peer_manager.js +2 -1
  107. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +1 -1
  108. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
  109. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +14 -37
  110. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +17 -11
  111. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
  112. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +49 -15
  113. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +2 -2
  114. package/dest/services/reqresp/reqresp.d.ts +1 -1
  115. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  116. package/dest/services/reqresp/reqresp.js +2 -1
  117. package/dest/services/service.d.ts +2 -2
  118. package/dest/services/service.d.ts.map +1 -1
  119. package/dest/services/tx_provider.d.ts +3 -3
  120. package/dest/services/tx_provider.d.ts.map +1 -1
  121. package/dest/services/tx_provider.js +4 -4
  122. package/dest/test-helpers/make-test-p2p-clients.d.ts +5 -6
  123. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  124. package/dest/test-helpers/make-test-p2p-clients.js +1 -2
  125. package/dest/test-helpers/mock-pubsub.d.ts +2 -3
  126. package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
  127. package/dest/test-helpers/mock-pubsub.js +2 -2
  128. package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
  129. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  130. package/dest/test-helpers/reqresp-nodes.js +2 -2
  131. package/dest/test-helpers/testbench-utils.d.ts +2 -2
  132. package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
  133. package/dest/testbench/p2p_client_testbench_worker.js +7 -6
  134. package/dest/testbench/worker_client_manager.d.ts +3 -1
  135. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  136. package/dest/testbench/worker_client_manager.js +6 -2
  137. package/dest/util.d.ts +1 -1
  138. package/package.json +14 -14
  139. package/src/client/factory.ts +24 -47
  140. package/src/client/interface.ts +5 -19
  141. package/src/client/p2p_client.ts +4 -110
  142. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +2 -3
  143. package/src/config.ts +92 -43
  144. package/src/mem_pools/attestation_pool/attestation_pool.ts +5 -4
  145. package/src/mem_pools/instrumentation.ts +17 -13
  146. package/src/mem_pools/tx_pool_v2/README.md +9 -1
  147. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +1 -1
  148. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +3 -0
  149. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +11 -1
  150. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +2 -2
  151. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +10 -6
  152. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +15 -6
  153. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +2 -1
  154. package/src/mem_pools/tx_pool_v2/index.ts +1 -1
  155. package/src/mem_pools/tx_pool_v2/interfaces.ts +10 -4
  156. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +104 -19
  157. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +29 -43
  158. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +4 -1
  159. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +187 -149
  160. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +14 -4
  161. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +20 -7
  162. package/src/msg_validators/proposal_validator/proposal_validator.ts +63 -40
  163. package/src/msg_validators/tx_validator/README.md +115 -0
  164. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -3
  165. package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
  166. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  167. package/src/msg_validators/tx_validator/factory.ts +353 -77
  168. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  169. package/src/msg_validators/tx_validator/gas_validator.ts +90 -27
  170. package/src/msg_validators/tx_validator/index.ts +2 -0
  171. package/src/msg_validators/tx_validator/metadata_validator.ts +12 -4
  172. package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
  173. package/src/msg_validators/tx_validator/phases_validator.ts +51 -26
  174. package/src/services/dummy_service.ts +1 -5
  175. package/src/services/encoding.ts +5 -6
  176. package/src/services/libp2p/libp2p_service.ts +90 -96
  177. package/src/services/peer-manager/metrics.ts +7 -0
  178. package/src/services/peer-manager/peer_manager.ts +2 -1
  179. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +14 -42
  180. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +63 -24
  181. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +2 -2
  182. package/src/services/reqresp/reqresp.ts +3 -1
  183. package/src/services/service.ts +1 -1
  184. package/src/services/tx_provider.ts +2 -2
  185. package/src/test-helpers/make-test-p2p-clients.ts +1 -3
  186. package/src/test-helpers/mock-pubsub.ts +3 -6
  187. package/src/test-helpers/reqresp-nodes.ts +3 -6
  188. package/src/test-helpers/testbench-utils.ts +1 -1
  189. package/src/testbench/p2p_client_testbench_worker.ts +4 -7
  190. package/src/testbench/worker_client_manager.ts +13 -5
  191. package/src/util.ts +1 -1
  192. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
  193. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  194. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -212
  195. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -230
@@ -80,7 +80,7 @@ import { getVersions } from '../versioning.js';
80
80
  * P2P functionality is operational, however everything else is default
81
81
  *
82
82
  *
83
- */ export async function createTestLibP2PService(clientType, boostrapAddrs = [], archiver, worldStateSynchronizer, epochCache, mempools, telemetry, port = 0, peerId, chainConfig = emptyChainConfig) {
83
+ */ export async function createTestLibP2PService(boostrapAddrs = [], archiver, worldStateSynchronizer, epochCache, mempools, telemetry, port = 0, peerId, chainConfig = emptyChainConfig) {
84
84
  peerId = peerId ?? await createSecp256k1PeerId();
85
85
  const config = {
86
86
  p2pIp: `127.0.0.1`,
@@ -105,7 +105,7 @@ import { getVersions } from '../versioning.js';
105
105
  const peerManager = new PeerManager(p2pNode, discoveryService, config, telemetry, createLogger(`p2p:peer_manager`), peerScoring, reqresp, worldStateSynchronizer, protocolVersion, epochCache);
106
106
  p2pNode.services.pubsub.score.params.appSpecificWeight = APP_SPECIFIC_WEIGHT;
107
107
  p2pNode.services.pubsub.score.params.appSpecificScore = (peerId)=>peerManager.shouldDisableP2PGossip(peerId) ? -Infinity : peerManager.getPeerScore(peerId);
108
- return new LibP2PService(clientType, config, p2pNode, discoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, telemetry);
108
+ return new LibP2PService(config, p2pNode, discoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, telemetry);
109
109
  }
110
110
  // Mock sub protocol handlers
111
111
  export const MOCK_SUB_PROTOCOL_HANDLERS = {
@@ -26,7 +26,7 @@ export declare class InMemoryTxPool extends EventEmitter implements TxPoolV2 {
26
26
  source?: string;
27
27
  feeComparisonOnly?: boolean;
28
28
  }): Promise<AddTxsResult>;
29
- canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored' | 'rejected'>;
29
+ canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored'>;
30
30
  addProtectedTxs(txs: Tx[], _block: BlockHeader, opts?: {
31
31
  source?: string;
32
32
  }): Promise<void>;
@@ -160,4 +160,4 @@ export declare function filterTxsByDistribution(allTxs: Tx[], peerIndex: number,
160
160
  * Ensures we return before the outer timeout while maintaining a minimum.
161
161
  */
162
162
  export declare function calculateInternalTimeout(timeoutMs: number): number;
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGJlbmNoLXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL3Rlc3RiZW5jaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFDVixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdkIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUVsQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3RFOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFlLFNBQVEsWUFBYSxZQUFXLFFBQVE7SUFDbEUsT0FBTyxDQUFDLFNBQVMsQ0FBeUI7SUFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUI7SUFFckMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUU5QjtJQUVELE1BQU0sQ0FB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
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGJlbmNoLXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL3Rlc3RiZW5jaC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFDVixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdkIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhFLE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUVsQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3RFOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFlLFNBQVEsWUFBYSxZQUFXLFFBQVE7SUFDbEUsT0FBTyxDQUFDLFNBQVMsQ0FBeUI7SUFDMUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUI7SUFFckMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUU5QjtJQUVELE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUd4QjtJQUVELFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQVUzQjtJQUVELFFBQVEsSUFBSSxJQUFJLENBRWY7SUFFRCxVQUFVLElBQUksSUFBSSxDQUdqQjtJQUlELGFBQWEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7UUFBQyxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQWV2RztJQUVELGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBTXZEO0lBRUQsZUFBZSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBU3pGO0lBRUQsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQVFyRTtJQUVELFdBQVcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU10RjtJQUlELGdCQUFnQixDQUFDLE1BQU0sRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUvQztJQUVELGNBQWMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFckQ7SUFFRCxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1FBQUUsWUFBWSxDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRWhHO0lBRUQscUJBQXFCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLdkQ7SUFFRCxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFdkQ7SUFJRCxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUVqRDtJQUVELFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FLMUQ7SUFFRCxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUUzQztJQUVELG1CQUFtQixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FFMUQ7SUFFRCxrQkFBa0IsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FFdEM7SUFFRCwwQkFBMEIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FFOUM7SUFFRCxpQkFBaUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRW5DO0lBRUQsZ0JBQWdCLElBQUksT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FFakQ7SUFFRCxlQUFlLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVqQztJQUVELFdBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUVsRTtJQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBRTFCO0lBRUQsd0JBQXdCLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FFMUQ7SUFJRCxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTVEO0lBSUQsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFckI7SUFFRCxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVwQjtDQUNGO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsdUJBQXVCO0lBQ2xDLE9BQU8sQ0FBQyxTQUFTLENBQW9DO0lBRXJELG1CQUFtQixDQUFDLGFBQWEsRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQVF2RTtJQUVELGdCQUFnQixDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FFL0Q7SUFFRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUU3RTtJQUVELHFCQUFxQixDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQyxDQUU5RTtJQUVLLDRCQUE0QixDQUFDLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBRztJQUV0RixlQUFlLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUc7SUFFMUQsZ0NBQWdDLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUVwRjtJQUVELDJDQUEyQyxDQUN6QyxLQUFLLEVBQUUsVUFBVSxFQUNqQixXQUFXLEVBQUUsTUFBTSxHQUNsQixPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUVsQztJQUVELDJCQUEyQixDQUFDLFlBQVksRUFBRSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBRXRGO0lBRUQsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRTVEO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFMUI7SUFFRCxVQUFVLElBQUksSUFBSSxDQUVqQjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0Isb0JBQW9CLElBQUksbUJBQW1CLENBc0IxRDtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGdDQUFnQyxJQUFJLHNCQUFzQixDQWF6RTtBQUVEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLDBCQUEwQjs7Ozs7Ozs7O0NBR3RDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsbUNBQW1DLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBSXRFO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxHQUFHLFFBQVEsR0FBRyxhQUFhLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxNQUFNLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDO0FBRXJFOztHQUVHO0FBQ0gsZUFBTyxNQUFNLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUdqRSxDQUFDO0FBRUY7O0dBRUc7QUFDSCxlQUFPLE1BQU0sbUJBQW1CO0lBQzlCLGtFQUFrRTs7SUFFbEUsZ0RBQWdEOztJQUVoRCw4Q0FBOEM7O0lBRTlDLG1DQUFtQzs7SUFFbkMsa0RBQWtEOztJQUVsRCw4QkFBOEI7O0lBRTlCLGdGQUFnRjs7SUFFaEYsb0RBQW9EOztJQUVwRCw0Q0FBNEM7O0lBRTVDLHFEQUFxRDs7SUFFckQsZ0VBQWdFOztDQUV4RCxDQUFDO0FBRVg7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQWdCLHVCQUF1QixDQUNyQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQ1osU0FBUyxFQUFFLE1BQU0sRUFDakIsU0FBUyxFQUFFLE1BQU0sRUFDakIsWUFBWSxFQUFFLG1CQUFtQixFQUNqQyxlQUFlLEdBQUUsTUFBVSxHQUMxQixFQUFFLEVBQUUsQ0FzQk47QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRWxFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"testbench-utils.d.ts","sourceRoot":"","sources":["../../src/test-helpers/testbench-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAe,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACpG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAGtE;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,YAAa,YAAW,QAAQ;IAClE,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAuB;IAErC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAGxB;IAED,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAU3B;IAED,QAAQ,IAAI,IAAI,CAEf;IAED,UAAU,IAAI,IAAI,CAGjB;IAID,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAevG;IAED,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,CAMpE;IAED,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASzF;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQrE;IAED,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;IAID,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;IAED,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;IAED,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvD;IAED,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD;IAID,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAEjD;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAK1D;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAE3C;IAED,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAE1D;IAED,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEtC;IAED,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE9C;IAED,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEnC;IAED,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAEjD;IAED,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjC;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAElE;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAE1B;IAED,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1D;IAID,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;IAID,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;CACF;AAED;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,SAAS,CAAoC;IAErD,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAQvE;IAED,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAE/D;IAED,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAE7E;IAED,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAE9E;IAEK,4BAA4B,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAEtF,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAE1D,gCAAgC,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAEpF;IAED,2CAA2C,CACzC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAElC;IAED,2BAA2B,CAAC,YAAY,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAEtF;IAED,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAE1B;IAED,UAAU,IAAI,IAAI,CAEjB;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,CAsB1D;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,sBAAsB,CAazE;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;CAGtC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAItE;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAGjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,kEAAkE;;IAElE,gDAAgD;;IAEhD,8CAA8C;;IAE9C,mCAAmC;;IAEnC,kDAAkD;;IAElD,8BAA8B;;IAE9B,gFAAgF;;IAEhF,oDAAoD;;IAEpD,4CAA4C;;IAE5C,qDAAqD;;IAErD,gEAAgE;;CAExD,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,EAAE,EAAE,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,mBAAmB,EACjC,eAAe,GAAE,MAAU,GAC1B,EAAE,EAAE,CAsBN;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElE"}
1
+ {"version":3,"file":"testbench-utils.d.ts","sourceRoot":"","sources":["../../src/test-helpers/testbench-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAe,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACpG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAGtE;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,YAAa,YAAW,QAAQ;IAClE,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAuB;IAErC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAGxB;IAED,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM,CAU3B;IAED,QAAQ,IAAI,IAAI,CAEf;IAED,UAAU,IAAI,IAAI,CAGjB;IAID,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAevG;IAED,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAMvD;IAED,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASzF;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQrE;IAED,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;IAID,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAErD;IAED,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;IAED,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvD;IAED,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvD;IAID,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAEjD;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAK1D;IAED,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAE3C;IAED,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAE1D;IAED,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAEtC;IAED,0BAA0B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE9C;IAED,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEnC;IAED,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAEjD;IAED,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAEjC;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAElE;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAE1B;IAED,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1D;IAID,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5D;IAID,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;CACF;AAED;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,SAAS,CAAoC;IAErD,mBAAmB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAQvE;IAED,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAE/D;IAED,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAE7E;IAED,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC,CAE9E;IAEK,4BAA4B,CAAC,aAAa,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAEtF,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAE1D,gCAAgC,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAEpF;IAED,2CAA2C,CACzC,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAElC;IAED,2BAA2B,CAAC,YAAY,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAEtF;IAED,wBAAwB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;IAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAE1B;IAED,UAAU,IAAI,IAAI,CAEjB;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,mBAAmB,CAsB1D;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,sBAAsB,CAazE;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;CAGtC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAItE;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAErE;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAGjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B,kEAAkE;;IAElE,gDAAgD;;IAEhD,8CAA8C;;IAE9C,mCAAmC;;IAEnC,kDAAkD;;IAElD,8BAA8B;;IAE9B,gFAAgF;;IAEhF,oDAAoD;;IAEpD,4CAA4C;;IAE5C,qDAAqD;;IAErD,gEAAgE;;CAExD,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,EAAE,EAAE,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,mBAAmB,EACjC,eAAe,GAAE,MAAU,GAC1B,EAAE,EAAE,CAsBN;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElE"}
@@ -13,7 +13,7 @@ import { DateProvider, Timer } from '@aztec/foundation/timer';
13
13
  import { openTmpStore } from '@aztec/kv-store/lmdb-v2';
14
14
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
15
15
  import { protocolContractsHash } from '@aztec/protocol-contracts';
16
- import { P2PClientType, P2PMessage } from '@aztec/stdlib/p2p';
16
+ import { P2PMessage } from '@aztec/stdlib/p2p';
17
17
  import { ChonkProof } from '@aztec/stdlib/proofs';
18
18
  import { makeAztecAddress, makeBlockHeader, makeBlockProposal, mockTx } from '@aztec/stdlib/testing';
19
19
  import { Tx } from '@aztec/stdlib/tx';
@@ -31,8 +31,8 @@ const txCache = new Map();
31
31
  class TestLibP2PService extends LibP2PService {
32
32
  disableTxValidation;
33
33
  gossipMessageCount = 0;
34
- constructor(clientType, config, node, peerDiscoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, telemetry, logger = createLogger('p2p:test:libp2p_service'), disableTxValidation = true){
35
- super(clientType, config, node, peerDiscoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, telemetry, logger);
34
+ constructor(config, node, peerDiscoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, telemetry, logger = createLogger('p2p:test:libp2p_service'), disableTxValidation = true){
35
+ super(config, node, peerDiscoveryService, reqresp, peerManager, mempools, archiver, epochCache, proofVerifier, worldStateSynchronizer, telemetry, logger);
36
36
  this.disableTxValidation = disableTxValidation;
37
37
  }
38
38
  getGossipMessageCount() {
@@ -195,7 +195,8 @@ process.on('message', async (msg)=>{
195
195
  if (type === 'START') {
196
196
  const config = {
197
197
  ...rawConfig,
198
- peerIdPrivateKey: rawConfig.peerIdPrivateKey ? new SecretValue(rawConfig.peerIdPrivateKey) : undefined
198
+ peerIdPrivateKey: rawConfig.peerIdPrivateKey ? new SecretValue(rawConfig.peerIdPrivateKey) : undefined,
199
+ priceBumpPercentage: 10n
199
200
  };
200
201
  workerConfig = config;
201
202
  workerTxPool = new InMemoryTxPool();
@@ -214,8 +215,8 @@ process.on('message', async (msg)=>{
214
215
  store: kvStore,
215
216
  logger: workerLogger
216
217
  };
217
- const client = await createP2PClient(P2PClientType.Full, config, l2BlockSource, proofVerifier, worldState, epochCache, 'test-p2p-bench-worker', undefined, telemetry, deps);
218
- const testService = new TestLibP2PService(P2PClientType.Full, config, client.p2pService.node, client.p2pService.peerDiscoveryService, client.p2pService.reqresp, client.p2pService.peerManager, client.p2pService.mempools, client.p2pService.archiver, epochCache, proofVerifier, worldState, telemetry, workerLogger, true);
218
+ const client = await createP2PClient(config, l2BlockSource, proofVerifier, worldState, epochCache, 'test-p2p-bench-worker', undefined, telemetry, deps);
219
+ const testService = new TestLibP2PService(config, client.p2pService.node, client.p2pService.peerDiscoveryService, client.p2pService.reqresp, client.p2pService.peerManager, client.p2pService.mempools, client.p2pService.archiver, epochCache, proofVerifier, worldState, telemetry, workerLogger, true);
219
220
  client.p2pService = testService;
220
221
  await client.start();
221
222
  for(let i = 0; i < 100; i++){
@@ -38,6 +38,8 @@ declare class WorkerClientManager {
38
38
  * Note: We send the raw peerIdPrivateKey string instead of SecretValue
39
39
  * because SecretValue.toJSON() returns '[Redacted]', losing the value.
40
40
  * The worker must re-wrap it in SecretValue.
41
+ * We also omit priceBumpPercentage since it's a bigint and can't be
42
+ * serialized over IPC (which uses JSON under the hood).
41
43
  */
42
44
  private createClientConfig;
43
45
  /**
@@ -93,4 +95,4 @@ declare class WorkerClientManager {
93
95
  export { WorkerClientManager, testChainConfig };
94
96
  export type { DistributionPattern, CollectorType } from './p2p_client_testbench_worker.js';
95
97
  export { COLLECTOR_DISPLAY_NAMES } from './p2p_client_testbench_worker.js';
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX2NsaWVudF9tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3dvcmtlcl9jbGllbnRfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFLeEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUtuRSxPQUFPLEtBQUssRUFHVixhQUFhLEVBQ2IsbUJBQW1CLEVBQ3BCLE1BQU0sa0NBQWtDLENBQUM7QUFRMUMsUUFBQSxNQUFNLGVBQWUsRUFBRSxXQU10QixDQUFDO0FBRUYsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztJQUNsQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixZQUFZLEVBQUUsbUJBQW1CLENBQUM7SUFDbEMsU0FBUyxFQUFFLGFBQWEsQ0FBQztJQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUNqQixLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRCxjQUFNLG1CQUFtQjtJQUNoQixTQUFTLEVBQUUsWUFBWSxFQUFFLENBQU07SUFDL0IsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDakMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFNO0lBQ3hCLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBTTtJQUNyQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDOUIsT0FBTyxDQUFDLFNBQVMsQ0FBcUI7SUFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUN2QixPQUFPLENBQUMsdUJBQXVCLENBQWdCO0lBRS9DLFlBQVksTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUd4RDtJQUVELE9BQU8sU0FLTjtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLGtCQUFrQjtJQWlCMUI7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLGtCQUFrQjtJQWdHMUI7Ozs7Ozs7T0FPRztJQUNHLGlCQUFpQixDQUNyQixlQUFlLEVBQUUsTUFBTSxFQUN2QixPQUFPLEdBQUU7UUFDUCxhQUFhLENBQUMsRUFBRSxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN2QixTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQ2xCLHFCQStEUDtJQUVELDRCQUE0QixTQUUzQjtJQUVELGtDQUFrQyxXQUVqQztJQUVEOzs7OztPQUtHO0lBQ0csVUFBVSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBOENwRDtJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLGdCQUFnQjtJQXFDeEI7O09BRUc7SUFDRyxPQUFPLGtCQWdDWjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FzRXpGO0lBRUQsT0FBTyxDQUFDLGlCQUFpQjtJQWtDekIsT0FBTyxDQUFDLGtCQUFrQjtDQWlDM0I7QUFFRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLENBQUM7QUFDaEQsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIn0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX2NsaWVudF9tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGJlbmNoL3dvcmtlcl9jbGllbnRfbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFLeEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUtuRSxPQUFPLEtBQUssRUFHVixhQUFhLEVBQ2IsbUJBQW1CLEVBQ3BCLE1BQU0sa0NBQWtDLENBQUM7QUFRMUMsUUFBQSxNQUFNLGVBQWUsRUFBRSxXQU10QixDQUFDO0FBRUYsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztJQUNsQyxhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixZQUFZLEVBQUUsbUJBQW1CLENBQUM7SUFDbEMsU0FBUyxFQUFFLGFBQWEsQ0FBQztJQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUNqQixLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDaEI7QUFFRCxjQUFNLG1CQUFtQjtJQUNoQixTQUFTLEVBQUUsWUFBWSxFQUFFLENBQU07SUFDL0IsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDakMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFNO0lBQ3hCLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBTTtJQUNyQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQU07SUFDOUIsT0FBTyxDQUFDLFNBQVMsQ0FBcUI7SUFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUN2QixPQUFPLENBQUMsdUJBQXVCLENBQWdCO0lBRS9DLFlBQVksTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUd4RDtJQUVELE9BQU8sU0FLTjtJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsa0JBQWtCO0lBb0IxQjs7O09BR0c7SUFDSCxPQUFPLENBQUMsa0JBQWtCO0lBa0cxQjs7Ozs7OztPQU9HO0lBQ0csaUJBQWlCLENBQ3JCLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLE9BQU8sR0FBRTtRQUNQLGFBQWEsQ0FBQyxFQUFFLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakMsYUFBYSxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3ZCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7S0FDbEIscUJBK0RQO0lBRUQsNEJBQTRCLFNBRTNCO0lBRUQsa0NBQWtDLFdBRWpDO0lBRUQ7Ozs7O09BS0c7SUFDRyxVQUFVLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkE4Q3BEO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsZ0JBQWdCO0lBcUN4Qjs7T0FFRztJQUNHLE9BQU8sa0JBZ0NaO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0csbUJBQW1CLENBQUMsTUFBTSxFQUFFLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQXVFekY7SUFFRCxPQUFPLENBQUMsaUJBQWlCO0lBa0N6QixPQUFPLENBQUMsa0JBQWtCO0NBaUMzQjtBQUVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUNoRCxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"worker_client_manager.d.ts","sourceRoot":"","sources":["../../src/testbench/worker_client_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,YAAY,EAAQ,MAAM,eAAe,CAAC;AAKxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,cAAc,CAAC;AAKnE,OAAO,KAAK,EAGV,aAAa,EACb,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAQ1C,QAAA,MAAM,eAAe,EAAE,WAMtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,mBAAmB;IAChB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IAC9B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,uBAAuB,CAAgB;IAE/C,YAAY,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAGxD;IAED,OAAO,SAKN;IAED;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAgG1B;;;;;;;OAOG;IACG,iBAAiB,CACrB,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,qBA+DP;IAED,4BAA4B,SAE3B;IAED,kCAAkC,WAEjC;IAED;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBA8CpD;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;OAEG;IACG,OAAO,kBAgCZ;IAED;;;;;;;;;OASG;IACG,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAsEzF;IAED,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,kBAAkB;CAiC3B;AAED,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"worker_client_manager.d.ts","sourceRoot":"","sources":["../../src/testbench/worker_client_manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,KAAK,YAAY,EAAQ,MAAM,eAAe,CAAC;AAKxD,OAAO,EAAE,KAAK,SAAS,EAAuB,MAAM,cAAc,CAAC;AAKnE,OAAO,KAAK,EAGV,aAAa,EACb,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAQ1C,QAAA,MAAM,eAAe,EAAE,WAMtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,cAAM,mBAAmB;IAChB,SAAS,EAAE,YAAY,EAAE,CAAM;IAC/B,iBAAiB,EAAE,MAAM,EAAE,CAAM;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,KAAK,EAAE,MAAM,EAAE,CAAM;IACrB,OAAO,EAAE,MAAM,EAAE,CAAM;IAC9B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,uBAAuB,CAAgB;IAE/C,YAAY,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAGxD;IAED,OAAO,SAKN;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAkG1B;;;;;;;OAOG;IACG,iBAAiB,CACrB,eAAe,EAAE,MAAM,EACvB,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;QACjC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,qBA+DP;IAED,4BAA4B,SAE3B;IAED,kCAAkC,WAEjC;IAED;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBA8CpD;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqCxB;;OAEG;IACG,OAAO,kBAgCZ;IAED;;;;;;;;;OASG;IACG,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuEzF;IAED,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,kBAAkB;CAiC3B;AAED,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -45,8 +45,10 @@ class WorkerClientManager {
45
45
  * Note: We send the raw peerIdPrivateKey string instead of SecretValue
46
46
  * because SecretValue.toJSON() returns '[Redacted]', losing the value.
47
47
  * The worker must re-wrap it in SecretValue.
48
+ * We also omit priceBumpPercentage since it's a bigint and can't be
49
+ * serialized over IPC (which uses JSON under the hood).
48
50
  */ createClientConfig(clientIndex, port, otherNodes) {
49
- return {
51
+ const { priceBumpPercentage: _, ...config } = {
50
52
  ...getP2PDefaultConfig(),
51
53
  p2pEnabled: true,
52
54
  peerIdPrivateKey: this.peerIdPrivateKeys[clientIndex],
@@ -58,6 +60,7 @@ class WorkerClientManager {
58
60
  ],
59
61
  ...this.p2pConfig
60
62
  };
63
+ return config;
61
64
  }
62
65
  /**
63
66
  * Spawns a worker process and returns a promise that resolves when the worker is ready.
@@ -368,7 +371,8 @@ class WorkerClientManager {
368
371
  seed
369
372
  };
370
373
  this.processes[0].send(aggregatorCmd);
371
- const result = await this.waitForBenchResult(0, config.timeoutMs + 30000);
374
+ const aggregatorBudgetMs = config.timeoutMs + BENCHMARK_CONSTANTS.MAX_PEER_WAIT_MS + 30000;
375
+ const result = await this.waitForBenchResult(0, aggregatorBudgetMs);
372
376
  this.logger.info(`Benchmark complete: fetched=${result.fetchedCount}/${config.txCount}, duration=${result.durationMs.toFixed(0)}ms, success=${result.success}`);
373
377
  return {
374
378
  txCount: config.txCount,
package/dest/util.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { SecretValue } from '@aztec/foundation/config';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
3
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
4
- import type { DataStoreConfig } from '@aztec/kv-store/config';
4
+ import type { DataStoreConfig } from '@aztec/stdlib/kv-store';
5
5
  import type { GossipSub } from '@chainsafe/libp2p-gossipsub';
6
6
  import type { Identify } from '@libp2p/identify';
7
7
  import type { PeerId } from '@libp2p/interface';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/p2p",
3
- "version": "0.0.1-commit.cd76b27",
3
+ "version": "0.0.1-commit.d117d021b",
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.cd76b27",
71
- "@aztec/epoch-cache": "0.0.1-commit.cd76b27",
72
- "@aztec/ethereum": "0.0.1-commit.cd76b27",
73
- "@aztec/foundation": "0.0.1-commit.cd76b27",
74
- "@aztec/kv-store": "0.0.1-commit.cd76b27",
75
- "@aztec/noir-contracts.js": "0.0.1-commit.cd76b27",
76
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.cd76b27",
77
- "@aztec/protocol-contracts": "0.0.1-commit.cd76b27",
78
- "@aztec/simulator": "0.0.1-commit.cd76b27",
79
- "@aztec/stdlib": "0.0.1-commit.cd76b27",
80
- "@aztec/telemetry-client": "0.0.1-commit.cd76b27",
70
+ "@aztec/constants": "0.0.1-commit.d117d021b",
71
+ "@aztec/epoch-cache": "0.0.1-commit.d117d021b",
72
+ "@aztec/ethereum": "0.0.1-commit.d117d021b",
73
+ "@aztec/foundation": "0.0.1-commit.d117d021b",
74
+ "@aztec/kv-store": "0.0.1-commit.d117d021b",
75
+ "@aztec/noir-contracts.js": "0.0.1-commit.d117d021b",
76
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.d117d021b",
77
+ "@aztec/protocol-contracts": "0.0.1-commit.d117d021b",
78
+ "@aztec/simulator": "0.0.1-commit.d117d021b",
79
+ "@aztec/stdlib": "0.0.1-commit.d117d021b",
80
+ "@aztec/telemetry-client": "0.0.1-commit.d117d021b",
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.cd76b27",
108
- "@aztec/world-state": "0.0.1-commit.cd76b27",
107
+ "@aztec/archiver": "0.0.1-commit.d117d021b",
108
+ "@aztec/world-state": "0.0.1-commit.d117d021b",
109
109
  "@jest/globals": "^30.0.0",
110
110
  "@types/jest": "^30.0.0",
111
111
  "@types/node": "^22.15.17",
@@ -1,15 +1,14 @@
1
1
  import type { EpochCacheInterface } from '@aztec/epoch-cache';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
3
  import { type Logger, createLogger } from '@aztec/foundation/log';
3
4
  import { DateProvider } from '@aztec/foundation/timer';
4
5
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
5
- import type { DataStoreConfig } from '@aztec/kv-store/config';
6
6
  import { AztecLMDBStoreV2, createStore } from '@aztec/kv-store/lmdb-v2';
7
- import type { BlockHash, L2BlockSource } from '@aztec/stdlib/block';
7
+ import type { L2BlockSource } from '@aztec/stdlib/block';
8
8
  import type { ChainConfig } from '@aztec/stdlib/config';
9
9
  import type { ContractDataSource } from '@aztec/stdlib/contract';
10
10
  import type { AztecNode, ClientProtocolCircuitVerifier, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
11
- import { P2PClientType } from '@aztec/stdlib/p2p';
12
- import { MerkleTreeId } from '@aztec/stdlib/trees';
11
+ import type { DataStoreConfig } from '@aztec/stdlib/kv-store';
13
12
  import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
14
13
 
15
14
  import { P2PClient } from '../client/p2p_client.js';
@@ -17,11 +16,8 @@ import type { P2PConfig } from '../config.js';
17
16
  import { AttestationPool, type AttestationPoolApi } from '../mem_pools/attestation_pool/attestation_pool.js';
18
17
  import type { MemPools } from '../mem_pools/interface.js';
19
18
  import type { TxPoolV2 } from '../mem_pools/tx_pool_v2/interfaces.js';
20
- import type { TxMetaData } from '../mem_pools/tx_pool_v2/tx_metadata.js';
21
19
  import { AztecKVTxPoolV2 } from '../mem_pools/tx_pool_v2/tx_pool_v2.js';
22
- import { AggregateTxValidator } from '../msg_validators/tx_validator/aggregate_tx_validator.js';
23
- import { BlockHeaderTxValidator } from '../msg_validators/tx_validator/block_header_validator.js';
24
- import { DoubleSpendTxValidator } from '../msg_validators/tx_validator/double_spend_validator.js';
20
+ import { createTxValidatorForTransactionsEnteringPendingTxPool } from '../msg_validators/index.js';
25
21
  import { DummyP2PService } from '../services/dummy_service.js';
26
22
  import { LibP2PService } from '../services/index.js';
27
23
  import { createFileStoreTxSources } from '../services/tx_collection/file_store_tx_source.js';
@@ -30,14 +26,14 @@ import { NodeRpcTxSource, type TxSource, createNodeRpcTxSources } from '../servi
30
26
  import { TxFileStore } from '../services/tx_file_store/tx_file_store.js';
31
27
  import { configureP2PClientAddresses, createLibP2PPeerIdFromPrivateKey, getPeerIdPrivateKey } from '../util.js';
32
28
 
33
- export type P2PClientDeps<T extends P2PClientType> = {
29
+ export type P2PClientDeps = {
34
30
  txPool?: TxPoolV2;
35
31
  store?: AztecAsyncKVStore;
36
32
  attestationPool?: AttestationPoolApi;
37
33
  logger?: Logger;
38
34
  txCollectionNodeSources?: TxSource[];
39
35
  rpcTxProviders?: AztecNode[];
40
- p2pServiceFactory?: (...args: Parameters<(typeof LibP2PService)['new']>) => Promise<LibP2PService<T>>;
36
+ p2pServiceFactory?: (...args: Parameters<(typeof LibP2PService)['new']>) => Promise<LibP2PService>;
41
37
  };
42
38
 
43
39
  export const P2P_STORE_NAME = 'p2p';
@@ -45,8 +41,7 @@ export const P2P_ARCHIVE_STORE_NAME = 'p2p-archive';
45
41
  export const P2P_PEER_STORE_NAME = 'p2p-peers';
46
42
  export const P2P_ATTESTATION_STORE_NAME = 'p2p-attestation';
47
43
 
48
- export async function createP2PClient<T extends P2PClientType>(
49
- clientType: T,
44
+ export async function createP2PClient(
50
45
  inputConfig: P2PConfig & DataStoreConfig & ChainConfig,
51
46
  archiver: L2BlockSource & ContractDataSource,
52
47
  proofVerifier: ClientProtocolCircuitVerifier,
@@ -55,7 +50,7 @@ export async function createP2PClient<T extends P2PClientType>(
55
50
  packageVersion: string,
56
51
  dateProvider: DateProvider = new DateProvider(),
57
52
  telemetry: TelemetryClient = getTelemetryClient(),
58
- deps: P2PClientDeps<T> = {},
53
+ deps: P2PClientDeps = {},
59
54
  ) {
60
55
  const config = await configureP2PClientAddresses({
61
56
  ...inputConfig,
@@ -80,32 +75,6 @@ export async function createP2PClient<T extends P2PClientType>(
80
75
  const rollupAddress = inputConfig.l1Contracts.rollupAddress.toString().toLowerCase().replace(/^0x/, '');
81
76
  const txFileStoreBasePath = `aztec-${inputConfig.l1ChainId}-${inputConfig.rollupVersion}-0x${rollupAddress}`;
82
77
 
83
- /** Validator factory for pool re-validation (double-spend + block header only). */
84
- const createPoolTxValidator = async () => {
85
- await worldStateSynchronizer.syncImmediate();
86
- return new AggregateTxValidator<TxMetaData>(
87
- new DoubleSpendTxValidator<TxMetaData>(
88
- {
89
- nullifiersExist: async (nullifiers: Buffer[]) => {
90
- const merkleTree = worldStateSynchronizer.getCommitted();
91
- const indices = await merkleTree.findLeafIndices(MerkleTreeId.NULLIFIER_TREE, nullifiers);
92
- return indices.map(index => index !== undefined);
93
- },
94
- },
95
- bindings,
96
- ),
97
- new BlockHeaderTxValidator<TxMetaData>(
98
- {
99
- getArchiveIndices: (archives: BlockHash[]) => {
100
- const merkleTree = worldStateSynchronizer.getCommitted();
101
- return merkleTree.findLeafIndices(MerkleTreeId.ARCHIVE, archives);
102
- },
103
- },
104
- bindings,
105
- ),
106
- );
107
- };
108
-
109
78
  const txPool =
110
79
  deps.txPool ??
111
80
  new AztecKVTxPoolV2(
@@ -114,13 +83,24 @@ export async function createP2PClient<T extends P2PClientType>(
114
83
  {
115
84
  l2BlockSource: archiver,
116
85
  worldStateSynchronizer,
117
- createTxValidator: createPoolTxValidator,
86
+ createTxValidator: async () => {
87
+ // We accept transactions if they are not expired by the next slot and block number (checked based on the ExpirationTimestamp field)
88
+ const currentBlockNumber = await archiver.getBlockNumber();
89
+ const { ts: nextSlotTimestamp } = epochCache.getEpochAndSlotInNextL1Slot();
90
+ return createTxValidatorForTransactionsEnteringPendingTxPool(
91
+ worldStateSynchronizer,
92
+ nextSlotTimestamp,
93
+ BlockNumber(currentBlockNumber + 1),
94
+ );
95
+ },
118
96
  },
119
97
  telemetry,
120
98
  {
121
99
  maxPendingTxCount: config.maxPendingTxCount,
122
100
  archivedTxLimit: config.archivedTxLimit,
123
101
  minTxPoolAgeMs: config.minTxPoolAgeMs,
102
+ dropTransactionsProbability: config.dropTransactionsProbability,
103
+ priceBumpPercentage: config.priceBumpPercentage,
124
104
  },
125
105
  dateProvider,
126
106
  );
@@ -130,9 +110,8 @@ export async function createP2PClient<T extends P2PClientType>(
130
110
  attestationPool: deps.attestationPool ?? new AttestationPool(attestationStore, telemetry),
131
111
  };
132
112
 
133
- const p2pService = await createP2PService<T>(
113
+ const p2pService = await createP2PService(
134
114
  config,
135
- clientType,
136
115
  archiver,
137
116
  proofVerifier,
138
117
  worldStateSynchronizer,
@@ -190,7 +169,6 @@ export async function createP2PClient<T extends P2PClientType>(
190
169
  );
191
170
 
192
171
  return new P2PClient(
193
- clientType,
194
172
  store,
195
173
  archiver,
196
174
  mempools,
@@ -204,9 +182,8 @@ export async function createP2PClient<T extends P2PClientType>(
204
182
  );
205
183
  }
206
184
 
207
- async function createP2PService<T extends P2PClientType>(
185
+ async function createP2PService(
208
186
  config: P2PConfig & DataStoreConfig,
209
- clientType: T,
210
187
  archiver: L2BlockSource & ContractDataSource,
211
188
  proofVerifier: ClientProtocolCircuitVerifier,
212
189
  worldStateSynchronizer: WorldStateSynchronizer,
@@ -214,7 +191,7 @@ async function createP2PService<T extends P2PClientType>(
214
191
  store: AztecAsyncKVStore,
215
192
  peerStore: AztecLMDBStoreV2,
216
193
  mempools: MemPools,
217
- p2pServiceFactory: P2PClientDeps<T>['p2pServiceFactory'],
194
+ p2pServiceFactory: P2PClientDeps['p2pServiceFactory'],
218
195
  packageVersion: string,
219
196
  logger: Logger,
220
197
  telemetry: TelemetryClient,
@@ -230,7 +207,7 @@ async function createP2PService<T extends P2PClientType>(
230
207
  const peerIdPrivateKey = await getPeerIdPrivateKey(config, store, logger);
231
208
  const peerId = await createLibP2PPeerIdFromPrivateKey(peerIdPrivateKey.getValue());
232
209
 
233
- const p2pService = await (p2pServiceFactory ?? LibP2PService.new<T>)(clientType, config, peerId, {
210
+ const p2pService = await (p2pServiceFactory ?? LibP2PService.new)(config, peerId, {
234
211
  packageVersion,
235
212
  mempools,
236
213
  l2BlockSource: archiver,
@@ -1,13 +1,7 @@
1
1
  import type { SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import type { EthAddress, L2BlockId } from '@aztec/stdlib/block';
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';
3
+ import type { ITxProvider, P2PClient } from '@aztec/stdlib/interfaces/server';
4
+ import type { BlockProposal, CheckpointAttestation, CheckpointProposal, TopicType } from '@aztec/stdlib/p2p';
11
5
  import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
12
6
 
13
7
  import type { PeerId } from '@libp2p/interface';
@@ -54,7 +48,7 @@ export interface P2PSyncState {
54
48
  /**
55
49
  * Interface of a P2P client.
56
50
  **/
57
- export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> & {
51
+ export type P2P = P2PClient & {
58
52
  /**
59
53
  * Broadcasts a block proposal to other peers.
60
54
  *
@@ -140,14 +134,6 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
140
134
  */
141
135
  hasTxsInPool(txHashes: TxHash[]): Promise<boolean[]>;
142
136
 
143
- /**
144
- * Returns transactions in the transaction pool by hash, requesting from the network if not found.
145
- * @param txHashes - Hashes of tx to return.
146
- * @param pinnedPeerId - An optional peer id that will be used to request the tx from (in addition to other random peers).
147
- * @returns An array of tx or undefined.
148
- */
149
- getTxsByHash(txHashes: TxHash[], pinnedPeerId: PeerId | undefined): Promise<(Tx | undefined)[]>;
150
-
151
137
  /**
152
138
  * Returns an archived transaction from the transaction pool by its hash.
153
139
  * @param txHash - Hash of tx to return.
@@ -224,8 +210,8 @@ export type P2P<T extends P2PClientType = P2PClientType.Full> = P2PApiFull<T> &
224
210
 
225
211
  updateP2PConfig(config: Partial<P2PConfig>): Promise<void>;
226
212
 
227
- /** Validates a set of txs. */
228
- validate(txs: Tx[]): Promise<void>;
213
+ /** Validates a set of txs received in a block proposal. */
214
+ validateTxsReceivedInBlockProposal(txs: Tx[]): Promise<void>;
229
215
 
230
216
  /** Clears the db. */
231
217
  clear(): Promise<void>;
@@ -18,15 +18,8 @@ import {
18
18
  type L2TipsStore,
19
19
  } from '@aztec/stdlib/block';
20
20
  import type { ContractDataSource } from '@aztec/stdlib/contract';
21
- import { getTimestampForSlot } from '@aztec/stdlib/epoch-helpers';
22
21
  import { type PeerInfo, tryStop } from '@aztec/stdlib/interfaces/server';
23
- import {
24
- type BlockProposal,
25
- CheckpointAttestation,
26
- type CheckpointProposal,
27
- type P2PClientType,
28
- type TopicType,
29
- } from '@aztec/stdlib/p2p';
22
+ import { type BlockProposal, CheckpointAttestation, type CheckpointProposal, type TopicType } from '@aztec/stdlib/p2p';
30
23
  import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
31
24
  import { Attributes, type TelemetryClient, WithTracer, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
32
25
 
@@ -44,7 +37,6 @@ import {
44
37
  type ReqRespSubProtocolHandler,
45
38
  type ReqRespSubProtocolValidators,
46
39
  } from '../services/reqresp/interface.js';
47
- import { chunkTxHashesRequest } from '../services/reqresp/protocols/tx.js';
48
40
  import type {
49
41
  DuplicateAttestationInfo,
50
42
  DuplicateProposalInfo,
@@ -60,10 +52,7 @@ import { type P2P, P2PClientState, type P2PSyncState } from './interface.js';
60
52
  /**
61
53
  * The P2P client implementation.
62
54
  */
63
- export class P2PClient<T extends P2PClientType = P2PClientType.Full>
64
- extends WithTracer
65
- implements P2P, P2P<P2PClientType.Prover>
66
- {
55
+ export class P2PClient extends WithTracer implements P2P {
67
56
  /** The JS promise that will be running to keep the client's data in sync. Can be interrupted if the client is stopped. */
68
57
  private runningPromise!: Promise<void>;
69
58
 
@@ -95,7 +84,6 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
95
84
  private slotMonitor: RunningPromise | undefined;
96
85
 
97
86
  constructor(
98
- _clientType: T,
99
87
  private store: AztecAsyncKVStore,
100
88
  private l2BlockSource: L2BlockSource & ContractDataSource,
101
89
  mempools: MemPools,
@@ -122,27 +110,6 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
122
110
  this.telemetry,
123
111
  );
124
112
 
125
- // Default to collecting all txs when we see a valid proposal
126
- // This can be overridden by the validator client to validate, and it will call getTxsForBlockProposal on its own
127
- // Note: Validators do NOT attest to individual blocks - attestations are only for checkpoint proposals.
128
- // TODO(palla/txs): We should not trigger a request for txs on a proposal before fully validating it. We need to bring
129
- // validator-client code into here so we can validate a proposal is reasonable.
130
- this.registerBlockProposalHandler(async (block, sender) => {
131
- this.log.debug(`Received block proposal from ${sender.toString()}`);
132
- // TODO(palla/txs): Need to subtract validatorReexecuteDeadlineMs from this deadline (see ValidatorClient.getReexecutionDeadline)
133
- const constants = this.txCollection.getConstants();
134
- const nextSlotTimestampSeconds = Number(getTimestampForSlot(SlotNumber(block.slotNumber + 1), constants));
135
- const deadline = new Date(nextSlotTimestampSeconds * 1000);
136
- const parentBlock = await this.l2BlockSource.getBlockHeaderByArchive(block.blockHeader.lastArchive.root);
137
- if (!parentBlock) {
138
- this.log.debug(`Cannot collect txs for proposal as parent block not found`);
139
- return false;
140
- }
141
- const blockNumber = BlockNumber(parentBlock.getBlockNumber() + 1);
142
- await this.txProvider.getTxsForBlockProposal(block, blockNumber, { pinnedPeer: sender, deadline });
143
- return true;
144
- });
145
-
146
113
  this.l2Tips = new L2TipsKVStore(store, 'p2p_client');
147
114
  this.synchedLatestSlot = store.openSingleton('p2p_pool_last_l2_slot');
148
115
  }
@@ -433,36 +400,6 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
433
400
  this.p2pService.registerDuplicateAttestationCallback(callback);
434
401
  }
435
402
 
436
- /**
437
- * Uses the batched Request Response protocol to request a set of transactions from the network.
438
- */
439
- private async requestTxsByHash(txHashes: TxHash[], pinnedPeerId: PeerId | undefined): Promise<Tx[]> {
440
- const timeoutMs = 8000; // Longer timeout for now
441
- const maxRetryAttempts = 10; // Keep retrying within the timeout
442
- const requests = chunkTxHashesRequest(txHashes);
443
- const maxPeers = Math.min(Math.ceil(requests.length / 3), 10);
444
-
445
- const txBatches = await this.p2pService.sendBatchRequest(
446
- ReqRespSubProtocol.TX,
447
- requests,
448
- pinnedPeerId,
449
- timeoutMs,
450
- maxPeers,
451
- maxRetryAttempts,
452
- );
453
-
454
- const txs = txBatches.flat();
455
- if (txs.length > 0) {
456
- await this.txPool.addPendingTxs(txs);
457
- }
458
-
459
- const txHashesStr = txHashes.map(tx => tx.toString()).join(', ');
460
- this.log.debug(`Requested txs ${txHashesStr} (${txs.length} / ${txHashes.length}) from peers`);
461
-
462
- // We return all transactions, even the not found ones to the caller, such they can handle missing items themselves.
463
- return txs;
464
- }
465
-
466
403
  public async getPendingTxs(limit?: number, after?: TxHash): Promise<Tx[]> {
467
404
  if (limit !== undefined && limit <= 0) {
468
405
  throw new TypeError('limit must be greater than 0');
@@ -530,49 +467,6 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
530
467
  return this.txPool.hasTxs(txHashes);
531
468
  }
532
469
 
533
- /**
534
- * Returns transactions in the transaction pool by hash.
535
- * If a transaction is not in the pool, it will be requested from the network.
536
- * @param txHashes - Hashes of the transactions to look for.
537
- * @returns The txs found, or undefined if not found in the order requested.
538
- */
539
- async getTxsByHash(txHashes: TxHash[], pinnedPeerId: PeerId | undefined): Promise<(Tx | undefined)[]> {
540
- const txs = await Promise.all(txHashes.map(txHash => this.txPool.getTxByHash(txHash)));
541
- const missingTxHashes = txs
542
- .map((tx, index) => [tx, index] as const)
543
- .filter(([tx, _index]) => !tx)
544
- .map(([_tx, index]) => txHashes[index]);
545
-
546
- if (missingTxHashes.length === 0) {
547
- return txs as Tx[];
548
- }
549
-
550
- const missingTxs = await this.requestTxsByHash(missingTxHashes, pinnedPeerId);
551
- // TODO: optimize
552
- // Merge the found txs in order
553
- const mergingTxs = txHashes.map(txHash => {
554
- // Is it in the txs list from the mempool?
555
- for (const tx of txs) {
556
- if (tx !== undefined && tx.getTxHash().equals(txHash)) {
557
- return tx;
558
- }
559
- }
560
-
561
- // Is it in the fetched missing txs?
562
- // Note: this is an O(n^2) operation, but we expect the number of missing txs to be small.
563
- for (const tx of missingTxs) {
564
- if (tx.getTxHash().equals(txHash)) {
565
- return tx;
566
- }
567
- }
568
-
569
- // Otherwise return undefined
570
- return undefined;
571
- });
572
-
573
- return mergingTxs;
574
- }
575
-
576
470
  /**
577
471
  * Returns an archived transaction in the transaction pool by its hash.
578
472
  * @param txHash - Hash of the archived transaction to look for.
@@ -839,8 +733,8 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
839
733
  this.log.debug(`Moved from state ${P2PClientState[oldState]} to ${P2PClientState[this.currentState]}`);
840
734
  }
841
735
 
842
- public validate(txs: Tx[]): Promise<void> {
843
- return this.p2pService.validate(txs);
736
+ public validateTxsReceivedInBlockProposal(txs: Tx[]): Promise<void> {
737
+ return this.p2pService.validateTxsReceivedInBlockProposal(txs);
844
738
  }
845
739
 
846
740
  /**