@aztec/p2p 0.76.4 → 0.77.0-testnet-ignition.21

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 (241) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +2 -2
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/dest/bootstrap/bootstrap.js +55 -41
  4. package/dest/client/factory.d.ts +8 -6
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +8 -10
  7. package/dest/client/index.js +0 -1
  8. package/dest/client/p2p_client.d.ts +7 -4
  9. package/dest/client/p2p_client.d.ts.map +1 -1
  10. package/dest/client/p2p_client.js +492 -514
  11. package/dest/config.d.ts +8 -10
  12. package/dest/config.d.ts.map +1 -1
  13. package/dest/config.js +54 -47
  14. package/dest/enr/generate-enr.d.ts +9 -0
  15. package/dest/enr/generate-enr.d.ts.map +1 -0
  16. package/dest/enr/generate-enr.js +30 -0
  17. package/dest/enr/index.d.ts +2 -0
  18. package/dest/enr/index.d.ts.map +1 -0
  19. package/dest/enr/index.js +1 -0
  20. package/dest/errors/reqresp.error.js +6 -10
  21. package/dest/index.js +0 -1
  22. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +1 -1
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
  24. package/dest/mem_pools/attestation_pool/attestation_pool.js +6 -2
  25. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  27. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +65 -33
  28. package/dest/mem_pools/attestation_pool/index.js +0 -1
  29. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +3 -3
  30. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -1
  31. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +23 -20
  32. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +2 -2
  33. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -1
  34. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +22 -26
  35. package/dest/mem_pools/attestation_pool/mocks.d.ts +3 -2
  36. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  37. package/dest/mem_pools/attestation_pool/mocks.js +12 -7
  38. package/dest/mem_pools/index.d.ts +2 -2
  39. package/dest/mem_pools/index.d.ts.map +1 -1
  40. package/dest/mem_pools/index.js +1 -2
  41. package/dest/mem_pools/instrumentation.d.ts +1 -1
  42. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  43. package/dest/mem_pools/instrumentation.js +35 -39
  44. package/dest/mem_pools/interface.d.ts +3 -3
  45. package/dest/mem_pools/interface.d.ts.map +1 -1
  46. package/dest/mem_pools/interface.js +3 -2
  47. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +2 -2
  48. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  49. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +129 -136
  50. package/dest/mem_pools/tx_pool/index.js +0 -1
  51. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +2 -2
  52. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -1
  53. package/dest/mem_pools/tx_pool/memory_tx_pool.js +46 -44
  54. package/dest/mem_pools/tx_pool/priority.d.ts +1 -1
  55. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
  56. package/dest/mem_pools/tx_pool/priority.js +1 -3
  57. package/dest/mem_pools/tx_pool/tx_pool.d.ts +1 -1
  58. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
  59. package/dest/mem_pools/tx_pool/tx_pool.js +3 -2
  60. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
  61. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
  62. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +109 -39
  63. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +2 -2
  64. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  65. package/dest/msg_validators/attestation_validator/attestation_validator.js +4 -4
  66. package/dest/msg_validators/attestation_validator/index.js +0 -1
  67. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +2 -2
  68. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -1
  69. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +3 -3
  70. package/dest/msg_validators/block_proposal_validator/index.js +0 -1
  71. package/dest/msg_validators/index.js +0 -1
  72. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +1 -1
  73. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
  74. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +9 -11
  75. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +2 -2
  76. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  77. package/dest/msg_validators/tx_validator/block_header_validator.js +18 -13
  78. package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
  79. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  80. package/dest/msg_validators/tx_validator/data_validator.js +102 -33
  81. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +1 -1
  82. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  83. package/dest/msg_validators/tx_validator/double_spend_validator.js +34 -20
  84. package/dest/msg_validators/tx_validator/index.js +0 -1
  85. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +2 -2
  86. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  87. package/dest/msg_validators/tx_validator/metadata_validator.js +30 -27
  88. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +2 -1
  89. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  90. package/dest/msg_validators/tx_validator/tx_proof_validator.js +17 -12
  91. package/dest/services/data_store.js +57 -57
  92. package/dest/services/discv5/discV5_service.d.ts +2 -0
  93. package/dest/services/discv5/discV5_service.d.ts.map +1 -1
  94. package/dest/services/discv5/discV5_service.js +64 -36
  95. package/dest/services/dummy_service.d.ts +4 -2
  96. package/dest/services/dummy_service.d.ts.map +1 -1
  97. package/dest/services/dummy_service.js +41 -59
  98. package/dest/services/encoding.d.ts +3 -3
  99. package/dest/services/encoding.d.ts.map +1 -1
  100. package/dest/services/encoding.js +10 -9
  101. package/dest/services/gossipsub/scoring.d.ts +7 -0
  102. package/dest/services/gossipsub/scoring.d.ts.map +1 -0
  103. package/dest/services/gossipsub/scoring.js +10 -0
  104. package/dest/services/index.js +0 -1
  105. package/dest/services/libp2p/libp2p_service.d.ts +10 -33
  106. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  107. package/dest/services/libp2p/libp2p_service.js +682 -673
  108. package/dest/services/peer-manager/metrics.js +14 -7
  109. package/dest/services/peer-manager/peer_manager.d.ts +24 -6
  110. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
  111. package/dest/services/peer-manager/peer_manager.js +390 -340
  112. package/dest/services/peer-manager/peer_scoring.d.ts +3 -3
  113. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  114. package/dest/services/peer-manager/peer_scoring.js +21 -19
  115. package/dest/services/reqresp/config.js +4 -5
  116. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +2 -2
  117. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  118. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +35 -28
  119. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +1 -1
  120. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  121. package/dest/services/reqresp/connection-sampler/connection_sampler.js +67 -61
  122. package/dest/services/reqresp/index.js +1 -3
  123. package/dest/services/reqresp/interface.d.ts +2 -2
  124. package/dest/services/reqresp/interface.d.ts.map +1 -1
  125. package/dest/services/reqresp/interface.js +27 -31
  126. package/dest/services/reqresp/metrics.d.ts +1 -1
  127. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  128. package/dest/services/reqresp/metrics.js +23 -10
  129. package/dest/services/reqresp/protocols/block.d.ts +2 -2
  130. package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
  131. package/dest/services/reqresp/protocols/block.js +1 -2
  132. package/dest/services/reqresp/protocols/goodbye.d.ts +5 -5
  133. package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
  134. package/dest/services/reqresp/protocols/goodbye.js +36 -41
  135. package/dest/services/reqresp/protocols/index.js +1 -3
  136. package/dest/services/reqresp/protocols/ping.js +1 -3
  137. package/dest/services/reqresp/protocols/status.js +1 -3
  138. package/dest/services/reqresp/protocols/tx.d.ts +3 -3
  139. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
  140. package/dest/services/reqresp/protocols/tx.js +6 -9
  141. package/dest/services/reqresp/rate-limiter/index.js +0 -1
  142. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +9 -9
  143. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
  144. package/dest/services/reqresp/rate-limiter/rate_limiter.js +53 -46
  145. package/dest/services/reqresp/rate-limiter/rate_limits.js +16 -17
  146. package/dest/services/reqresp/reqresp.d.ts +4 -4
  147. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  148. package/dest/services/reqresp/reqresp.js +467 -464
  149. package/dest/services/reqresp/status.js +16 -17
  150. package/dest/services/service.d.ts +3 -2
  151. package/dest/services/service.d.ts.map +1 -1
  152. package/dest/services/service.js +3 -4
  153. package/dest/test-helpers/generate-peer-id-private-keys.js +2 -4
  154. package/dest/test-helpers/get-ports.js +3 -3
  155. package/dest/test-helpers/index.js +0 -1
  156. package/dest/test-helpers/make-enrs.d.ts +1 -1
  157. package/dest/test-helpers/make-enrs.d.ts.map +1 -1
  158. package/dest/test-helpers/make-enrs.js +3 -6
  159. package/dest/test-helpers/make-test-p2p-clients.d.ts +7 -6
  160. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  161. package/dest/test-helpers/make-test-p2p-clients.js +10 -12
  162. package/dest/test-helpers/reqresp-nodes.d.ts +18 -7
  163. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  164. package/dest/test-helpers/reqresp-nodes.js +64 -40
  165. package/dest/testbench/p2p_client_testbench_worker.js +61 -45
  166. package/dest/testbench/parse_log_file.d.ts +2 -0
  167. package/dest/testbench/parse_log_file.d.ts.map +1 -0
  168. package/dest/testbench/parse_log_file.js +131 -0
  169. package/dest/testbench/testbench.d.ts +2 -0
  170. package/dest/testbench/testbench.d.ts.map +1 -0
  171. package/dest/testbench/testbench.js +141 -0
  172. package/dest/{services/types.d.ts → types/index.d.ts} +1 -1
  173. package/dest/types/index.d.ts.map +1 -0
  174. package/dest/types/index.js +28 -0
  175. package/dest/util.d.ts +5 -5
  176. package/dest/util.d.ts.map +1 -1
  177. package/dest/util.js +23 -34
  178. package/dest/versioning.d.ts +3 -3
  179. package/dest/versioning.d.ts.map +1 -1
  180. package/dest/versioning.js +7 -12
  181. package/package.json +15 -13
  182. package/src/bootstrap/bootstrap.ts +30 -17
  183. package/src/client/factory.ts +9 -12
  184. package/src/client/p2p_client.ts +13 -24
  185. package/src/config.ts +14 -15
  186. package/src/enr/generate-enr.ts +39 -0
  187. package/src/enr/index.ts +1 -0
  188. package/src/mem_pools/attestation_pool/attestation_pool.ts +1 -1
  189. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +4 -3
  190. package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +3 -3
  191. package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +2 -2
  192. package/src/mem_pools/attestation_pool/mocks.ts +5 -5
  193. package/src/mem_pools/index.ts +2 -2
  194. package/src/mem_pools/instrumentation.ts +4 -3
  195. package/src/mem_pools/interface.ts +3 -3
  196. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +4 -4
  197. package/src/mem_pools/tx_pool/memory_tx_pool.ts +3 -3
  198. package/src/mem_pools/tx_pool/priority.ts +1 -1
  199. package/src/mem_pools/tx_pool/tx_pool.ts +1 -1
  200. package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +4 -3
  201. package/src/msg_validators/attestation_validator/attestation_validator.ts +2 -2
  202. package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +2 -2
  203. package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +1 -1
  204. package/src/msg_validators/tx_validator/block_header_validator.ts +2 -2
  205. package/src/msg_validators/tx_validator/data_validator.ts +57 -4
  206. package/src/msg_validators/tx_validator/double_spend_validator.ts +17 -12
  207. package/src/msg_validators/tx_validator/metadata_validator.ts +2 -2
  208. package/src/msg_validators/tx_validator/tx_proof_validator.ts +2 -6
  209. package/src/services/discv5/discV5_service.ts +33 -8
  210. package/src/services/dummy_service.ts +4 -2
  211. package/src/services/encoding.ts +3 -3
  212. package/src/services/gossipsub/scoring.ts +13 -0
  213. package/src/services/libp2p/libp2p_service.ts +124 -146
  214. package/src/services/peer-manager/peer_manager.ts +71 -13
  215. package/src/services/peer-manager/peer_scoring.ts +3 -3
  216. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +2 -2
  217. package/src/services/reqresp/connection-sampler/connection_sampler.ts +9 -3
  218. package/src/services/reqresp/interface.ts +4 -3
  219. package/src/services/reqresp/metrics.ts +1 -1
  220. package/src/services/reqresp/protocols/block.ts +3 -3
  221. package/src/services/reqresp/protocols/goodbye.ts +7 -7
  222. package/src/services/reqresp/protocols/tx.ts +5 -5
  223. package/src/services/reqresp/rate-limiter/rate_limiter.ts +22 -18
  224. package/src/services/reqresp/reqresp.ts +18 -11
  225. package/src/services/service.ts +3 -2
  226. package/src/test-helpers/make-enrs.ts +1 -1
  227. package/src/test-helpers/make-test-p2p-clients.ts +9 -7
  228. package/src/test-helpers/reqresp-nodes.ts +32 -18
  229. package/src/testbench/p2p_client_testbench_worker.ts +16 -9
  230. package/src/testbench/parse_log_file.ts +175 -0
  231. package/src/testbench/testbench.ts +157 -0
  232. package/src/util.ts +5 -5
  233. package/src/versioning.ts +7 -7
  234. package/dest/services/libp2p/libp2p_logger.d.ts +0 -7
  235. package/dest/services/libp2p/libp2p_logger.d.ts.map +0 -1
  236. package/dest/services/libp2p/libp2p_logger.js +0 -67
  237. package/dest/services/types.d.ts.map +0 -1
  238. package/dest/services/types.js +0 -35
  239. package/src/services/libp2p/libp2p_logger.ts +0 -78
  240. package/src/testbench/scripts/run_testbench.sh +0 -7
  241. /package/src/{services/types.ts → types/index.ts} +0 -0
@@ -1,88 +1,84 @@
1
- import { Attributes, LmdbMetrics, Metrics, } from '@aztec/telemetry-client';
2
- export var PoolName;
3
- (function (PoolName) {
1
+ import { Attributes, LmdbMetrics, Metrics } from '@aztec/telemetry-client';
2
+ export var PoolName = /*#__PURE__*/ function(PoolName) {
4
3
  PoolName["TX_POOL"] = "TxPool";
5
4
  PoolName["ATTESTATION_POOL"] = "AttestationPool";
6
- })(PoolName || (PoolName = {}));
5
+ return PoolName;
6
+ }({});
7
7
  /**
8
8
  * Get the metrics labels for a given pool name.
9
9
  * They must all have different names, as if duplicates appear, it will brick
10
10
  * the metrics instance
11
- */
12
- function getMetricsLabels(name) {
13
- if (name === PoolName.TX_POOL) {
11
+ */ function getMetricsLabels(name) {
12
+ if (name === "TxPool") {
14
13
  return {
15
14
  objectInMempool: Metrics.MEMPOOL_TX_COUNT,
16
- objectSize: Metrics.MEMPOOL_TX_SIZE,
15
+ objectSize: Metrics.MEMPOOL_TX_SIZE
17
16
  };
18
- }
19
- else if (name === PoolName.ATTESTATION_POOL) {
17
+ } else if (name === "AttestationPool") {
20
18
  return {
21
19
  objectInMempool: Metrics.MEMPOOL_ATTESTATIONS_COUNT,
22
- objectSize: Metrics.MEMPOOL_ATTESTATIONS_SIZE,
20
+ objectSize: Metrics.MEMPOOL_ATTESTATIONS_SIZE
23
21
  };
24
22
  }
25
23
  throw new Error('Invalid pool type');
26
24
  }
27
25
  /**
28
26
  * Instrumentation class for the Pools (TxPool, AttestationPool, etc).
29
- */
30
- export class PoolInstrumentation {
31
- constructor(telemetry, name, dbStats) {
27
+ */ export class PoolInstrumentation {
28
+ /** The number of txs in the mempool */ objectsInMempool;
29
+ /** Tracks tx size */ objectSize;
30
+ dbMetrics;
31
+ defaultAttributes;
32
+ constructor(telemetry, name, dbStats){
32
33
  const meter = telemetry.getMeter(name);
33
- this.defaultAttributes = { [Attributes.POOL_NAME]: name };
34
+ this.defaultAttributes = {
35
+ [Attributes.POOL_NAME]: name
36
+ };
34
37
  const metricsLabels = getMetricsLabels(name);
35
38
  this.objectsInMempool = meter.createUpDownCounter(metricsLabels.objectInMempool, {
36
- description: 'The current number of transactions in the mempool',
39
+ description: 'The current number of transactions in the mempool'
37
40
  });
38
41
  this.objectSize = meter.createHistogram(metricsLabels.objectSize, {
39
42
  unit: 'By',
40
- description: 'The size of transactions in the mempool',
43
+ description: 'The size of transactions in the mempool'
41
44
  });
42
45
  this.dbMetrics = new LmdbMetrics(meter, {
43
- [Attributes.DB_DATA_TYPE]: 'tx-pool',
46
+ [Attributes.DB_DATA_TYPE]: 'tx-pool'
44
47
  }, dbStats);
45
48
  }
46
49
  recordSize(poolObject) {
47
50
  this.objectSize.record(poolObject.getSize());
48
51
  }
49
52
  /**
50
- * Updates the metrics with the new objects.
51
- * @param txs - The objects to record
52
- */
53
- recordAddedObjects(count = 1, status) {
53
+ * Updates the metrics with the new objects.
54
+ * @param txs - The objects to record
55
+ */ recordAddedObjects(count = 1, status) {
54
56
  if (count < 0) {
55
57
  throw new Error('Count must be positive');
56
58
  }
57
59
  if (count === 0) {
58
60
  return;
59
61
  }
60
- const attributes = status
61
- ? {
62
- ...this.defaultAttributes,
63
- [Attributes.STATUS]: status,
64
- }
65
- : this.defaultAttributes;
62
+ const attributes = status ? {
63
+ ...this.defaultAttributes,
64
+ [Attributes.STATUS]: status
65
+ } : this.defaultAttributes;
66
66
  this.objectsInMempool.add(count, attributes);
67
67
  }
68
68
  /**
69
- * Updates the metrics by removing objects from the mempool.
70
- * @param count - The number of objects to remove from the mempool
71
- */
72
- recordRemovedObjects(count = 1, status) {
69
+ * Updates the metrics by removing objects from the mempool.
70
+ * @param count - The number of objects to remove from the mempool
71
+ */ recordRemovedObjects(count = 1, status) {
73
72
  if (count < 0) {
74
73
  throw new Error('Count must be positive');
75
74
  }
76
75
  if (count === 0) {
77
76
  return;
78
77
  }
79
- const attributes = status
80
- ? {
81
- ...this.defaultAttributes,
82
- [Attributes.STATUS]: status,
83
- }
84
- : this.defaultAttributes;
78
+ const attributes = status ? {
79
+ ...this.defaultAttributes,
80
+ [Attributes.STATUS]: status
81
+ } : this.defaultAttributes;
85
82
  this.objectsInMempool.add(-1 * count, attributes);
86
83
  }
87
84
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lbV9wb29scy9pbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFVBQVUsRUFFVixXQUFXLEVBRVgsT0FBTyxHQUdSLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxDQUFOLElBQVksUUFHWDtBQUhELFdBQVksUUFBUTtJQUNsQiw4QkFBa0IsQ0FBQTtJQUNsQixnREFBb0MsQ0FBQTtBQUN0QyxDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFPRDs7OztHQUlHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFjO0lBQ3RDLElBQUksSUFBSSxLQUFLLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixPQUFPO1lBQ0wsZUFBZSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7WUFDekMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1NBQ3BDLENBQUM7SUFDSixDQUFDO1NBQU0sSUFBSSxJQUFJLEtBQUssUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsT0FBTztZQUNMLGVBQWUsRUFBRSxPQUFPLENBQUMsMEJBQTBCO1lBQ25ELFVBQVUsRUFBRSxPQUFPLENBQUMseUJBQXlCO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBWSxTQUEwQixFQUFFLElBQWMsRUFBRSxPQUEyQjtRQUNqRixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO1FBRTFELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRTtZQUMvRSxXQUFXLEVBQUUsbURBQW1EO1NBQ2pFLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1lBQ2hFLElBQUksRUFBRSxJQUFJO1lBQ1YsV0FBVyxFQUFFLHlDQUF5QztTQUN2RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksV0FBVyxDQUM5QixLQUFLLEVBQ0w7WUFDRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFTO1NBQ3JDLEVBQ0QsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVSxDQUFDLFVBQXNCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSSxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLE1BQWU7UUFDbEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTTtZQUN2QixDQUFDLENBQUM7Z0JBQ0UsR0FBRyxJQUFJLENBQUMsaUJBQWlCO2dCQUN6QixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNO2FBQzVCO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUUzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQW9CLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxNQUFlO1FBQ3BELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLE1BQU07WUFDdkIsQ0FBQyxDQUFDO2dCQUNFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjtnQkFDekIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTTthQUM1QjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIn0=
@@ -1,6 +1,6 @@
1
- import { type P2PClientType } from '@aztec/circuit-types';
2
- import { type AttestationPool } from './attestation_pool/attestation_pool.js';
3
- import { type TxPool } from './tx_pool/tx_pool.js';
1
+ import type { P2PClientType } from '@aztec/stdlib/p2p';
2
+ import type { AttestationPool } from './attestation_pool/attestation_pool.js';
3
+ import type { TxPool } from './tx_pool/tx_pool.js';
4
4
  /**
5
5
  * A interface the combines all mempools
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/mem_pools/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAAC,IAAI,IAAI;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,IAAI,GAAG,eAAe,GAAG,SAAS,CAAC;CAC9E,CAAC"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/mem_pools/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAAC,IAAI,IAAI;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,IAAI,GAAG,eAAe,GAAG,SAAS,CAAC;CAC9E,CAAC"}
@@ -1,2 +1,3 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lbV9wb29scy9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
1
+ /**
2
+ * A interface the combines all mempools
3
+ */ export { };
@@ -1,8 +1,8 @@
1
- import { Tx, TxHash } from '@aztec/circuit-types';
2
1
  import { type Logger } from '@aztec/foundation/log';
3
2
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
+ import { Tx, TxHash } from '@aztec/stdlib/tx';
4
4
  import { type TelemetryClient } from '@aztec/telemetry-client';
5
- import { type TxPool } from './tx_pool.js';
5
+ import type { TxPool } from './tx_pool.js';
6
6
  /**
7
7
  * KV implementation of the Transaction Pool.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"aztec_kv_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/aztec_kv_tx_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAInF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;;IA4B1C;;;;;;;OAOG;gBAED,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,GAAE,eAAsC,EACjD,eAAe,GAAE,MAAU,EAC3B,GAAG,SAA8B;IAgB5B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKvC,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAK/C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAalF;;;;OAIG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAUjE;;;;OAIG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAUzE;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B7C;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnD;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IASvC;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhD;;;;OAIG;YACW,UAAU;CAiCzB"}
1
+ {"version":3,"file":"aztec_kv_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/aztec_kv_tx_pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAG5F,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;;IA4B1C;;;;;;;OAOG;gBAED,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,GAAE,eAAsC,EACjD,eAAe,GAAE,MAAU,EAC3B,GAAG,SAA8B;IAgB5B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKvC,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAK/C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAalF;;;;OAIG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAUjE;;;;OAIG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAUzE;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B7C;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnD;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IASvC;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhD;;;;OAIG;YACW,UAAU;CAiCzB"}
@@ -1,71 +1,60 @@
1
- var _AztecKVTxPool_store, _AztecKVTxPool_txs, _AztecKVTxPool_minedTxHashToBlock, _AztecKVTxPool_pendingTxPriorityToHash, _AztecKVTxPool_archive, _AztecKVTxPool_archivedTxs, _AztecKVTxPool_archivedTxIndices, _AztecKVTxPool_archivedTxLimit, _AztecKVTxPool_log, _AztecKVTxPool_metrics;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Tx, TxHash } from '@aztec/circuit-types';
4
- import { ClientIvcProof } from '@aztec/circuits.js';
5
1
  import { toArray } from '@aztec/foundation/iterable';
6
2
  import { createLogger } from '@aztec/foundation/log';
3
+ import { ClientIvcProof } from '@aztec/stdlib/proofs';
4
+ import { Tx, TxHash } from '@aztec/stdlib/tx';
7
5
  import { getTelemetryClient } from '@aztec/telemetry-client';
8
6
  import { PoolInstrumentation, PoolName } from '../instrumentation.js';
9
7
  import { getPendingTxPriority } from './priority.js';
10
8
  /**
11
9
  * KV implementation of the Transaction Pool.
12
- */
13
- export class AztecKVTxPool {
10
+ */ export class AztecKVTxPool {
11
+ #store;
12
+ /** Our tx pool, stored as a Map, with K: tx hash and V: the transaction. */ #txs;
13
+ /** Index from tx hash to the block number in which they were mined, filtered by mined txs. */ #minedTxHashToBlock;
14
+ /** Index from tx priority (stored as hex) to its tx hash, filtered by pending txs. */ #pendingTxPriorityToHash;
15
+ /** KV store for archived txs. */ #archive;
16
+ /** Archived txs map for future lookup. */ #archivedTxs;
17
+ /** Indexes of the archived txs by insertion order. */ #archivedTxIndices;
18
+ /** Number of txs to archive. */ #archivedTxLimit;
19
+ #log;
20
+ #metrics;
14
21
  /**
15
- * Class constructor for KV TxPool. Initiates our transaction pool as an AztecMap.
16
- * @param store - A KV store for live txs in the pool.
17
- * @param archive - A KV store for archived txs.
18
- * @param telemetry - A telemetry client.
19
- * @param archivedTxLimit - The number of txs to archive.
20
- * @param log - A logger.
21
- */
22
- constructor(store, archive, telemetry = getTelemetryClient(), archivedTxLimit = 0, log = createLogger('p2p:tx_pool')) {
23
- _AztecKVTxPool_store.set(this, void 0);
24
- /** Our tx pool, stored as a Map, with K: tx hash and V: the transaction. */
25
- _AztecKVTxPool_txs.set(this, void 0);
26
- /** Index from tx hash to the block number in which they were mined, filtered by mined txs. */
27
- _AztecKVTxPool_minedTxHashToBlock.set(this, void 0);
28
- /** Index from tx priority (stored as hex) to its tx hash, filtered by pending txs. */
29
- _AztecKVTxPool_pendingTxPriorityToHash.set(this, void 0);
30
- /** KV store for archived txs. */
31
- _AztecKVTxPool_archive.set(this, void 0);
32
- /** Archived txs map for future lookup. */
33
- _AztecKVTxPool_archivedTxs.set(this, void 0);
34
- /** Indexes of the archived txs by insertion order. */
35
- _AztecKVTxPool_archivedTxIndices.set(this, void 0);
36
- /** Number of txs to archive. */
37
- _AztecKVTxPool_archivedTxLimit.set(this, void 0);
38
- _AztecKVTxPool_log.set(this, void 0);
39
- _AztecKVTxPool_metrics.set(this, void 0);
40
- __classPrivateFieldSet(this, _AztecKVTxPool_txs, store.openMap('txs'), "f");
41
- __classPrivateFieldSet(this, _AztecKVTxPool_minedTxHashToBlock, store.openMap('txHashToBlockMined'), "f");
42
- __classPrivateFieldSet(this, _AztecKVTxPool_pendingTxPriorityToHash, store.openMultiMap('pendingTxFeeToHash'), "f");
43
- __classPrivateFieldSet(this, _AztecKVTxPool_archivedTxs, archive.openMap('archivedTxs'), "f");
44
- __classPrivateFieldSet(this, _AztecKVTxPool_archivedTxIndices, archive.openMap('archivedTxIndices'), "f");
45
- __classPrivateFieldSet(this, _AztecKVTxPool_archivedTxLimit, archivedTxLimit, "f");
46
- __classPrivateFieldSet(this, _AztecKVTxPool_store, store, "f");
47
- __classPrivateFieldSet(this, _AztecKVTxPool_archive, archive, "f");
48
- __classPrivateFieldSet(this, _AztecKVTxPool_log, log, "f");
49
- __classPrivateFieldSet(this, _AztecKVTxPool_metrics, new PoolInstrumentation(telemetry, PoolName.TX_POOL, () => store.estimateSize()), "f");
22
+ * Class constructor for KV TxPool. Initiates our transaction pool as an AztecMap.
23
+ * @param store - A KV store for live txs in the pool.
24
+ * @param archive - A KV store for archived txs.
25
+ * @param telemetry - A telemetry client.
26
+ * @param archivedTxLimit - The number of txs to archive.
27
+ * @param log - A logger.
28
+ */ constructor(store, archive, telemetry = getTelemetryClient(), archivedTxLimit = 0, log = createLogger('p2p:tx_pool')){
29
+ this.#txs = store.openMap('txs');
30
+ this.#minedTxHashToBlock = store.openMap('txHashToBlockMined');
31
+ this.#pendingTxPriorityToHash = store.openMultiMap('pendingTxFeeToHash');
32
+ this.#archivedTxs = archive.openMap('archivedTxs');
33
+ this.#archivedTxIndices = archive.openMap('archivedTxIndices');
34
+ this.#archivedTxLimit = archivedTxLimit;
35
+ this.#store = store;
36
+ this.#archive = archive;
37
+ this.#log = log;
38
+ this.#metrics = new PoolInstrumentation(telemetry, PoolName.TX_POOL, ()=>store.estimateSize());
50
39
  }
51
40
  markAsMined(txHashes, blockNumber) {
52
41
  if (txHashes.length === 0) {
53
42
  return Promise.resolve();
54
43
  }
55
44
  let deletedPending = 0;
56
- return __classPrivateFieldGet(this, _AztecKVTxPool_store, "f").transactionAsync(async () => {
57
- for (const hash of txHashes) {
45
+ return this.#store.transactionAsync(async ()=>{
46
+ for (const hash of txHashes){
58
47
  const key = hash.toString();
59
- await __classPrivateFieldGet(this, _AztecKVTxPool_minedTxHashToBlock, "f").set(key, blockNumber);
48
+ await this.#minedTxHashToBlock.set(key, blockNumber);
60
49
  const tx = await this.getTxByHash(hash);
61
50
  if (tx) {
62
51
  deletedPending++;
63
52
  const fee = getPendingTxPriority(tx);
64
- await __classPrivateFieldGet(this, _AztecKVTxPool_pendingTxPriorityToHash, "f").deleteValue(fee, key);
53
+ await this.#pendingTxPriorityToHash.deleteValue(fee, key);
65
54
  }
66
55
  }
67
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordAddedObjects(txHashes.length, 'mined');
68
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedObjects(deletedPending, 'pending');
56
+ this.#metrics.recordAddedObjects(txHashes.length, 'mined');
57
+ this.#metrics.recordRemovedObjects(deletedPending, 'pending');
69
58
  });
70
59
  }
71
60
  markMinedAsPending(txHashes) {
@@ -73,48 +62,53 @@ export class AztecKVTxPool {
73
62
  return Promise.resolve();
74
63
  }
75
64
  let markedAsPending = 0;
76
- return __classPrivateFieldGet(this, _AztecKVTxPool_store, "f").transactionAsync(async () => {
77
- for (const hash of txHashes) {
65
+ return this.#store.transactionAsync(async ()=>{
66
+ for (const hash of txHashes){
78
67
  const key = hash.toString();
79
- await __classPrivateFieldGet(this, _AztecKVTxPool_minedTxHashToBlock, "f").delete(key);
68
+ await this.#minedTxHashToBlock.delete(key);
80
69
  const tx = await this.getTxByHash(hash);
81
70
  if (tx) {
82
- await __classPrivateFieldGet(this, _AztecKVTxPool_pendingTxPriorityToHash, "f").set(getPendingTxPriority(tx), key);
71
+ await this.#pendingTxPriorityToHash.set(getPendingTxPriority(tx), key);
83
72
  markedAsPending++;
84
73
  }
85
74
  }
86
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordAddedObjects(markedAsPending, 'pending');
87
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedObjects(markedAsPending, 'mined');
75
+ this.#metrics.recordAddedObjects(markedAsPending, 'pending');
76
+ this.#metrics.recordRemovedObjects(markedAsPending, 'mined');
88
77
  });
89
78
  }
90
79
  async getPendingTxHashes() {
91
- const vals = await toArray(__classPrivateFieldGet(this, _AztecKVTxPool_pendingTxPriorityToHash, "f").valuesAsync({ reverse: true }));
92
- return vals.map(x => TxHash.fromString(x));
80
+ const vals = await toArray(this.#pendingTxPriorityToHash.valuesAsync({
81
+ reverse: true
82
+ }));
83
+ return vals.map((x)=>TxHash.fromString(x));
93
84
  }
94
85
  async getMinedTxHashes() {
95
- const vals = await toArray(__classPrivateFieldGet(this, _AztecKVTxPool_minedTxHashToBlock, "f").entriesAsync());
96
- return vals.map(([txHash, blockNumber]) => [TxHash.fromString(txHash), blockNumber]);
86
+ const vals = await toArray(this.#minedTxHashToBlock.entriesAsync());
87
+ return vals.map(([txHash, blockNumber])=>[
88
+ TxHash.fromString(txHash),
89
+ blockNumber
90
+ ]);
97
91
  }
98
92
  async getTxStatus(txHash) {
99
93
  const key = txHash.toString();
100
- const [isMined, isKnown] = await Promise.all([__classPrivateFieldGet(this, _AztecKVTxPool_minedTxHashToBlock, "f").hasAsync(key), __classPrivateFieldGet(this, _AztecKVTxPool_txs, "f").hasAsync(key)]);
94
+ const [isMined, isKnown] = await Promise.all([
95
+ this.#minedTxHashToBlock.hasAsync(key),
96
+ this.#txs.hasAsync(key)
97
+ ]);
101
98
  if (isMined) {
102
99
  return 'mined';
103
- }
104
- else if (isKnown) {
100
+ } else if (isKnown) {
105
101
  return 'pending';
106
- }
107
- else {
102
+ } else {
108
103
  return undefined;
109
104
  }
110
105
  }
111
106
  /**
112
- * Checks if a transaction exists in the pool and returns it.
113
- * @param txHash - The generated tx hash.
114
- * @returns The transaction, if found, 'undefined' otherwise.
115
- */
116
- async getTxByHash(txHash) {
117
- const buffer = await __classPrivateFieldGet(this, _AztecKVTxPool_txs, "f").getAsync(txHash.toString());
107
+ * Checks if a transaction exists in the pool and returns it.
108
+ * @param txHash - The generated tx hash.
109
+ * @returns The transaction, if found, 'undefined' otherwise.
110
+ */ async getTxByHash(txHash) {
111
+ const buffer = await this.#txs.getAsync(txHash.toString());
118
112
  if (buffer) {
119
113
  const tx = Tx.fromBuffer(buffer);
120
114
  tx.setTxHash(txHash);
@@ -123,12 +117,11 @@ export class AztecKVTxPool {
123
117
  return undefined;
124
118
  }
125
119
  /**
126
- * Checks if an archived tx exists and returns it.
127
- * @param txHash - The tx hash.
128
- * @returns The transaction metadata, if found, 'undefined' otherwise.
129
- */
130
- async getArchivedTxByHash(txHash) {
131
- const buffer = await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxs, "f").getAsync(txHash.toString());
120
+ * Checks if an archived tx exists and returns it.
121
+ * @param txHash - The tx hash.
122
+ * @returns The transaction metadata, if found, 'undefined' otherwise.
123
+ */ async getArchivedTxByHash(txHash) {
124
+ const buffer = await this.#archivedTxs.getAsync(txHash.toString());
132
125
  if (buffer) {
133
126
  const tx = Tx.fromBuffer(buffer);
134
127
  tx.setTxHash(txHash);
@@ -137,116 +130,116 @@ export class AztecKVTxPool {
137
130
  return undefined;
138
131
  }
139
132
  /**
140
- * Adds a list of transactions to the pool. Duplicates are ignored.
141
- * @param txs - An array of txs to be added to the pool.
142
- * @returns Empty promise.
143
- */
144
- async addTxs(txs) {
145
- const hashesAndStats = await Promise.all(txs.map(async (tx) => ({ txHash: await tx.getTxHash(), txStats: await tx.getStats() })));
146
- await __classPrivateFieldGet(this, _AztecKVTxPool_store, "f").transactionAsync(async () => {
133
+ * Adds a list of transactions to the pool. Duplicates are ignored.
134
+ * @param txs - An array of txs to be added to the pool.
135
+ * @returns Empty promise.
136
+ */ async addTxs(txs) {
137
+ const hashesAndStats = await Promise.all(txs.map(async (tx)=>({
138
+ txHash: await tx.getTxHash(),
139
+ txStats: await tx.getStats()
140
+ })));
141
+ await this.#store.transactionAsync(async ()=>{
147
142
  let pendingCount = 0;
148
- await Promise.all(txs.map(async (tx, i) => {
143
+ await Promise.all(txs.map(async (tx, i)=>{
149
144
  const { txHash, txStats } = hashesAndStats[i];
150
- __classPrivateFieldGet(this, _AztecKVTxPool_log, "f").verbose(`Adding tx ${txHash.toString()} to pool`, {
145
+ this.#log.verbose(`Adding tx ${txHash.toString()} to pool`, {
151
146
  eventName: 'tx-added-to-pool',
152
- ...txStats,
147
+ ...txStats
153
148
  });
154
149
  const key = txHash.toString();
155
- await __classPrivateFieldGet(this, _AztecKVTxPool_txs, "f").set(key, tx.toBuffer());
156
- if (!(await __classPrivateFieldGet(this, _AztecKVTxPool_minedTxHashToBlock, "f").hasAsync(key))) {
150
+ await this.#txs.set(key, tx.toBuffer());
151
+ if (!await this.#minedTxHashToBlock.hasAsync(key)) {
157
152
  pendingCount++;
158
153
  // REFACTOR: Use an lmdb conditional write to avoid race conditions with this write tx
159
- await __classPrivateFieldGet(this, _AztecKVTxPool_pendingTxPriorityToHash, "f").set(getPendingTxPriority(tx), key);
160
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordSize(tx);
154
+ await this.#pendingTxPriorityToHash.set(getPendingTxPriority(tx), key);
155
+ this.#metrics.recordSize(tx);
161
156
  }
162
157
  }));
163
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordAddedObjects(pendingCount, 'pending');
158
+ this.#metrics.recordAddedObjects(pendingCount, 'pending');
164
159
  });
165
160
  }
166
161
  /**
167
- * Deletes transactions from the pool. Tx hashes that are not present are ignored.
168
- * @param txHashes - An array of tx hashes to be removed from the tx pool.
169
- * @returns Empty promise.
170
- */
171
- deleteTxs(txHashes) {
162
+ * Deletes transactions from the pool. Tx hashes that are not present are ignored.
163
+ * @param txHashes - An array of tx hashes to be removed from the tx pool.
164
+ * @returns Empty promise.
165
+ */ deleteTxs(txHashes) {
172
166
  let pendingDeleted = 0;
173
167
  let minedDeleted = 0;
174
168
  const deletedTxs = [];
175
- const poolDbTx = __classPrivateFieldGet(this, _AztecKVTxPool_store, "f").transactionAsync(async () => {
176
- for (const hash of txHashes) {
169
+ const poolDbTx = this.#store.transactionAsync(async ()=>{
170
+ for (const hash of txHashes){
177
171
  const key = hash.toString();
178
172
  const tx = await this.getTxByHash(hash);
179
173
  if (tx) {
180
174
  const fee = getPendingTxPriority(tx);
181
- await __classPrivateFieldGet(this, _AztecKVTxPool_pendingTxPriorityToHash, "f").deleteValue(fee, key);
182
- const isMined = await __classPrivateFieldGet(this, _AztecKVTxPool_minedTxHashToBlock, "f").hasAsync(key);
175
+ await this.#pendingTxPriorityToHash.deleteValue(fee, key);
176
+ const isMined = await this.#minedTxHashToBlock.hasAsync(key);
183
177
  if (isMined) {
184
178
  minedDeleted++;
185
- }
186
- else {
179
+ } else {
187
180
  pendingDeleted++;
188
181
  }
189
- if (__classPrivateFieldGet(this, _AztecKVTxPool_archivedTxLimit, "f")) {
182
+ if (this.#archivedTxLimit) {
190
183
  deletedTxs.push(tx);
191
184
  }
192
- await __classPrivateFieldGet(this, _AztecKVTxPool_txs, "f").delete(key);
193
- await __classPrivateFieldGet(this, _AztecKVTxPool_minedTxHashToBlock, "f").delete(key);
185
+ await this.#txs.delete(key);
186
+ await this.#minedTxHashToBlock.delete(key);
194
187
  }
195
188
  }
196
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedObjects(pendingDeleted, 'pending');
197
- __classPrivateFieldGet(this, _AztecKVTxPool_metrics, "f").recordRemovedObjects(minedDeleted, 'mined');
189
+ this.#metrics.recordRemovedObjects(pendingDeleted, 'pending');
190
+ this.#metrics.recordRemovedObjects(minedDeleted, 'mined');
198
191
  });
199
- return __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxLimit, "f") ? poolDbTx.then(() => this.archiveTxs(deletedTxs)) : poolDbTx;
192
+ return this.#archivedTxLimit ? poolDbTx.then(()=>this.archiveTxs(deletedTxs)) : poolDbTx;
200
193
  }
201
194
  /**
202
- * Gets all the transactions stored in the pool.
203
- * @returns Array of tx objects in the order they were added to the pool.
204
- */
205
- async getAllTxs() {
206
- const vals = await toArray(__classPrivateFieldGet(this, _AztecKVTxPool_txs, "f").entriesAsync());
207
- return vals.map(([hash, buffer]) => {
195
+ * Gets all the transactions stored in the pool.
196
+ * @returns Array of tx objects in the order they were added to the pool.
197
+ */ async getAllTxs() {
198
+ const vals = await toArray(this.#txs.entriesAsync());
199
+ return vals.map(([hash, buffer])=>{
208
200
  const tx = Tx.fromBuffer(buffer);
209
201
  tx.setTxHash(TxHash.fromString(hash));
210
202
  return tx;
211
203
  });
212
204
  }
213
205
  /**
214
- * Gets the hashes of all transactions currently in the tx pool.
215
- * @returns An array of transaction hashes found in the tx pool.
216
- */
217
- async getAllTxHashes() {
218
- const vals = await toArray(__classPrivateFieldGet(this, _AztecKVTxPool_txs, "f").keysAsync());
219
- return vals.map(x => TxHash.fromString(x));
206
+ * Gets the hashes of all transactions currently in the tx pool.
207
+ * @returns An array of transaction hashes found in the tx pool.
208
+ */ async getAllTxHashes() {
209
+ const vals = await toArray(this.#txs.keysAsync());
210
+ return vals.map((x)=>TxHash.fromString(x));
220
211
  }
221
212
  /**
222
- * Archives a list of txs for future reference. The number of archived txs is limited by the specified archivedTxLimit.
223
- * @param txs - The list of transactions to archive.
224
- * @returns Empty promise.
225
- */
226
- async archiveTxs(txs) {
227
- const txHashes = await Promise.all(txs.map(tx => tx.getTxHash()));
228
- await __classPrivateFieldGet(this, _AztecKVTxPool_archive, "f").transactionAsync(async () => {
213
+ * Archives a list of txs for future reference. The number of archived txs is limited by the specified archivedTxLimit.
214
+ * @param txs - The list of transactions to archive.
215
+ * @returns Empty promise.
216
+ */ async archiveTxs(txs) {
217
+ const txHashes = await Promise.all(txs.map((tx)=>tx.getTxHash()));
218
+ await this.#archive.transactionAsync(async ()=>{
229
219
  // calcualte the head and tail indices of the archived txs by insertion order.
230
- let headIdx = ((await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxIndices, "f").entriesAsync({ limit: 1, reverse: true }).next()).value?.[0] ?? -1) + 1;
231
- let tailIdx = (await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxIndices, "f").entriesAsync({ limit: 1 }).next()).value?.[0] ?? 0;
232
- for (let i = 0; i < txs.length; i++) {
220
+ let headIdx = ((await this.#archivedTxIndices.entriesAsync({
221
+ limit: 1,
222
+ reverse: true
223
+ }).next()).value?.[0] ?? -1) + 1;
224
+ let tailIdx = (await this.#archivedTxIndices.entriesAsync({
225
+ limit: 1
226
+ }).next()).value?.[0] ?? 0;
227
+ for(let i = 0; i < txs.length; i++){
233
228
  const tx = txs[i];
234
- while (headIdx - tailIdx >= __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxLimit, "f")) {
235
- const txHash = await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxIndices, "f").getAsync(tailIdx);
229
+ while(headIdx - tailIdx >= this.#archivedTxLimit){
230
+ const txHash = await this.#archivedTxIndices.getAsync(tailIdx);
236
231
  if (txHash) {
237
- await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxs, "f").delete(txHash);
238
- await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxIndices, "f").delete(tailIdx);
232
+ await this.#archivedTxs.delete(txHash);
233
+ await this.#archivedTxIndices.delete(tailIdx);
239
234
  }
240
235
  tailIdx++;
241
236
  }
242
237
  const archivedTx = new Tx(tx.data, ClientIvcProof.empty(), tx.contractClassLogs, tx.enqueuedPublicFunctionCalls, tx.publicTeardownFunctionCall);
243
238
  const txHash = txHashes[i].toString();
244
- await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxs, "f").set(txHash, archivedTx.toBuffer());
245
- await __classPrivateFieldGet(this, _AztecKVTxPool_archivedTxIndices, "f").set(headIdx, txHash);
239
+ await this.#archivedTxs.set(txHash, archivedTx.toBuffer());
240
+ await this.#archivedTxIndices.set(headIdx, txHash);
246
241
  headIdx++;
247
242
  }
248
243
  });
249
244
  }
250
245
  }
251
- _AztecKVTxPool_store = new WeakMap(), _AztecKVTxPool_txs = new WeakMap(), _AztecKVTxPool_minedTxHashToBlock = new WeakMap(), _AztecKVTxPool_pendingTxPriorityToHash = new WeakMap(), _AztecKVTxPool_archive = new WeakMap(), _AztecKVTxPool_archivedTxs = new WeakMap(), _AztecKVTxPool_archivedTxIndices = new WeakMap(), _AztecKVTxPool_archivedTxLimit = new WeakMap(), _AztecKVTxPool_log = new WeakMap(), _AztecKVTxPool_metrics = new WeakMap();
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfa3ZfdHhfcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbC9henRlY19rdl90eF9wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRDs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFhO0lBNEJ4Qjs7Ozs7OztPQU9HO0lBQ0gsWUFDRSxLQUF3QixFQUN4QixPQUEwQixFQUMxQixZQUE2QixrQkFBa0IsRUFBRSxFQUNqRCxrQkFBMEIsQ0FBQyxFQUMzQixHQUFHLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQXhDbkMsdUNBQTBCO1FBRTFCLDRFQUE0RTtRQUM1RSxxQ0FBb0M7UUFFcEMsOEZBQThGO1FBQzlGLG9EQUFtRDtRQUVuRCxzRkFBc0Y7UUFDdEYseURBQTZEO1FBRTdELGlDQUFpQztRQUNqQyx5Q0FBNEI7UUFFNUIsMENBQTBDO1FBQzFDLDZDQUE0QztRQUU1QyxzREFBc0Q7UUFDdEQsbURBQWtEO1FBRWxELGdDQUFnQztRQUNoQyxpREFBeUI7UUFFekIscUNBQWE7UUFFYix5Q0FBa0M7UUFpQmhDLHVCQUFBLElBQUksc0JBQVEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENB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
@@ -1,4 +1,3 @@
1
1
  export * from './tx_pool.js';
2
2
  export * from './memory_tx_pool.js';
3
3
  export * from './aztec_kv_tx_pool.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDIn0=
@@ -1,6 +1,6 @@
1
- import { Tx, TxHash } from '@aztec/circuit-types';
1
+ import { Tx, TxHash } from '@aztec/stdlib/tx';
2
2
  import { type TelemetryClient } from '@aztec/telemetry-client';
3
- import { type TxPool } from './tx_pool.js';
3
+ import type { TxPool } from './tx_pool.js';
4
4
  /**
5
5
  * In-memory implementation of the Transaction Pool.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"memory_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/memory_tx_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAInF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,qBAAa,cAAe,YAAW,MAAM;IAcoB,OAAO,CAAC,GAAG;IAb1E;;OAEG;IACH,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,OAAO,CAA0B;IAEzC;;;OAGG;gBACS,SAAS,GAAE,eAAsC,EAAU,GAAG,yCAA8B;IAOjG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ7C,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAM/C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAW5E;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAKpD,mBAAmB,IAAI,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAIrD;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7C;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnD;;;OAGG;IACI,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAIjC;;;OAGG;IACI,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAG3C"}
1
+ {"version":3,"file":"memory_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/memory_tx_pool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,qBAAa,cAAe,YAAW,MAAM;IAcoB,OAAO,CAAC,GAAG;IAb1E;;OAEG;IACH,OAAO,CAAC,GAAG,CAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,OAAO,CAA0B;IAEzC;;;OAGG;gBACS,SAAS,GAAE,eAAsC,EAAU,GAAG,yCAA8B;IAOjG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ7C,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAM/C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAW5E;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAKpD,mBAAmB,IAAI,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAIrD;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7C;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBnD;;;OAGG;IACI,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAIjC;;;OAGG;IACI,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAG3C"}