@aztec/p2p 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +38 -0
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -0
  3. package/dest/bootstrap/bootstrap.js +31 -38
  4. package/dest/client/factory.d.ts +21 -0
  5. package/dest/client/factory.d.ts.map +1 -0
  6. package/dest/client/factory.js +13 -11
  7. package/dest/client/index.d.ts +3 -0
  8. package/dest/client/index.d.ts.map +1 -0
  9. package/dest/client/index.js +1 -0
  10. package/dest/client/p2p_client.d.ts +332 -0
  11. package/dest/client/p2p_client.d.ts.map +1 -0
  12. package/dest/client/p2p_client.js +535 -513
  13. package/dest/config.d.ts +187 -0
  14. package/dest/config.d.ts.map +1 -0
  15. package/dest/config.js +64 -53
  16. package/dest/errors/reqresp.error.d.ts +28 -0
  17. package/dest/errors/reqresp.error.d.ts.map +1 -0
  18. package/dest/errors/reqresp.error.js +10 -6
  19. package/dest/index.d.ts +9 -0
  20. package/dest/index.d.ts.map +1 -0
  21. package/dest/index.js +1 -0
  22. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +57 -0
  23. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
  24. package/dest/mem_pools/attestation_pool/attestation_pool.js +2 -6
  25. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +3 -0
  26. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -0
  27. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +32 -64
  28. package/dest/mem_pools/attestation_pool/index.d.ts +3 -0
  29. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
  30. package/dest/mem_pools/attestation_pool/index.js +1 -0
  31. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +22 -0
  32. package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -0
  33. package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +19 -22
  34. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +17 -0
  35. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
  36. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +26 -22
  37. package/dest/mem_pools/attestation_pool/mocks.d.ts +18 -0
  38. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
  39. package/dest/mem_pools/attestation_pool/mocks.js +6 -10
  40. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
  41. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
  42. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -1
  43. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts +4 -0
  44. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
  45. package/dest/mem_pools/epoch_proof_quote_pool/index.js +1 -0
  46. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +12 -0
  47. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
  48. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +4 -5
  49. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts +8 -0
  50. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
  51. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +3 -2
  52. package/dest/mem_pools/index.d.ts +5 -0
  53. package/dest/mem_pools/index.d.ts.map +1 -0
  54. package/dest/mem_pools/index.js +2 -1
  55. package/dest/mem_pools/instrumentation.d.ts +31 -0
  56. package/dest/mem_pools/instrumentation.d.ts.map +1 -0
  57. package/dest/mem_pools/instrumentation.js +42 -37
  58. package/dest/mem_pools/interface.d.ts +13 -0
  59. package/dest/mem_pools/interface.d.ts.map +1 -0
  60. package/dest/mem_pools/interface.js +2 -3
  61. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +66 -0
  62. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
  63. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +134 -127
  64. package/dest/mem_pools/tx_pool/index.d.ts +4 -0
  65. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
  66. package/dest/mem_pools/tx_pool/index.js +1 -0
  67. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +56 -0
  68. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
  69. package/dest/mem_pools/tx_pool/memory_tx_pool.js +43 -45
  70. package/dest/mem_pools/tx_pool/priority.d.ts +8 -0
  71. package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -0
  72. package/dest/mem_pools/tx_pool/priority.js +3 -1
  73. package/dest/mem_pools/tx_pool/tx_pool.d.ts +66 -0
  74. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
  75. package/dest/mem_pools/tx_pool/tx_pool.js +2 -3
  76. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +7 -0
  77. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
  78. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +37 -107
  79. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +8 -0
  80. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -0
  81. package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -3
  82. package/dest/msg_validators/attestation_validator/index.d.ts +2 -0
  83. package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -0
  84. package/dest/msg_validators/attestation_validator/index.js +1 -0
  85. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +8 -0
  86. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -0
  87. package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +2 -2
  88. package/dest/msg_validators/block_proposal_validator/index.d.ts +2 -0
  89. package/dest/msg_validators/block_proposal_validator/index.d.ts.map +1 -0
  90. package/dest/msg_validators/block_proposal_validator/index.js +1 -0
  91. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts +8 -0
  92. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts.map +1 -0
  93. package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.js +2 -2
  94. package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts +2 -0
  95. package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts.map +1 -0
  96. package/dest/msg_validators/epoch_proof_quote_validator/index.js +1 -0
  97. package/dest/msg_validators/index.d.ts +4 -0
  98. package/dest/msg_validators/index.d.ts.map +1 -0
  99. package/dest/msg_validators/index.js +1 -0
  100. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +7 -0
  101. package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -0
  102. package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -9
  103. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +11 -0
  104. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -0
  105. package/dest/msg_validators/tx_validator/block_header_validator.js +12 -17
  106. package/dest/msg_validators/tx_validator/data_validator.d.ts +6 -0
  107. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -0
  108. package/dest/msg_validators/tx_validator/data_validator.js +32 -41
  109. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +12 -0
  110. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -0
  111. package/dest/msg_validators/tx_validator/double_spend_validator.js +14 -22
  112. package/dest/msg_validators/tx_validator/index.d.ts +7 -0
  113. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -0
  114. package/dest/msg_validators/tx_validator/index.js +1 -0
  115. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +10 -0
  116. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -0
  117. package/dest/msg_validators/tx_validator/metadata_validator.js +26 -29
  118. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +8 -0
  119. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -0
  120. package/dest/msg_validators/tx_validator/tx_proof_validator.js +12 -17
  121. package/dest/services/data_store.d.ts +27 -0
  122. package/dest/services/data_store.d.ts.map +1 -0
  123. package/dest/services/data_store.js +57 -57
  124. package/dest/services/discv5/discV5_service.d.ts +40 -0
  125. package/dest/services/discv5/discV5_service.d.ts.map +1 -0
  126. package/dest/services/discv5/discV5_service.js +82 -43
  127. package/dest/services/dummy_service.d.ts +83 -0
  128. package/dest/services/dummy_service.d.ts.map +1 -0
  129. package/dest/services/dummy_service.js +59 -40
  130. package/dest/services/encoding.d.ts +31 -0
  131. package/dest/services/encoding.d.ts.map +1 -0
  132. package/dest/services/encoding.js +9 -10
  133. package/dest/services/index.d.ts +3 -0
  134. package/dest/services/index.d.ts.map +1 -0
  135. package/dest/services/index.js +1 -0
  136. package/dest/services/libp2p/libp2p_logger.d.ts +7 -0
  137. package/dest/services/libp2p/libp2p_logger.d.ts.map +1 -0
  138. package/dest/services/libp2p/libp2p_logger.js +67 -0
  139. package/dest/services/libp2p/libp2p_service.d.ts +225 -0
  140. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -0
  141. package/dest/services/libp2p/libp2p_service.js +727 -709
  142. package/dest/services/peer-manager/metrics.d.ts +12 -0
  143. package/dest/services/peer-manager/metrics.d.ts.map +1 -0
  144. package/dest/services/peer-manager/metrics.js +7 -14
  145. package/dest/services/peer-manager/peer_manager.d.ts +76 -0
  146. package/dest/services/peer-manager/peer_manager.d.ts.map +1 -0
  147. package/dest/services/peer-manager/peer_manager.js +342 -340
  148. package/dest/services/peer-manager/peer_scoring.d.ts +28 -0
  149. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -0
  150. package/dest/services/peer-manager/peer_scoring.js +18 -20
  151. package/dest/services/reqresp/config.d.ts +16 -0
  152. package/dest/services/reqresp/config.d.ts.map +1 -0
  153. package/dest/services/reqresp/config.js +5 -4
  154. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +45 -0
  155. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -0
  156. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +28 -35
  157. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +61 -0
  158. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -0
  159. package/dest/services/reqresp/connection-sampler/connection_sampler.js +59 -60
  160. package/dest/services/reqresp/index.d.ts +6 -0
  161. package/dest/services/reqresp/index.d.ts.map +1 -0
  162. package/dest/services/reqresp/index.js +3 -1
  163. package/dest/services/reqresp/interface.d.ts +116 -0
  164. package/dest/services/reqresp/interface.d.ts.map +1 -0
  165. package/dest/services/reqresp/interface.js +30 -25
  166. package/dest/services/reqresp/metrics.d.ts +15 -0
  167. package/dest/services/reqresp/metrics.d.ts.map +1 -0
  168. package/dest/services/reqresp/metrics.js +10 -23
  169. package/dest/services/reqresp/protocols/block.d.ts +4 -0
  170. package/dest/services/reqresp/protocols/block.d.ts.map +1 -0
  171. package/dest/services/reqresp/protocols/block.js +2 -1
  172. package/dest/services/reqresp/protocols/goodbye.d.ts +51 -0
  173. package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -0
  174. package/dest/services/reqresp/protocols/goodbye.js +41 -36
  175. package/dest/services/reqresp/protocols/index.d.ts +9 -0
  176. package/dest/services/reqresp/protocols/index.d.ts.map +1 -0
  177. package/dest/services/reqresp/protocols/index.js +3 -1
  178. package/dest/services/reqresp/protocols/ping.d.ts +9 -0
  179. package/dest/services/reqresp/protocols/ping.d.ts.map +1 -0
  180. package/dest/services/reqresp/protocols/ping.js +3 -1
  181. package/dest/services/reqresp/protocols/status.d.ts +9 -0
  182. package/dest/services/reqresp/protocols/status.d.ts.map +1 -0
  183. package/dest/services/reqresp/protocols/status.js +3 -1
  184. package/dest/services/reqresp/protocols/tx.d.ts +13 -0
  185. package/dest/services/reqresp/protocols/tx.d.ts.map +1 -0
  186. package/dest/services/reqresp/protocols/tx.js +8 -5
  187. package/dest/services/reqresp/rate-limiter/index.d.ts +2 -0
  188. package/dest/services/reqresp/rate-limiter/index.d.ts.map +1 -0
  189. package/dest/services/reqresp/rate-limiter/index.js +1 -0
  190. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +102 -0
  191. package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -0
  192. package/dest/services/reqresp/rate-limiter/rate_limiter.js +35 -39
  193. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +3 -0
  194. package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -0
  195. package/dest/services/reqresp/rate-limiter/rate_limits.js +17 -16
  196. package/dest/services/reqresp/reqresp.d.ts +166 -0
  197. package/dest/services/reqresp/reqresp.d.ts.map +1 -0
  198. package/dest/services/reqresp/reqresp.js +463 -460
  199. package/dest/services/reqresp/status.d.ts +31 -0
  200. package/dest/services/reqresp/status.d.ts.map +1 -0
  201. package/dest/services/reqresp/status.js +17 -16
  202. package/dest/services/service.d.ts +86 -0
  203. package/dest/services/service.d.ts.map +1 -0
  204. package/dest/services/service.js +4 -3
  205. package/dest/services/types.d.ts +32 -0
  206. package/dest/services/types.d.ts.map +1 -0
  207. package/dest/services/types.js +19 -20
  208. package/dest/test-helpers/generate-peer-id-private-keys.d.ts +7 -0
  209. package/dest/test-helpers/generate-peer-id-private-keys.d.ts.map +1 -0
  210. package/dest/test-helpers/generate-peer-id-private-keys.js +15 -0
  211. package/dest/test-helpers/get-ports.d.ts +7 -0
  212. package/dest/test-helpers/get-ports.d.ts.map +1 -0
  213. package/dest/test-helpers/get-ports.js +8 -0
  214. package/dest/test-helpers/index.d.ts +6 -0
  215. package/dest/test-helpers/index.d.ts.map +1 -0
  216. package/dest/test-helpers/index.js +6 -0
  217. package/dest/test-helpers/make-enrs.d.ts +16 -0
  218. package/dest/test-helpers/make-enrs.d.ts.map +1 -0
  219. package/dest/test-helpers/make-enrs.js +35 -0
  220. package/dest/test-helpers/make-test-p2p-clients.d.ts +37 -0
  221. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -0
  222. package/dest/test-helpers/make-test-p2p-clients.js +71 -0
  223. package/dest/test-helpers/reqresp-nodes.d.ts +55 -0
  224. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -0
  225. package/dest/test-helpers/reqresp-nodes.js +183 -0
  226. package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -0
  227. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -0
  228. package/dest/testbench/p2p_client_testbench_worker.js +125 -0
  229. package/dest/util.d.ts +53 -0
  230. package/dest/util.d.ts.map +1 -0
  231. package/dest/util.js +34 -23
  232. package/dest/versioning.d.ts +12 -0
  233. package/dest/versioning.d.ts.map +1 -0
  234. package/dest/versioning.js +38 -0
  235. package/package.json +11 -9
  236. package/src/bootstrap/bootstrap.ts +9 -3
  237. package/src/client/factory.ts +12 -5
  238. package/src/config.ts +56 -29
  239. package/src/mem_pools/index.ts +3 -3
  240. package/src/mem_pools/instrumentation.ts +2 -3
  241. package/src/msg_validators/attestation_validator/attestation_validator.ts +3 -3
  242. package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +3 -3
  243. package/src/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.ts +3 -3
  244. package/src/services/discv5/discV5_service.ts +67 -18
  245. package/src/services/dummy_service.ts +2 -0
  246. package/src/services/libp2p/libp2p_logger.ts +78 -0
  247. package/src/services/libp2p/libp2p_service.ts +47 -10
  248. package/src/services/reqresp/protocols/goodbye.ts +1 -1
  249. package/src/services/reqresp/reqresp.ts +9 -1
  250. package/src/services/service.ts +2 -0
  251. package/src/services/types.ts +2 -10
  252. package/src/test-helpers/generate-peer-id-private-keys.ts +15 -0
  253. package/src/test-helpers/get-ports.ts +8 -0
  254. package/src/test-helpers/index.ts +5 -0
  255. package/src/test-helpers/make-enrs.ts +44 -0
  256. package/src/test-helpers/make-test-p2p-clients.ts +124 -0
  257. package/src/{mocks/index.ts → test-helpers/reqresp-nodes.ts} +10 -5
  258. package/src/testbench/README.md +20 -0
  259. package/src/testbench/p2p_client_testbench_worker.ts +156 -0
  260. package/src/testbench/scripts/run_testbench.sh +7 -0
  261. package/src/versioning.ts +50 -0
  262. package/dest/mocks/index.js +0 -190
@@ -1 +1,2 @@
1
1
  export { EpochProofQuoteValidator } from './epoch_proof_quote_validator.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvZXBvY2hfcHJvb2ZfcXVvdGVfdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ export * from './tx_validator/index.js';
2
+ export * from './block_proposal_validator/index.js';
3
+ export * from './attestation_validator/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/msg_validators/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './tx_validator/index.js';
2
2
  export * from './block_proposal_validator/index.js';
3
3
  export * from './attestation_validator/index.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUMifQ==
@@ -0,0 +1,7 @@
1
+ import { type ProcessedTx, type Tx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ export declare class AggregateTxValidator<T extends Tx | ProcessedTx> implements TxValidator<T> {
3
+ #private;
4
+ constructor(...validators: TxValidator<T>[]);
5
+ validateTx(tx: T): Promise<TxValidationResult>;
6
+ }
7
+ //# sourceMappingURL=aggregate_tx_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregate_tx_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/aggregate_tx_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5G,qBAAa,oBAAoB,CAAC,CAAC,SAAS,EAAE,GAAG,WAAW,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAEzE,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE;IAQrC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAmBrD"}
@@ -1,22 +1,22 @@
1
+ var _AggregateTxValidator_validators;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  export class AggregateTxValidator {
2
- #validators;
3
- constructor(...validators){
4
+ constructor(...validators) {
5
+ _AggregateTxValidator_validators.set(this, void 0);
4
6
  if (validators.length === 0) {
5
7
  throw new Error('At least one validator must be provided');
6
8
  }
7
- this.#validators = validators;
9
+ __classPrivateFieldSet(this, _AggregateTxValidator_validators, validators, "f");
8
10
  }
9
11
  async validateTx(tx) {
10
- const aggregate = {
11
- result: 'valid',
12
- reason: []
13
- };
14
- for (const validator of this.#validators){
12
+ const aggregate = { result: 'valid', reason: [] };
13
+ for (const validator of __classPrivateFieldGet(this, _AggregateTxValidator_validators, "f")) {
15
14
  const result = await validator.validateTx(tx);
16
15
  if (result.result === 'invalid') {
17
16
  aggregate.result = 'invalid';
18
17
  aggregate.reason.push(...result.reason);
19
- } else if (result.result === 'skipped') {
18
+ }
19
+ else if (result.result === 'skipped') {
20
20
  if (aggregate.result === 'valid') {
21
21
  aggregate.result = 'skipped';
22
22
  }
@@ -29,3 +29,5 @@ export class AggregateTxValidator {
29
29
  return aggregate;
30
30
  }
31
31
  }
32
+ _AggregateTxValidator_validators = new WeakMap();
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlX3R4X3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYWdncmVnYXRlX3R4X3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBWSxHQUFHLFVBQTRCO1FBRDNDLG1EQUE4QjtRQUU1QixJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCx1QkFBQSxJQUFJLG9DQUFlLFVBQVUsTUFBQSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUs7UUFDcEIsTUFBTSxTQUFTLEdBQTBDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDekYsS0FBSyxNQUFNLFNBQVMsSUFBSSx1QkFBQSxJQUFJLHdDQUFZLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsU0FBUyxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDakMsU0FBUyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7Z0JBQy9CLENBQUM7Z0JBQ0QsU0FBUyxDQUFDLE1BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDakMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLFNBQStCLENBQUM7SUFDekMsQ0FBQztDQUNGIn0=
@@ -0,0 +1,11 @@
1
+ import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ import { type Fr } from '@aztec/circuits.js';
3
+ export interface ArchiveSource {
4
+ getArchiveIndices: (archives: Fr[]) => Promise<(bigint | undefined)[]>;
5
+ }
6
+ export declare class BlockHeaderTxValidator<T extends AnyTx> implements TxValidator<T> {
7
+ #private;
8
+ constructor(archiveSource: ArchiveSource);
9
+ validateTx(tx: T): Promise<TxValidationResult>;
10
+ }
11
+ //# sourceMappingURL=block_header_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_header_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/block_header_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG7C,MAAM,WAAW,aAAa;IAC5B,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;CACxE;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAIhE,aAAa,EAAE,aAAa;IAIlC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQrD"}
@@ -1,26 +1,21 @@
1
+ var _BlockHeaderTxValidator_log, _BlockHeaderTxValidator_archiveSource;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Tx } from '@aztec/circuit-types';
2
4
  import { createLogger } from '@aztec/foundation/log';
3
5
  export class BlockHeaderTxValidator {
4
- #log = createLogger('p2p:tx_validator:tx_block_header');
5
- #archiveSource;
6
- constructor(archiveSource){
7
- this.#archiveSource = archiveSource;
6
+ constructor(archiveSource) {
7
+ _BlockHeaderTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_block_header'));
8
+ _BlockHeaderTxValidator_archiveSource.set(this, void 0);
9
+ __classPrivateFieldSet(this, _BlockHeaderTxValidator_archiveSource, archiveSource, "f");
8
10
  }
9
11
  async validateTx(tx) {
10
- const [index] = await this.#archiveSource.getArchiveIndices([
11
- await tx.data.constants.historicalHeader.hash()
12
- ]);
12
+ const [index] = await __classPrivateFieldGet(this, _BlockHeaderTxValidator_archiveSource, "f").getArchiveIndices([await tx.data.constants.historicalHeader.hash()]);
13
13
  if (index === undefined) {
14
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} for referencing an unknown block header`);
15
- return {
16
- result: 'invalid',
17
- reason: [
18
- 'Block header not found'
19
- ]
20
- };
14
+ __classPrivateFieldGet(this, _BlockHeaderTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for referencing an unknown block header`);
15
+ return { result: 'invalid', reason: ['Block header not found'] };
21
16
  }
22
- return {
23
- result: 'valid'
24
- };
17
+ return { result: 'valid' };
25
18
  }
26
19
  }
20
+ _BlockHeaderTxValidator_log = new WeakMap(), _BlockHeaderTxValidator_archiveSource = new WeakMap();
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYmxvY2tfaGVhZGVyX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQTZDLE1BQU0sc0JBQXNCLENBQUM7QUFFakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTXJELE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBWSxhQUE0QjtRQUh4QyxzQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUN4RCx3REFBOEI7UUFHNUIsdUJBQUEsSUFBSSx5Q0FBa0IsYUFBYSxNQUFBLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBSztRQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSx1QkFBQSxJQUFJLDZDQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4Qix1QkFBQSxJQUFJLG1DQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDL0YsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiJ9
@@ -0,0 +1,6 @@
1
+ import { Tx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ export declare class DataTxValidator implements TxValidator<Tx> {
3
+ #private;
4
+ validateTx(tx: Tx): Promise<TxValidationResult>;
5
+ }
6
+ //# sourceMappingURL=data_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/data_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGrF,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAGrD,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8ChD"}
@@ -1,47 +1,38 @@
1
+ var _DataTxValidator_instances, _DataTxValidator_log, _DataTxValidator_hasCorrectExecutionRequests;
2
+ import { __classPrivateFieldGet } from "tslib";
1
3
  import { Tx } from '@aztec/circuit-types';
2
4
  import { createLogger } from '@aztec/foundation/log';
3
5
  export class DataTxValidator {
4
- #log = createLogger('p2p:tx_validator:tx_data');
5
- validateTx(tx) {
6
- return this.#hasCorrectExecutionRequests(tx);
6
+ constructor() {
7
+ _DataTxValidator_instances.add(this);
8
+ _DataTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_data'));
9
+ // TODO: Check logs.
7
10
  }
8
- async #hasCorrectExecutionRequests(tx) {
9
- const callRequests = [
10
- ...tx.data.getRevertiblePublicCallRequests(),
11
- ...tx.data.getNonRevertiblePublicCallRequests()
12
- ];
13
- if (callRequests.length !== tx.enqueuedPublicFunctionCalls.length) {
14
- this.#log.warn(`Rejecting tx ${Tx.getHash(tx)} because of mismatch number of execution requests for public calls. Expected ${callRequests.length}. Got ${tx.enqueuedPublicFunctionCalls.length}.`);
15
- return {
16
- result: 'invalid',
17
- reason: [
18
- 'Wrong number of execution requests for public calls'
19
- ]
20
- };
21
- }
22
- const invalidExecutionRequestIndex = (await Promise.all(tx.enqueuedPublicFunctionCalls.map(async (execRequest, i)=>!await execRequest.isForCallRequest(callRequests[i])))).findIndex(Boolean);
23
- if (invalidExecutionRequestIndex !== -1) {
24
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect execution requests for public call at index ${invalidExecutionRequestIndex}.`);
25
- return {
26
- result: 'invalid',
27
- reason: [
28
- 'Incorrect execution request for public call'
29
- ]
30
- };
31
- }
32
- const teardownCallRequest = tx.data.getTeardownPublicCallRequest();
33
- const isInvalidTeardownExecutionRequest = !teardownCallRequest && !tx.publicTeardownFunctionCall.isEmpty() || teardownCallRequest && !await tx.publicTeardownFunctionCall.isForCallRequest(teardownCallRequest);
34
- if (isInvalidTeardownExecutionRequest) {
35
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect teardown execution requests.`);
36
- return {
37
- result: 'invalid',
38
- reason: [
39
- 'Incorrect teardown execution request'
40
- ]
41
- };
42
- }
43
- return {
44
- result: 'valid'
45
- };
11
+ validateTx(tx) {
12
+ return __classPrivateFieldGet(this, _DataTxValidator_instances, "m", _DataTxValidator_hasCorrectExecutionRequests).call(this, tx);
46
13
  }
47
14
  }
15
+ _DataTxValidator_log = new WeakMap(), _DataTxValidator_instances = new WeakSet(), _DataTxValidator_hasCorrectExecutionRequests = async function _DataTxValidator_hasCorrectExecutionRequests(tx) {
16
+ const callRequests = [
17
+ ...tx.data.getRevertiblePublicCallRequests(),
18
+ ...tx.data.getNonRevertiblePublicCallRequests(),
19
+ ];
20
+ if (callRequests.length !== tx.enqueuedPublicFunctionCalls.length) {
21
+ __classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} because of mismatch number of execution requests for public calls. Expected ${callRequests.length}. Got ${tx.enqueuedPublicFunctionCalls.length}.`);
22
+ return { result: 'invalid', reason: ['Wrong number of execution requests for public calls'] };
23
+ }
24
+ const invalidExecutionRequestIndex = (await Promise.all(tx.enqueuedPublicFunctionCalls.map(async (execRequest, i) => !(await execRequest.isForCallRequest(callRequests[i]))))).findIndex(Boolean);
25
+ if (invalidExecutionRequestIndex !== -1) {
26
+ __classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect execution requests for public call at index ${invalidExecutionRequestIndex}.`);
27
+ return { result: 'invalid', reason: ['Incorrect execution request for public call'] };
28
+ }
29
+ const teardownCallRequest = tx.data.getTeardownPublicCallRequest();
30
+ const isInvalidTeardownExecutionRequest = (!teardownCallRequest && !tx.publicTeardownFunctionCall.isEmpty()) ||
31
+ (teardownCallRequest && !(await tx.publicTeardownFunctionCall.isForCallRequest(teardownCallRequest)));
32
+ if (isInvalidTeardownExecutionRequest) {
33
+ __classPrivateFieldGet(this, _DataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect teardown execution requests.`);
34
+ return { result: 'invalid', reason: ['Incorrect teardown execution request'] };
35
+ }
36
+ return { result: 'valid' };
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV92YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL2RhdGFfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLEVBQUUsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsTUFBTSxPQUFPLGVBQWU7SUFBNUI7O1FBQ0UsK0JBQU8sWUFBWSxDQUFDLDBCQUEwQixDQUFDLEVBQUM7UUErQ2hELG9CQUFvQjtJQUN0QixDQUFDO0lBOUNDLFVBQVUsQ0FBQyxFQUFNO1FBQ2YsT0FBTyx1QkFBQSxJQUFJLGdGQUE2QixNQUFqQyxJQUFJLEVBQThCLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0E0Q0Y7aUlBMUNDLEtBQUssdURBQThCLEVBQU07SUFDdkMsTUFBTSxZQUFZLEdBQUc7UUFDbkIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFO1FBQzVDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRTtLQUNoRCxDQUFDO0lBQ0YsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsRSx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnRkFDNUIsWUFBWSxDQUFDLE1BQ2YsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUMsTUFBTSxHQUFHLENBQ2xELENBQUM7UUFDRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxxREFBcUQsQ0FBQyxFQUFFLENBQUM7SUFDaEcsQ0FBQztJQUNELE1BQU0sNEJBQTRCLEdBQUcsQ0FDbkMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQ2hDLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxXQUFXLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FDRixDQUNGLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JCLElBQUksNEJBQTRCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4Qyx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQzlCLEVBQUUsQ0FDSCxxRUFBcUUsNEJBQTRCLEdBQUcsQ0FDdEcsQ0FBQztRQUNGLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLDZDQUE2QyxDQUFDLEVBQUUsQ0FBQztJQUN4RixDQUFDO0lBRUQsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDbkUsTUFBTSxpQ0FBaUMsR0FDckMsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xFLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLElBQUksaUNBQWlDLEVBQUUsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLDRCQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsc0NBQXNDLENBQUMsRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzdCLENBQUMifQ==
@@ -0,0 +1,12 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
4
+ export interface NullifierSource {
5
+ nullifiersExist: (nullifiers: Buffer[]) => Promise<boolean[]>;
6
+ }
7
+ export declare class DoubleSpendTxValidator<T extends AnyTx> implements TxValidator<T> {
8
+ #private;
9
+ constructor(nullifierSource: NullifierSource);
10
+ validateTx(tx: T): Promise<TxValidationResult>;
11
+ }
12
+ //# sourceMappingURL=double_spend_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"double_spend_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/double_spend_validator.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGjG,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CAC/D;AAED,qBAAa,sBAAsB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;gBAIhE,eAAe,EAAE,eAAe;IAItC,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAiBrD"}
@@ -1,35 +1,27 @@
1
+ var _DoubleSpendTxValidator_log, _DoubleSpendTxValidator_nullifierSource;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Tx } from '@aztec/circuit-types';
2
4
  import { createLogger } from '@aztec/foundation/log';
3
5
  export class DoubleSpendTxValidator {
4
- #log = createLogger('p2p:tx_validator:tx_double_spend');
5
- #nullifierSource;
6
- constructor(nullifierSource){
7
- this.#nullifierSource = nullifierSource;
6
+ constructor(nullifierSource) {
7
+ _DoubleSpendTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_double_spend'));
8
+ _DoubleSpendTxValidator_nullifierSource.set(this, void 0);
9
+ __classPrivateFieldSet(this, _DoubleSpendTxValidator_nullifierSource, nullifierSource, "f");
8
10
  }
9
11
  async validateTx(tx) {
10
12
  const nullifiers = tx instanceof Tx ? tx.data.getNonEmptyNullifiers() : tx.txEffect.nullifiers;
11
13
  // Ditch this tx if it has repeated nullifiers
12
14
  const uniqueNullifiers = new Set(nullifiers);
13
15
  if (uniqueNullifiers.size !== nullifiers.length) {
14
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} for emitting duplicate nullifiers`);
15
- return {
16
- result: 'invalid',
17
- reason: [
18
- 'Duplicate nullifier in tx'
19
- ]
20
- };
16
+ __classPrivateFieldGet(this, _DoubleSpendTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for emitting duplicate nullifiers`);
17
+ return { result: 'invalid', reason: ['Duplicate nullifier in tx'] };
21
18
  }
22
- if ((await this.#nullifierSource.nullifiersExist(nullifiers.map((n)=>n.toBuffer()))).some(Boolean)) {
23
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} for repeating a nullifier`);
24
- return {
25
- result: 'invalid',
26
- reason: [
27
- 'Existing nullifier'
28
- ]
29
- };
19
+ if ((await __classPrivateFieldGet(this, _DoubleSpendTxValidator_nullifierSource, "f").nullifiersExist(nullifiers.map(n => n.toBuffer()))).some(Boolean)) {
20
+ __classPrivateFieldGet(this, _DoubleSpendTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for repeating a nullifier`);
21
+ return { result: 'invalid', reason: ['Existing nullifier'] };
30
22
  }
31
- return {
32
- result: 'valid'
33
- };
23
+ return { result: 'valid' };
34
24
  }
35
25
  }
26
+ _DoubleSpendTxValidator_log = new WeakMap(), _DoubleSpendTxValidator_nullifierSource = new WeakMap();
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG91YmxlX3NwZW5kX3ZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZG91YmxlX3NwZW5kX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQTZDLE1BQU0sc0JBQXNCLENBQUM7QUFDakcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTXJELE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsWUFBWSxlQUFnQztRQUg1QyxzQ0FBTyxZQUFZLENBQUMsa0NBQWtDLENBQUMsRUFBQztRQUN4RCwwREFBa0M7UUFHaEMsdUJBQUEsSUFBSSwyQ0FBb0IsZUFBZSxNQUFBLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBSztRQUNwQixNQUFNLFVBQVUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBRS9GLDhDQUE4QztRQUM5QyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRCx1QkFBQSxJQUFJLG1DQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDekYsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO1FBQ3RFLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSx1QkFBQSxJQUFJLCtDQUFpQixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ25HLHVCQUFBLElBQUksbUNBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFDL0QsQ0FBQztRQUVELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUNGIn0=
@@ -0,0 +1,7 @@
1
+ export * from './aggregate_tx_validator.js';
2
+ export * from './data_validator.js';
3
+ export * from './double_spend_validator.js';
4
+ export * from './metadata_validator.js';
5
+ export * from './tx_proof_validator.js';
6
+ export * from './block_header_validator.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
@@ -4,3 +4,4 @@ export * from './double_spend_validator.js';
4
4
  export * from './metadata_validator.js';
5
5
  export * from './tx_proof_validator.js';
6
6
  export * from './block_header_validator.js';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDIn0=
@@ -0,0 +1,10 @@
1
+ import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ import { type Fr } from '@aztec/circuits.js';
3
+ export declare class MetadataTxValidator<T extends AnyTx> implements TxValidator<T> {
4
+ #private;
5
+ private chainId;
6
+ private blockNumber;
7
+ constructor(chainId: Fr, blockNumber: Fr);
8
+ validateTx(tx: T): Promise<TxValidationResult>;
9
+ }
10
+ //# sourceMappingURL=metadata_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAM,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG7C,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAG7D,OAAO,CAAC,OAAO;IAAM,OAAO,CAAC,WAAW;gBAAhC,OAAO,EAAE,EAAE,EAAU,WAAW,EAAE,EAAE;IAElD,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAsCrD"}
@@ -1,44 +1,41 @@
1
+ var _MetadataTxValidator_instances, _MetadataTxValidator_log, _MetadataTxValidator_hasCorrectChainId, _MetadataTxValidator_isValidForBlockNumber;
2
+ import { __classPrivateFieldGet } from "tslib";
1
3
  import { Tx } from '@aztec/circuit-types';
2
4
  import { createLogger } from '@aztec/foundation/log';
3
5
  export class MetadataTxValidator {
4
- chainId;
5
- blockNumber;
6
- #log;
7
- constructor(chainId, blockNumber){
6
+ constructor(chainId, blockNumber) {
7
+ _MetadataTxValidator_instances.add(this);
8
8
  this.chainId = chainId;
9
9
  this.blockNumber = blockNumber;
10
- this.#log = createLogger('p2p:tx_validator:tx_metadata');
10
+ _MetadataTxValidator_log.set(this, createLogger('p2p:tx_validator:tx_metadata'));
11
11
  }
12
12
  async validateTx(tx) {
13
13
  const errors = [];
14
- if (!await this.#hasCorrectChainId(tx)) {
14
+ if (!(await __classPrivateFieldGet(this, _MetadataTxValidator_instances, "m", _MetadataTxValidator_hasCorrectChainId).call(this, tx))) {
15
15
  errors.push('Incorrect chain id');
16
16
  }
17
- if (!await this.#isValidForBlockNumber(tx)) {
17
+ if (!(await __classPrivateFieldGet(this, _MetadataTxValidator_instances, "m", _MetadataTxValidator_isValidForBlockNumber).call(this, tx))) {
18
18
  errors.push('Invalid block number');
19
19
  }
20
- return errors.length > 0 ? {
21
- result: 'invalid',
22
- reason: errors
23
- } : {
24
- result: 'valid'
25
- };
20
+ return errors.length > 0 ? { result: 'invalid', reason: errors } : { result: 'valid' };
26
21
  }
27
- async #hasCorrectChainId(tx) {
28
- if (!tx.data.constants.txContext.chainId.equals(this.chainId)) {
29
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect chain ${tx.data.constants.txContext.chainId.toNumber()} != ${this.chainId.toNumber()}`);
30
- return false;
31
- } else {
32
- return true;
33
- }
22
+ }
23
+ _MetadataTxValidator_log = new WeakMap(), _MetadataTxValidator_instances = new WeakSet(), _MetadataTxValidator_hasCorrectChainId = async function _MetadataTxValidator_hasCorrectChainId(tx) {
24
+ if (!tx.data.constants.txContext.chainId.equals(this.chainId)) {
25
+ __classPrivateFieldGet(this, _MetadataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} because of incorrect chain ${tx.data.constants.txContext.chainId.toNumber()} != ${this.chainId.toNumber()}`);
26
+ return false;
34
27
  }
35
- async #isValidForBlockNumber(tx) {
36
- const maxBlockNumber = tx.data.rollupValidationRequests.maxBlockNumber;
37
- if (maxBlockNumber.isSome && maxBlockNumber.value < this.blockNumber) {
38
- this.#log.warn(`Rejecting tx ${await Tx.getHash(tx)} for low max block number. Tx max block number: ${maxBlockNumber.value}, current block number: ${this.blockNumber}.`);
39
- return false;
40
- } else {
41
- return true;
42
- }
28
+ else {
29
+ return true;
43
30
  }
44
- }
31
+ }, _MetadataTxValidator_isValidForBlockNumber = async function _MetadataTxValidator_isValidForBlockNumber(tx) {
32
+ const maxBlockNumber = tx.data.rollupValidationRequests.maxBlockNumber;
33
+ if (maxBlockNumber.isSome && maxBlockNumber.value < this.blockNumber) {
34
+ __classPrivateFieldGet(this, _MetadataTxValidator_log, "f").warn(`Rejecting tx ${await Tx.getHash(tx)} for low max block number. Tx max block number: ${maxBlockNumber.value}, current block number: ${this.blockNumber}.`);
35
+ return false;
36
+ }
37
+ else {
38
+ return true;
39
+ }
40
+ };
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9tZXRhZGF0YV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWMsRUFBRSxFQUE2QyxNQUFNLHNCQUFzQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzlCLFlBQW9CLE9BQVcsRUFBVSxXQUFlOztRQUFwQyxZQUFPLEdBQVAsT0FBTyxDQUFJO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQUk7UUFGeEQsbUNBQU8sWUFBWSxDQUFDLDhCQUE4QixDQUFDLEVBQUM7SUFFTyxDQUFDO0lBRTVELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBSztRQUNwQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLENBQUMsTUFBTSx1QkFBQSxJQUFJLDhFQUFtQixNQUF2QixJQUFJLEVBQW9CLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sdUJBQUEsSUFBSSxrRkFBdUIsTUFBM0IsSUFBSSxFQUF3QixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN6RixDQUFDO0NBNkJGO21JQTNCQyxLQUFLLGlEQUFvQixFQUFLO0lBQzVCLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM5RCx1QkFBQSxJQUFJLGdDQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQzlCLEVBQUUsQ0FDSCwrQkFBK0IsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQy9HLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQywrQ0FFRCxLQUFLLHFEQUF3QixFQUFLO0lBQ2hDLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDO0lBRXZFLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxjQUFjLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyRSx1QkFBQSxJQUFJLGdDQUFLLENBQUMsSUFBSSxDQUNaLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLG1EQUNsQyxjQUFjLENBQUMsS0FDakIsMkJBQTJCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FDL0MsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDIn0=
@@ -0,0 +1,8 @@
1
+ import { type ClientProtocolCircuitVerifier, Tx, type TxValidationResult, type TxValidator } from '@aztec/circuit-types';
2
+ export declare class TxProofValidator implements TxValidator<Tx> {
3
+ #private;
4
+ private verifier;
5
+ constructor(verifier: ClientProtocolCircuitVerifier);
6
+ validateTx(tx: Tx): Promise<TxValidationResult>;
7
+ }
8
+ //# sourceMappingURL=tx_proof_validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx_proof_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_proof_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,EAAE,EACF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAG9B,qBAAa,gBAAiB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAG1C,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,6BAA6B;IAErD,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQtD"}
@@ -1,25 +1,20 @@
1
- import { Tx } from '@aztec/circuit-types';
1
+ var _TxProofValidator_log;
2
+ import { __classPrivateFieldGet } from "tslib";
3
+ import { Tx, } from '@aztec/circuit-types';
2
4
  import { createLogger } from '@aztec/foundation/log';
3
5
  export class TxProofValidator {
4
- verifier;
5
- #log;
6
- constructor(verifier){
6
+ constructor(verifier) {
7
7
  this.verifier = verifier;
8
- this.#log = createLogger('p2p:tx_validator:private_proof');
8
+ _TxProofValidator_log.set(this, createLogger('p2p:tx_validator:private_proof'));
9
9
  }
10
10
  async validateTx(tx) {
11
- if (!await this.verifier.verifyProof(tx)) {
12
- this.#log.warn(`Rejecting tx ${Tx.getHash(tx)} for invalid proof`);
13
- return {
14
- result: 'invalid',
15
- reason: [
16
- 'Invalid proof'
17
- ]
18
- };
11
+ if (!(await this.verifier.verifyProof(tx))) {
12
+ __classPrivateFieldGet(this, _TxProofValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} for invalid proof`);
13
+ return { result: 'invalid', reason: ['Invalid proof'] };
19
14
  }
20
- this.#log.trace(`Accepted ${Tx.getHash(tx)} with valid proof`);
21
- return {
22
- result: 'valid'
23
- };
15
+ __classPrivateFieldGet(this, _TxProofValidator_log, "f").trace(`Accepted ${Tx.getHash(tx)} with valid proof`);
16
+ return { result: 'valid' };
24
17
  }
25
18
  }
19
+ _TxProofValidator_log = new WeakMap();
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvb2ZfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90eF9wcm9vZl92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsRUFBRSxHQUdILE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsWUFBb0IsUUFBdUM7UUFBdkMsYUFBUSxHQUFSLFFBQVEsQ0FBK0I7UUFGM0QsZ0NBQU8sWUFBWSxDQUFDLGdDQUFnQyxDQUFDLEVBQUM7SUFFUSxDQUFDO0lBRS9ELEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBTTtRQUNyQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzQyx1QkFBQSxJQUFJLDZCQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDMUQsQ0FBQztRQUNELHVCQUFBLElBQUksNkJBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQztDQUNGIn0=
@@ -0,0 +1,27 @@
1
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
2
+ import { type Batch, type Datastore, Key, type KeyQuery, type Pair, type Query } from 'interface-datastore';
3
+ import type { AwaitIterable } from 'interface-store';
4
+ export declare class AztecDatastore implements Datastore {
5
+ #private;
6
+ private maxMemoryItems;
7
+ constructor(db: AztecAsyncKVStore, { maxMemoryItems }?: {
8
+ maxMemoryItems: number;
9
+ });
10
+ has(key: Key): Promise<boolean>;
11
+ get(key: Key): Promise<Uint8Array>;
12
+ put(key: Key, val: Uint8Array): Promise<Key>;
13
+ putMany(source: AwaitIterable<Pair>): AwaitIterable<Key>;
14
+ getMany(source: AwaitIterable<Key>): AwaitIterable<Pair>;
15
+ deleteMany(source: AwaitIterable<Key>): AwaitIterable<Key>;
16
+ delete(key: Key): Promise<void>;
17
+ batch(): Batch;
18
+ query(q: Query): AwaitIterable<Pair>;
19
+ queryKeys(q: KeyQuery): AsyncIterable<Key>;
20
+ private _put;
21
+ private all;
22
+ /**
23
+ * Prune memory store
24
+ */
25
+ private pruneMemoryDatastore;
26
+ }
27
+ //# sourceMappingURL=data_store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_store.d.ts","sourceRoot":"","sources":["../../src/services/data_store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqBrD,qBAAa,cAAe,YAAW,SAAS;;IAM9C,OAAO,CAAC,cAAc,CAAS;gBAEnB,EAAE,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE;;KAAyB;IAOxE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/B,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBxC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAIrC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;IAOxD,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC;IASxD,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC;IAO3D,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrC,KAAK,IAAI,KAAK;IA4Bd,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC;IA4BpC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC;YA2B5B,IAAI;YAqBH,GAAG;IAkBlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}