@aztec/p2p 0.0.1-commit.6d3c34e → 0.0.1-commit.9372f48

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 (298) hide show
  1. package/dest/bootstrap/bootstrap.d.ts +4 -3
  2. package/dest/bootstrap/bootstrap.d.ts.map +1 -1
  3. package/dest/bootstrap/bootstrap.js +4 -4
  4. package/dest/client/factory.d.ts +1 -1
  5. package/dest/client/factory.d.ts.map +1 -1
  6. package/dest/client/factory.js +6 -5
  7. package/dest/client/p2p_client.d.ts +1 -1
  8. package/dest/client/p2p_client.d.ts.map +1 -1
  9. package/dest/client/p2p_client.js +10 -3
  10. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts +2 -0
  11. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts.map +1 -0
  12. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +305 -0
  13. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts +73 -0
  14. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts.map +1 -0
  15. package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.js +8 -0
  16. package/dest/config.d.ts +8 -2
  17. package/dest/config.d.ts.map +1 -1
  18. package/dest/config.js +4 -2
  19. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
  20. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
  21. package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +20 -9
  22. package/dest/mem_pools/attestation_pool/mocks.d.ts +4 -2
  23. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
  24. package/dest/mem_pools/attestation_pool/mocks.js +8 -5
  25. package/dest/mem_pools/instrumentation.d.ts +1 -1
  26. package/dest/mem_pools/instrumentation.d.ts.map +1 -1
  27. package/dest/mem_pools/instrumentation.js +2 -2
  28. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +15 -10
  29. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
  30. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +91 -50
  31. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +19 -5
  32. package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -1
  33. package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +59 -3
  34. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +79 -5
  35. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -1
  36. package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +47 -0
  37. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +16 -0
  38. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  39. package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +122 -0
  40. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +2 -2
  41. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -1
  42. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +4 -4
  43. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -1
  44. package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +2 -0
  45. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +2 -2
  46. package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -1
  47. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +25 -0
  48. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +1 -0
  49. package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +57 -0
  50. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +3 -3
  51. package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
  52. package/dest/msg_validators/attestation_validator/attestation_validator.js +41 -10
  53. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +3 -3
  54. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
  55. package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +18 -6
  56. package/dest/msg_validators/clock_tolerance.d.ts +21 -0
  57. package/dest/msg_validators/clock_tolerance.d.ts.map +1 -0
  58. package/dest/msg_validators/clock_tolerance.js +37 -0
  59. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +3 -3
  60. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  61. package/dest/msg_validators/proposal_validator/proposal_validator.js +55 -31
  62. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +3 -3
  63. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +1 -1
  64. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +93 -64
  65. package/dest/msg_validators/tx_validator/archive_cache.d.ts +3 -3
  66. package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
  67. package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
  68. package/dest/msg_validators/tx_validator/block_header_validator.d.ts +5 -4
  69. package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
  70. package/dest/msg_validators/tx_validator/block_header_validator.js +3 -2
  71. package/dest/msg_validators/tx_validator/data_validator.d.ts +3 -1
  72. package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
  73. package/dest/msg_validators/tx_validator/data_validator.js +4 -1
  74. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +3 -2
  75. package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
  76. package/dest/msg_validators/tx_validator/double_spend_validator.js +3 -2
  77. package/dest/msg_validators/tx_validator/factory.d.ts +8 -3
  78. package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
  79. package/dest/msg_validators/tx_validator/factory.js +21 -11
  80. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +10 -0
  81. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -0
  82. package/dest/msg_validators/tx_validator/fee_payer_balance.js +20 -0
  83. package/dest/msg_validators/tx_validator/gas_validator.d.ts +3 -2
  84. package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
  85. package/dest/msg_validators/tx_validator/gas_validator.js +11 -16
  86. package/dest/msg_validators/tx_validator/index.d.ts +2 -1
  87. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  88. package/dest/msg_validators/tx_validator/index.js +1 -0
  89. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -2
  90. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  91. package/dest/msg_validators/tx_validator/metadata_validator.js +2 -2
  92. package/dest/msg_validators/tx_validator/phases_validator.d.ts +3 -2
  93. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  94. package/dest/msg_validators/tx_validator/phases_validator.js +3 -3
  95. package/dest/msg_validators/tx_validator/size_validator.d.ts +8 -0
  96. package/dest/msg_validators/tx_validator/size_validator.d.ts.map +1 -0
  97. package/dest/msg_validators/tx_validator/size_validator.js +23 -0
  98. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +3 -2
  99. package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
  100. package/dest/msg_validators/tx_validator/timestamp_validator.js +2 -2
  101. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +3 -2
  102. package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
  103. package/dest/msg_validators/tx_validator/tx_permitted_validator.js +2 -2
  104. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +3 -2
  105. package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
  106. package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -2
  107. package/dest/services/data_store.d.ts +1 -1
  108. package/dest/services/data_store.d.ts.map +1 -1
  109. package/dest/services/data_store.js +10 -6
  110. package/dest/services/discv5/discV5_service.js +1 -1
  111. package/dest/services/dummy_service.d.ts +13 -1
  112. package/dest/services/dummy_service.d.ts.map +1 -1
  113. package/dest/services/dummy_service.js +39 -0
  114. package/dest/services/encoding.d.ts +1 -1
  115. package/dest/services/encoding.d.ts.map +1 -1
  116. package/dest/services/encoding.js +2 -3
  117. package/dest/services/libp2p/instrumentation.d.ts +1 -1
  118. package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
  119. package/dest/services/libp2p/instrumentation.js +19 -8
  120. package/dest/services/libp2p/libp2p_service.d.ts +13 -7
  121. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  122. package/dest/services/libp2p/libp2p_service.js +60 -51
  123. package/dest/services/peer-manager/metrics.d.ts +2 -2
  124. package/dest/services/peer-manager/metrics.d.ts.map +1 -1
  125. package/dest/services/peer-manager/metrics.js +20 -5
  126. package/dest/services/peer-manager/peer_scoring.d.ts +1 -1
  127. package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
  128. package/dest/services/peer-manager/peer_scoring.js +8 -2
  129. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +47 -0
  130. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -0
  131. package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +566 -0
  132. package/dest/services/reqresp/batch-tx-requester/config.d.ts +17 -0
  133. package/dest/services/reqresp/batch-tx-requester/config.d.ts.map +1 -0
  134. package/dest/services/reqresp/batch-tx-requester/config.js +27 -0
  135. package/dest/services/reqresp/batch-tx-requester/interface.d.ts +50 -0
  136. package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -0
  137. package/dest/services/reqresp/batch-tx-requester/interface.js +1 -0
  138. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +37 -0
  139. package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -0
  140. package/dest/services/reqresp/batch-tx-requester/missing_txs.js +151 -0
  141. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +54 -0
  142. package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -0
  143. package/dest/services/reqresp/batch-tx-requester/peer_collection.js +139 -0
  144. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +20 -0
  145. package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -0
  146. package/dest/services/reqresp/batch-tx-requester/tx_validator.js +21 -0
  147. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +22 -3
  148. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
  149. package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +63 -4
  150. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +2 -1
  151. package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
  152. package/dest/services/reqresp/connection-sampler/connection_sampler.js +12 -0
  153. package/dest/services/reqresp/constants.d.ts +12 -0
  154. package/dest/services/reqresp/constants.d.ts.map +1 -0
  155. package/dest/services/reqresp/constants.js +7 -0
  156. package/dest/services/reqresp/interface.d.ts +3 -1
  157. package/dest/services/reqresp/interface.d.ts.map +1 -1
  158. package/dest/services/reqresp/metrics.d.ts +6 -5
  159. package/dest/services/reqresp/metrics.d.ts.map +1 -1
  160. package/dest/services/reqresp/metrics.js +17 -5
  161. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +5 -1
  162. package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
  163. package/dest/services/reqresp/protocols/block_txs/bitvector.js +12 -0
  164. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +1 -1
  165. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
  166. package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +16 -3
  167. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +18 -6
  168. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
  169. package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +43 -13
  170. package/dest/services/reqresp/protocols/status.d.ts +1 -1
  171. package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
  172. package/dest/services/reqresp/protocols/status.js +2 -1
  173. package/dest/services/reqresp/reqresp.d.ts +6 -1
  174. package/dest/services/reqresp/reqresp.d.ts.map +1 -1
  175. package/dest/services/reqresp/reqresp.js +58 -22
  176. package/dest/services/service.d.ts +4 -1
  177. package/dest/services/service.d.ts.map +1 -1
  178. package/dest/services/tx_collection/config.d.ts +4 -1
  179. package/dest/services/tx_collection/config.d.ts.map +1 -1
  180. package/dest/services/tx_collection/config.js +9 -1
  181. package/dest/services/tx_collection/fast_tx_collection.d.ts +6 -4
  182. package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
  183. package/dest/services/tx_collection/fast_tx_collection.js +16 -5
  184. package/dest/services/tx_collection/index.d.ts +2 -1
  185. package/dest/services/tx_collection/index.d.ts.map +1 -1
  186. package/dest/services/tx_collection/index.js +1 -0
  187. package/dest/services/tx_collection/instrumentation.d.ts +1 -1
  188. package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
  189. package/dest/services/tx_collection/instrumentation.js +9 -2
  190. package/dest/services/tx_collection/proposal_tx_collector.d.ts +48 -0
  191. package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +1 -0
  192. package/dest/services/tx_collection/proposal_tx_collector.js +50 -0
  193. package/dest/services/tx_collection/slow_tx_collection.d.ts +3 -3
  194. package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
  195. package/dest/services/tx_collection/tx_collection.d.ts +8 -8
  196. package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
  197. package/dest/services/tx_collection/tx_collection.js +5 -5
  198. package/dest/services/tx_provider.d.ts +3 -3
  199. package/dest/services/tx_provider.d.ts.map +1 -1
  200. package/dest/services/tx_provider_instrumentation.d.ts +1 -1
  201. package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
  202. package/dest/services/tx_provider_instrumentation.js +5 -5
  203. package/dest/test-helpers/index.d.ts +3 -1
  204. package/dest/test-helpers/index.d.ts.map +1 -1
  205. package/dest/test-helpers/index.js +2 -0
  206. package/dest/test-helpers/test_tx_provider.d.ts +40 -0
  207. package/dest/test-helpers/test_tx_provider.d.ts.map +1 -0
  208. package/dest/test-helpers/test_tx_provider.js +41 -0
  209. package/dest/test-helpers/testbench-utils.d.ts +158 -0
  210. package/dest/test-helpers/testbench-utils.d.ts.map +1 -0
  211. package/dest/test-helpers/testbench-utils.js +297 -0
  212. package/dest/testbench/p2p_client_testbench_worker.d.ts +28 -2
  213. package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
  214. package/dest/testbench/p2p_client_testbench_worker.js +212 -132
  215. package/dest/testbench/worker_client_manager.d.ts +51 -6
  216. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  217. package/dest/testbench/worker_client_manager.js +226 -44
  218. package/package.json +16 -16
  219. package/src/bootstrap/bootstrap.ts +7 -4
  220. package/src/client/factory.ts +6 -10
  221. package/src/client/p2p_client.ts +15 -8
  222. package/src/client/test/tx_proposal_collector/README.md +227 -0
  223. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +336 -0
  224. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +43 -0
  225. package/src/config.ts +8 -3
  226. package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +17 -9
  227. package/src/mem_pools/attestation_pool/mocks.ts +6 -4
  228. package/src/mem_pools/instrumentation.ts +2 -1
  229. package/src/mem_pools/tx_pool/README.md +28 -13
  230. package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +130 -75
  231. package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +66 -5
  232. package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +119 -4
  233. package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +162 -0
  234. package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +4 -2
  235. package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +75 -0
  236. package/src/msg_validators/attestation_validator/attestation_validator.ts +26 -14
  237. package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +14 -8
  238. package/src/msg_validators/clock_tolerance.ts +51 -0
  239. package/src/msg_validators/proposal_validator/proposal_validator.ts +31 -31
  240. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +91 -67
  241. package/src/msg_validators/tx_validator/archive_cache.ts +3 -3
  242. package/src/msg_validators/tx_validator/block_header_validator.ts +6 -5
  243. package/src/msg_validators/tx_validator/data_validator.ts +6 -2
  244. package/src/msg_validators/tx_validator/double_spend_validator.ts +4 -3
  245. package/src/msg_validators/tx_validator/factory.ts +64 -23
  246. package/src/msg_validators/tx_validator/fee_payer_balance.ts +40 -0
  247. package/src/msg_validators/tx_validator/gas_validator.ts +17 -28
  248. package/src/msg_validators/tx_validator/index.ts +1 -0
  249. package/src/msg_validators/tx_validator/metadata_validator.ts +6 -3
  250. package/src/msg_validators/tx_validator/phases_validator.ts +5 -3
  251. package/src/msg_validators/tx_validator/size_validator.ts +22 -0
  252. package/src/msg_validators/tx_validator/timestamp_validator.ts +6 -3
  253. package/src/msg_validators/tx_validator/tx_permitted_validator.ts +8 -3
  254. package/src/msg_validators/tx_validator/tx_proof_validator.ts +8 -3
  255. package/src/services/data_store.ts +10 -7
  256. package/src/services/discv5/discV5_service.ts +1 -1
  257. package/src/services/dummy_service.ts +45 -0
  258. package/src/services/encoding.ts +2 -3
  259. package/src/services/libp2p/instrumentation.ts +20 -7
  260. package/src/services/libp2p/libp2p_service.ts +97 -71
  261. package/src/services/peer-manager/metrics.ts +21 -4
  262. package/src/services/peer-manager/peer_scoring.ts +4 -1
  263. package/src/services/reqresp/batch-tx-requester/README.md +305 -0
  264. package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +706 -0
  265. package/src/services/reqresp/batch-tx-requester/config.ts +40 -0
  266. package/src/services/reqresp/batch-tx-requester/interface.ts +57 -0
  267. package/src/services/reqresp/batch-tx-requester/missing_txs.ts +209 -0
  268. package/src/services/reqresp/batch-tx-requester/peer_collection.ts +205 -0
  269. package/src/services/reqresp/batch-tx-requester/tx_validator.ts +37 -0
  270. package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +65 -4
  271. package/src/services/reqresp/connection-sampler/connection_sampler.ts +16 -0
  272. package/src/services/reqresp/constants.ts +14 -0
  273. package/src/services/reqresp/interface.ts +3 -0
  274. package/src/services/reqresp/metrics.ts +34 -9
  275. package/src/services/reqresp/protocols/block_txs/bitvector.ts +16 -0
  276. package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +18 -4
  277. package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +51 -9
  278. package/src/services/reqresp/protocols/status.ts +5 -3
  279. package/src/services/reqresp/reqresp.ts +66 -19
  280. package/src/services/service.ts +4 -0
  281. package/src/services/tx_collection/config.ts +15 -1
  282. package/src/services/tx_collection/fast_tx_collection.ts +36 -13
  283. package/src/services/tx_collection/index.ts +5 -0
  284. package/src/services/tx_collection/instrumentation.ts +11 -2
  285. package/src/services/tx_collection/proposal_tx_collector.ts +114 -0
  286. package/src/services/tx_collection/slow_tx_collection.ts +2 -2
  287. package/src/services/tx_collection/tx_collection.ts +8 -8
  288. package/src/services/tx_provider.ts +2 -2
  289. package/src/services/tx_provider_instrumentation.ts +11 -5
  290. package/src/test-helpers/index.ts +2 -0
  291. package/src/test-helpers/test_tx_provider.ts +64 -0
  292. package/src/test-helpers/testbench-utils.ts +374 -0
  293. package/src/testbench/p2p_client_testbench_worker.ts +321 -126
  294. package/src/testbench/worker_client_manager.ts +304 -47
  295. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts +0 -15
  296. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts.map +0 -1
  297. package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.js +0 -88
  298. package/src/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.ts +0 -108
@@ -1,8 +1,9 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
3
- import { ProtocolContractAddress } from '@aztec/protocol-contracts';
3
+ import { ProtocolContractAddress, protocolContractsHash } from '@aztec/protocol-contracts';
4
4
  import { PeerErrorSeverity } from '@aztec/stdlib/p2p';
5
5
  import { DatabasePublicStateSource, MerkleTreeId } from '@aztec/stdlib/trees';
6
+ import { AggregateTxValidator } from './aggregate_tx_validator.js';
6
7
  import { ArchiveCache } from './archive_cache.js';
7
8
  import { BlockHeaderTxValidator } from './block_header_validator.js';
8
9
  import { DataTxValidator } from './data_validator.js';
@@ -10,19 +11,20 @@ import { DoubleSpendTxValidator } from './double_spend_validator.js';
10
11
  import { GasTxValidator } from './gas_validator.js';
11
12
  import { MetadataTxValidator } from './metadata_validator.js';
12
13
  import { PhasesTxValidator } from './phases_validator.js';
14
+ import { SizeTxValidator } from './size_validator.js';
13
15
  import { TimestampTxValidator } from './timestamp_validator.js';
14
16
  import { TxPermittedValidator } from './tx_permitted_validator.js';
15
17
  import { TxProofValidator } from './tx_proof_validator.js';
16
- export function createTxMessageValidators(timestamp, blockNumber, worldStateSynchronizer, gasFees, l1ChainId, rollupVersion, protocolContractsHash, contractDataSource, proofVerifier, txsPermitted, allowedInSetup = []) {
18
+ export function createTxMessageValidators(timestamp, blockNumber, worldStateSynchronizer, gasFees, l1ChainId, rollupVersion, protocolContractsHash, contractDataSource, proofVerifier, txsPermitted, allowedInSetup = [], bindings) {
17
19
  const merkleTree = worldStateSynchronizer.getCommitted();
18
20
  return [
19
21
  {
20
22
  txsPermittedValidator: {
21
- validator: new TxPermittedValidator(txsPermitted),
23
+ validator: new TxPermittedValidator(txsPermitted, bindings),
22
24
  severity: PeerErrorSeverity.MidToleranceError
23
25
  },
24
26
  dataValidator: {
25
- validator: new DataTxValidator(),
27
+ validator: new DataTxValidator(bindings),
26
28
  severity: PeerErrorSeverity.HighToleranceError
27
29
  },
28
30
  metadataValidator: {
@@ -31,14 +33,14 @@ export function createTxMessageValidators(timestamp, blockNumber, worldStateSync
31
33
  rollupVersion: new Fr(rollupVersion),
32
34
  protocolContractsHash,
33
35
  vkTreeRoot: getVKTreeRoot()
34
- }),
36
+ }, bindings),
35
37
  severity: PeerErrorSeverity.HighToleranceError
36
38
  },
37
39
  timestampValidator: {
38
40
  validator: new TimestampTxValidator({
39
41
  timestamp,
40
42
  blockNumber
41
- }),
43
+ }, bindings),
42
44
  severity: PeerErrorSeverity.MidToleranceError
43
45
  },
44
46
  doubleSpendValidator: {
@@ -48,27 +50,35 @@ export function createTxMessageValidators(timestamp, blockNumber, worldStateSync
48
50
  const indices = await merkleTree.findLeafIndices(MerkleTreeId.NULLIFIER_TREE, nullifiers);
49
51
  return indices.map((index)=>index !== undefined);
50
52
  }
51
- }),
53
+ }, bindings),
52
54
  severity: PeerErrorSeverity.HighToleranceError
53
55
  },
54
56
  gasValidator: {
55
- validator: new GasTxValidator(new DatabasePublicStateSource(merkleTree), ProtocolContractAddress.FeeJuice, gasFees),
57
+ validator: new GasTxValidator(new DatabasePublicStateSource(merkleTree), ProtocolContractAddress.FeeJuice, gasFees, bindings),
56
58
  severity: PeerErrorSeverity.HighToleranceError
57
59
  },
58
60
  phasesValidator: {
59
- validator: new PhasesTxValidator(contractDataSource, allowedInSetup, timestamp),
61
+ validator: new PhasesTxValidator(contractDataSource, allowedInSetup, timestamp, bindings),
60
62
  severity: PeerErrorSeverity.MidToleranceError
61
63
  },
62
64
  blockHeaderValidator: {
63
- validator: new BlockHeaderTxValidator(new ArchiveCache(merkleTree)),
65
+ validator: new BlockHeaderTxValidator(new ArchiveCache(merkleTree), bindings),
64
66
  severity: PeerErrorSeverity.HighToleranceError
65
67
  }
66
68
  },
67
69
  {
68
70
  proofValidator: {
69
- validator: new TxProofValidator(proofVerifier),
71
+ validator: new TxProofValidator(proofVerifier, bindings),
70
72
  severity: PeerErrorSeverity.MidToleranceError
71
73
  }
72
74
  }
73
75
  ];
74
76
  }
77
+ export function createTxReqRespValidator(verifier, { l1ChainId, rollupVersion }, bindings) {
78
+ return new AggregateTxValidator(new MetadataTxValidator({
79
+ l1ChainId: new Fr(l1ChainId),
80
+ rollupVersion: new Fr(rollupVersion),
81
+ protocolContractsHash,
82
+ vkTreeRoot: getVKTreeRoot()
83
+ }, bindings), new SizeTxValidator(bindings), new DataTxValidator(bindings), new TxProofValidator(verifier, bindings));
84
+ }
@@ -0,0 +1,10 @@
1
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
+ import { type Tx } from '@aztec/stdlib/tx';
3
+ export type FeePayerBalanceDelta = {
4
+ feeLimit: bigint;
5
+ claimAmount: bigint;
6
+ };
7
+ export declare function getTxFeeLimit(tx: Tx): bigint;
8
+ export declare function getFeePayerClaimAmount(tx: Tx, feeJuiceAddress: AztecAddress): Promise<bigint>;
9
+ export declare function getFeePayerBalanceDelta(tx: Tx, feeJuiceAddress: AztecAddress): Promise<FeePayerBalanceDelta>;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheWVyX2JhbGFuY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZmVlX3BheWVyX2JhbGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBRTdELE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUM7Q0FDckIsQ0FBQztBQUlGLHdCQUFnQixhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBRTVDO0FBRUQsd0JBQXNCLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBZ0JuRztBQUVELHdCQUFzQix1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBS2xIIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee_payer_balance.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/fee_payer_balance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,EAAoB,MAAM,kBAAkB,CAAC;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAE5C;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBnG;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAKlH"}
@@ -0,0 +1,20 @@
1
+ import { getCallRequestsWithCalldataByPhase } from '@aztec/simulator/server';
2
+ import { FunctionSelector } from '@aztec/stdlib/abi';
3
+ import { TxExecutionPhase } from '@aztec/stdlib/tx';
4
+ const increasePublicBalanceSelectorPromise = FunctionSelector.fromSignature('_increase_public_balance((Field),u128)');
5
+ export function getTxFeeLimit(tx) {
6
+ return tx.data.constants.txContext.gasSettings.getFeeLimit().toBigInt();
7
+ }
8
+ export async function getFeePayerClaimAmount(tx, feeJuiceAddress) {
9
+ const setupFns = getCallRequestsWithCalldataByPhase(tx, TxExecutionPhase.SETUP);
10
+ const increasePublicBalanceSelector = await increasePublicBalanceSelectorPromise;
11
+ const feePayer = tx.data.feePayer;
12
+ const claimFunctionCall = setupFns.find((fn)=>fn.request.contractAddress.equals(feeJuiceAddress) && fn.request.msgSender.equals(feeJuiceAddress) && fn.calldata.length > 2 && fn.functionSelector.equals(increasePublicBalanceSelector) && fn.args[0].equals(feePayer.toField()) && !fn.request.isStaticCall);
13
+ return claimFunctionCall ? claimFunctionCall.args[1].toBigInt() : 0n;
14
+ }
15
+ export async function getFeePayerBalanceDelta(tx, feeJuiceAddress) {
16
+ return {
17
+ feeLimit: getTxFeeLimit(tx),
18
+ claimAmount: await getFeePayerClaimAmount(tx, feeJuiceAddress)
19
+ };
20
+ }
@@ -1,11 +1,12 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
3
  import { GasFees } from '@aztec/stdlib/gas';
3
4
  import type { PublicStateSource } from '@aztec/stdlib/trees';
4
5
  import { type Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
5
6
  export declare class GasTxValidator implements TxValidator<Tx> {
6
7
  #private;
7
- constructor(publicDataSource: PublicStateSource, feeJuiceAddress: AztecAddress, gasFees: GasFees);
8
+ constructor(publicDataSource: PublicStateSource, feeJuiceAddress: AztecAddress, gasFees: GasFees, bindings?: LoggerBindings);
8
9
  validateTx(tx: Tx): Promise<TxValidationResult>;
9
10
  validateTxFee(tx: Tx): Promise<TxValidationResult>;
10
11
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9nYXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBTyxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFLTCxLQUFLLEVBQUUsRUFFUCxLQUFLLGtCQUFrQixFQUN2QixLQUFLLFdBQVcsRUFDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixxQkFBYSxjQUFlLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNcEQsWUFBWSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBSS9GO0lBRUssVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBU3BEO0lBbURZLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXlDOUQ7Q0FDRiJ9
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9nYXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQU8sT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBS0wsS0FBSyxFQUFFLEVBQ1AsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFJMUIscUJBQWEsY0FBZSxZQUFXLFdBQVcsQ0FBQyxFQUFFLENBQUM7O0lBTXBELFlBQ0UsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQ25DLGVBQWUsRUFBRSxZQUFZLEVBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFNMUI7SUFFSyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FTcEQ7SUFtRFksYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBeUI5RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"gas_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/gas_validator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAO,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAKL,KAAK,EAAE,EAEP,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,cAAe,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMpD,YAAY,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAI/F;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CASpD;IAmDY,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyC9D;CACF"}
1
+ {"version":3,"file":"gas_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/gas_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAO,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAI1B,qBAAa,cAAe,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMpD,YACE,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,YAAY,EAC7B,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,cAAc,EAM1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CASpD;IAmDY,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAyB9D;CACF"}
@@ -1,16 +1,16 @@
1
1
  import { AVM_MAX_PROCESSABLE_L2_GAS, FIXED_DA_GAS, FIXED_L2_GAS } from '@aztec/constants';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
3
  import { computeFeePayerBalanceStorageSlot } from '@aztec/protocol-contracts/fee-juice';
4
- import { getCallRequestsWithCalldataByPhase } from '@aztec/simulator/server';
5
- import { FunctionSelector } from '@aztec/stdlib/abi';
6
4
  import { Gas } from '@aztec/stdlib/gas';
7
- import { TX_ERROR_GAS_LIMIT_TOO_HIGH, TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE, TX_ERROR_INSUFFICIENT_FEE_PER_GAS, TX_ERROR_INSUFFICIENT_GAS_LIMIT, TxExecutionPhase } from '@aztec/stdlib/tx';
5
+ import { TX_ERROR_GAS_LIMIT_TOO_HIGH, TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE, TX_ERROR_INSUFFICIENT_FEE_PER_GAS, TX_ERROR_INSUFFICIENT_GAS_LIMIT } from '@aztec/stdlib/tx';
6
+ import { getFeePayerClaimAmount, getTxFeeLimit } from './fee_payer_balance.js';
8
7
  export class GasTxValidator {
9
- #log = createLogger('sequencer:tx_validator:tx_gas');
8
+ #log;
10
9
  #publicDataSource;
11
10
  #feeJuiceAddress;
12
11
  #gasFees;
13
- constructor(publicDataSource, feeJuiceAddress, gasFees){
12
+ constructor(publicDataSource, feeJuiceAddress, gasFees, bindings){
13
+ this.#log = createLogger('sequencer:tx_validator:tx_gas', bindings);
14
14
  this.#publicDataSource = publicDataSource;
15
15
  this.#feeJuiceAddress = feeJuiceAddress;
16
16
  this.#gasFees = gasFees;
@@ -84,22 +84,17 @@ export class GasTxValidator {
84
84
  async validateTxFee(tx) {
85
85
  const feePayer = tx.data.feePayer;
86
86
  // Compute the maximum fee that this tx may pay, based on its gasLimits and maxFeePerGas
87
- const feeLimit = tx.data.constants.txContext.gasSettings.getFeeLimit();
87
+ const feeLimit = getTxFeeLimit(tx);
88
88
  // Read current balance of the feePayer
89
89
  const initialBalance = await this.#publicDataSource.storageRead(this.#feeJuiceAddress, await computeFeePayerBalanceStorageSlot(feePayer));
90
90
  // If there is a claim in this tx that increases the fee payer balance in Fee Juice, add it to balance
91
- const setupFns = getCallRequestsWithCalldataByPhase(tx, TxExecutionPhase.SETUP);
92
- const increasePublicBalanceSelector = await FunctionSelector.fromSignature('_increase_public_balance((Field),u128)');
93
- // Arguments of the claim function call:
94
- // - args[0]: Amount recipient.
95
- // - args[1]: Amount being claimed.
96
- const claimFunctionCall = setupFns.find((fn)=>fn.request.contractAddress.equals(this.#feeJuiceAddress) && fn.request.msgSender.equals(this.#feeJuiceAddress) && fn.calldata.length > 2 && fn.functionSelector.equals(increasePublicBalanceSelector) && fn.args[0].equals(feePayer.toField()) && !fn.request.isStaticCall);
97
- const balance = claimFunctionCall ? initialBalance.add(claimFunctionCall.args[1]) : initialBalance;
98
- if (balance.lt(feeLimit)) {
91
+ const claimAmount = await getFeePayerClaimAmount(tx, this.#feeJuiceAddress);
92
+ const balance = initialBalance.toBigInt() + claimAmount;
93
+ if (balance < feeLimit) {
99
94
  this.#log.verbose(`Rejecting transaction due to not enough fee payer balance`, {
100
95
  feePayer,
101
- balance: balance.toBigInt(),
102
- feeLimit: feeLimit.toBigInt()
96
+ balance,
97
+ feeLimit
103
98
  });
104
99
  return {
105
100
  result: 'invalid',
@@ -11,4 +11,5 @@ export * from './allowed_public_setup.js';
11
11
  export * from './archive_cache.js';
12
12
  export * from './tx_permitted_validator.js';
13
13
  export * from './timestamp_validator.js';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQyJ9
14
+ export * from './size_validator.js';
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDIn0=
@@ -1 +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;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC"}
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;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
@@ -11,3 +11,4 @@ export * from './allowed_public_setup.js';
11
11
  export * from './archive_cache.js';
12
12
  export * from './tx_permitted_validator.js';
13
13
  export * from './timestamp_validator.js';
14
+ export * from './size_validator.js';
@@ -1,4 +1,5 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
3
  import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
4
  export declare class MetadataTxValidator<T extends AnyTx> implements TxValidator<T> {
4
5
  #private;
@@ -8,7 +9,7 @@ export declare class MetadataTxValidator<T extends AnyTx> implements TxValidator
8
9
  rollupVersion: Fr;
9
10
  vkTreeRoot: Fr;
10
11
  protocolContractsHash: Fr;
11
- });
12
+ }, bindings?: LoggerBindings);
12
13
  validateTx(tx: T): Promise<TxValidationResult>;
13
14
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL21ldGFkYXRhX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsS0FBSyxLQUFLLEVBS1YsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIscUJBQWEsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBRSxZQUFXLFdBQVcsQ0FBQyxDQUFDLENBQUM7O0lBSXZFLE9BQU8sQ0FBQyxNQUFNO0lBRGhCLFlBQ1UsTUFBTSxFQUFFO1FBQ2QsU0FBUyxFQUFFLEVBQUUsQ0FBQztRQUNkLGFBQWEsRUFBRSxFQUFFLENBQUM7UUFDbEIsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUNmLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztLQUMzQixFQUNDO0lBRUosVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBZTdDO0NBcURGIn0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL21ldGFkYXRhX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUNMLEtBQUssS0FBSyxFQUtWLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLHFCQUFhLG1CQUFtQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUl2RSxPQUFPLENBQUMsTUFBTTtJQURoQixZQUNVLE1BQU0sRUFBRTtRQUNkLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDZCxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDZixxQkFBcUIsRUFBRSxFQUFFLENBQUM7S0FDM0IsRUFDRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBZTdDO0NBcURGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EACL,KAAK,KAAK,EAKV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIvE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QACd,SAAS,EAAE,EAAE,CAAC;QACd,aAAa,EAAE,EAAE,CAAC;QAClB,UAAU,EAAE,EAAE,CAAC;QACf,qBAAqB,EAAE,EAAE,CAAC;KAC3B,EACC;IAEJ,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe7C;CAqDF"}
1
+ {"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,KAAK,KAAK,EAKV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIvE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QACd,SAAS,EAAE,EAAE,CAAC;QACd,aAAa,EAAE,EAAE,CAAC;QAClB,UAAU,EAAE,EAAE,CAAC;QACf,qBAAqB,EAAE,EAAE,CAAC;KAC3B,EACD,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe7C;CAqDF"}
@@ -3,9 +3,9 @@ import { TX_ERROR_INCORRECT_L1_CHAIN_ID, TX_ERROR_INCORRECT_PROTOCOL_CONTRACTS_H
3
3
  export class MetadataTxValidator {
4
4
  values;
5
5
  #log;
6
- constructor(values){
6
+ constructor(values, bindings){
7
7
  this.values = values;
8
- this.#log = createLogger('p2p:tx_validator:tx_metadata');
8
+ this.#log = createLogger('p2p:tx_validator:tx_metadata', bindings);
9
9
  }
10
10
  validateTx(tx) {
11
11
  const errors = [];
@@ -1,3 +1,4 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { ContractDataSource } from '@aztec/stdlib/contract';
2
3
  import type { AllowedElement } from '@aztec/stdlib/interfaces/server';
3
4
  import { Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
@@ -7,8 +8,8 @@ export declare class PhasesTxValidator implements TxValidator<Tx> {
7
8
  private setupAllowList;
8
9
  private timestamp;
9
10
  private contractsDB;
10
- constructor(contracts: ContractDataSource, setupAllowList: AllowedElement[], timestamp: UInt64);
11
+ constructor(contracts: ContractDataSource, setupAllowList: AllowedElement[], timestamp: UInt64, bindings?: LoggerBindings);
11
12
  validateTx(tx: Tx): Promise<TxValidationResult>;
12
13
  private isOnAllowList;
13
14
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUlMLEVBQUUsRUFFRixLQUFLLGtCQUFrQixFQUN2QixLQUFLLFdBQVcsRUFDakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxxQkFBYSxpQkFBa0IsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQU1yRCxPQUFPLENBQUMsY0FBYztJQUN0QixPQUFPLENBQUMsU0FBUztJQUxuQixPQUFPLENBQUMsV0FBVyxDQUFvQjtJQUV2QyxZQUNFLFNBQVMsRUFBRSxrQkFBa0IsRUFDckIsY0FBYyxFQUFFLGNBQWMsRUFBRSxFQUNoQyxTQUFTLEVBQUUsTUFBTSxFQUcxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXFDcEQ7WUFFYSxhQUFhO0NBaUQ1QiJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFJTCxFQUFFLEVBRUYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsaUJBQWtCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNckQsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFMbkIsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFFdkMsWUFDRSxTQUFTLEVBQUUsa0JBQWtCLEVBQ3JCLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFDaEMsU0FBUyxFQUFFLE1BQU0sRUFDekIsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUkxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXFDcEQ7WUFFYSxhQUFhO0NBaUQ1QiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAIL,EAAE,EAEF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMrD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IALnB,OAAO,CAAC,WAAW,CAAoB;IAEvC,YACE,SAAS,EAAE,kBAAkB,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,SAAS,EAAE,MAAM,EAG1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqCpD;YAEa,aAAa;CAiD5B"}
1
+ {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAIL,EAAE,EAEF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMrD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IALnB,OAAO,CAAC,WAAW,CAAoB;IAEvC,YACE,SAAS,EAAE,kBAAkB,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,SAAS,EAAE,MAAM,EACzB,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqCpD;YAEa,aAAa;CAiD5B"}
@@ -6,11 +6,11 @@ export class PhasesTxValidator {
6
6
  timestamp;
7
7
  #log;
8
8
  contractsDB;
9
- constructor(contracts, setupAllowList, timestamp){
9
+ constructor(contracts, setupAllowList, timestamp, bindings){
10
10
  this.setupAllowList = setupAllowList;
11
11
  this.timestamp = timestamp;
12
- this.#log = createLogger('sequencer:tx_validator:tx_phases');
13
- this.contractsDB = new PublicContractsDB(contracts);
12
+ this.#log = createLogger('sequencer:tx_validator:tx_phases', bindings);
13
+ this.contractsDB = new PublicContractsDB(contracts, bindings);
14
14
  }
15
15
  async validateTx(tx) {
16
16
  this.contractsDB.createCheckpoint();
@@ -0,0 +1,8 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
+ import { Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
+ export declare class SizeTxValidator implements TxValidator<Tx> {
4
+ #private;
5
+ constructor(bindings?: LoggerBindings);
6
+ validateTx(tx: Tx): Promise<TxValidationResult>;
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZV92YWxpZGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3Ivc2l6ZV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxrQkFBa0IsRUFBRSxLQUFLLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpGLHFCQUFhLGVBQWdCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFHckQsWUFBWSxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRXBDO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBUzlDO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/size_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEjF,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAGrD,YAAY,QAAQ,CAAC,EAAE,cAAc,EAEpC;IAED,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAS9C;CACF"}
@@ -0,0 +1,23 @@
1
+ import { createLogger } from '@aztec/foundation/log';
2
+ import { MAX_TX_SIZE_KB } from '@aztec/stdlib/p2p';
3
+ export class SizeTxValidator {
4
+ #log;
5
+ constructor(bindings){
6
+ this.#log = createLogger('p2p:tx_validator:tx_size', bindings);
7
+ }
8
+ validateTx(tx) {
9
+ const txSize = tx.getSize();
10
+ if (txSize > MAX_TX_SIZE_KB * 1024) {
11
+ this.#log.verbose(`Rejecting transaction ${tx.getTxHash().toString()}. Reason: size above size limit. ${txSize}bytes > ${MAX_TX_SIZE_KB}Kb`);
12
+ return Promise.resolve({
13
+ result: 'invalid',
14
+ reason: [
15
+ 'Transaction size above size limit'
16
+ ]
17
+ });
18
+ }
19
+ return Promise.resolve({
20
+ result: 'valid'
21
+ });
22
+ }
23
+ }
@@ -1,4 +1,5 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
3
  import { type AnyTx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
4
  import type { UInt64 } from '@aztec/stdlib/types';
4
5
  export declare class TimestampTxValidator<T extends AnyTx> implements TxValidator<T> {
@@ -7,7 +8,7 @@ export declare class TimestampTxValidator<T extends AnyTx> implements TxValidato
7
8
  constructor(values: {
8
9
  timestamp: UInt64;
9
10
  blockNumber: BlockNumber;
10
- });
11
+ }, bindings?: LoggerBindings);
11
12
  validateTx(tx: T): Promise<TxValidationResult>;
12
13
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXN0YW1wX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90aW1lc3RhbXBfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQ0wsS0FBSyxLQUFLLEVBRVYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBRWpCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLEtBQUssQ0FBRSxZQUFXLFdBQVcsQ0FBQyxDQUFDLENBQUM7O0lBSXhFLE9BQU8sQ0FBQyxNQUFNO0lBRGhCLFlBQ1UsTUFBTSxFQUFFO1FBR2QsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUVsQixXQUFXLEVBQUUsV0FBVyxDQUFDO0tBQzFCLEVBQ0M7SUFFSixVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0F1QjdDO0NBQ0YifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXN0YW1wX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90aW1lc3RhbXBfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUNMLEtBQUssS0FBSyxFQUVWLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUVqQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELHFCQUFhLG9CQUFvQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUl4RSxPQUFPLENBQUMsTUFBTTtJQURoQixZQUNVLE1BQU0sRUFBRTtRQUdkLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFFbEIsV0FBVyxFQUFFLFdBQVcsQ0FBQztLQUMxQixFQUNELFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRCxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0F1QjdDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/timestamp_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIxE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QAGd,SAAS,EAAE,MAAM,CAAC;QAElB,WAAW,EAAE,WAAW,CAAC;KAC1B,EACC;IAEJ,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB7C;CACF"}
1
+ {"version":3,"file":"timestamp_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/timestamp_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,oBAAoB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIxE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QAGd,SAAS,EAAE,MAAM,CAAC;QAElB,WAAW,EAAE,WAAW,CAAC;KAC1B,EACD,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB7C;CACF"}
@@ -3,9 +3,9 @@ import { TX_ERROR_INVALID_INCLUDE_BY_TIMESTAMP, getTxHash } from '@aztec/stdlib/
3
3
  export class TimestampTxValidator {
4
4
  values;
5
5
  #log;
6
- constructor(values){
6
+ constructor(values, bindings){
7
7
  this.values = values;
8
- this.#log = createLogger('p2p:tx_validator:timestamp');
8
+ this.#log = createLogger('p2p:tx_validator:timestamp', bindings);
9
9
  }
10
10
  validateTx(tx) {
11
11
  const includeByTimestamp = tx.data.includeByTimestamp;
@@ -1,8 +1,9 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { Tx, TxValidationResult, TxValidator } from '@aztec/stdlib/tx';
2
3
  export declare class TxPermittedValidator implements TxValidator<Tx> {
3
4
  #private;
4
5
  private permitted;
5
- constructor(permitted: boolean);
6
+ constructor(permitted: boolean, bindings?: LoggerBindings);
6
7
  validateTx(tx: Tx): Promise<TxValidationResult>;
7
8
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcGVybWl0dGVkX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90eF9wZXJtaXR0ZWRfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RSxxQkFBYSxvQkFBcUIsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQUc5QyxPQUFPLENBQUMsU0FBUztJQUE3QixZQUFvQixTQUFTLEVBQUUsT0FBTyxFQUFJO0lBRTFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQU85QztDQUNGIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcGVybWl0dGVkX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci90eF9wZXJtaXR0ZWRfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUUscUJBQWEsb0JBQXFCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFJeEQsT0FBTyxDQUFDLFNBQVM7SUFEbkIsWUFDVSxTQUFTLEVBQUUsT0FBTyxFQUMxQixRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBTzlDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tx_permitted_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_permitted_validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5E,qBAAa,oBAAqB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAG9C,OAAO,CAAC,SAAS;IAA7B,YAAoB,SAAS,EAAE,OAAO,EAAI;IAE1C,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAO9C;CACF"}
1
+ {"version":3,"file":"tx_permitted_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_permitted_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5E,qBAAa,oBAAqB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAIxD,OAAO,CAAC,SAAS;IADnB,YACU,SAAS,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAO9C;CACF"}
@@ -2,9 +2,9 @@ import { createLogger } from '@aztec/foundation/log';
2
2
  export class TxPermittedValidator {
3
3
  permitted;
4
4
  #log;
5
- constructor(permitted){
5
+ constructor(permitted, bindings){
6
6
  this.permitted = permitted;
7
- this.#log = createLogger('p2p:tx_validator:tx_permitted');
7
+ this.#log = createLogger('p2p:tx_validator:tx_permitted', bindings);
8
8
  }
9
9
  validateTx(tx) {
10
10
  if (!this.permitted) {
@@ -1,9 +1,10 @@
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
1
2
  import type { ClientProtocolCircuitVerifier } from '@aztec/stdlib/interfaces/server';
2
3
  import { Tx, type TxValidationResult, type TxValidator } from '@aztec/stdlib/tx';
3
4
  export declare class TxProofValidator implements TxValidator<Tx> {
4
5
  #private;
5
6
  private verifier;
6
- constructor(verifier: ClientProtocolCircuitVerifier);
7
+ constructor(verifier: ClientProtocolCircuitVerifier, bindings?: LoggerBindings);
7
8
  validateTx(tx: Tx): Promise<TxValidationResult>;
8
9
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvb2ZfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL3R4X3Byb29mX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBMEIsRUFBRSxFQUFFLEtBQUssa0JBQWtCLEVBQUUsS0FBSyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RyxxQkFBYSxnQkFBaUIsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQUcxQyxPQUFPLENBQUMsUUFBUTtJQUE1QixZQUFvQixRQUFRLEVBQUUsNkJBQTZCLEVBQUk7SUFFekQsVUFBVSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBUXBEO0NBQ0YifQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvb2ZfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL3R4X3Byb29mX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQTBCLEVBQUUsRUFBRSxLQUFLLGtCQUFrQixFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFekcscUJBQWEsZ0JBQWlCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFJcEQsT0FBTyxDQUFDLFFBQVE7SUFEbEIsWUFDVSxRQUFRLEVBQUUsNkJBQTZCLEVBQy9DLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFSyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FRcEQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"tx_proof_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_proof_validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAA0B,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzG,qBAAa,gBAAiB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAG1C,OAAO,CAAC,QAAQ;IAA5B,YAAoB,QAAQ,EAAE,6BAA6B,EAAI;IAEzD,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQpD;CACF"}
1
+ {"version":3,"file":"tx_proof_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/tx_proof_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAA0B,EAAE,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzG,qBAAa,gBAAiB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAIpD,OAAO,CAAC,QAAQ;IADlB,YACU,QAAQ,EAAE,6BAA6B,EAC/C,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQpD;CACF"}
@@ -3,9 +3,9 @@ import { TX_ERROR_INVALID_PROOF } from '@aztec/stdlib/tx';
3
3
  export class TxProofValidator {
4
4
  verifier;
5
5
  #log;
6
- constructor(verifier){
6
+ constructor(verifier, bindings){
7
7
  this.verifier = verifier;
8
- this.#log = createLogger('p2p:tx_validator:private_proof');
8
+ this.#log = createLogger('p2p:tx_validator:proof', bindings);
9
9
  }
10
10
  async validateTx(tx) {
11
11
  const result = await this.verifier.verifyProof(tx);
@@ -24,4 +24,4 @@ export declare class AztecDatastore implements Datastore {
24
24
  */
25
25
  private pruneMemoryDatastore;
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9zdG9yZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2RhdGFfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFFeEUsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRSxLQUFLLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVHLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBcUJyRCxxQkFBYSxjQUFlLFlBQVcsU0FBUzs7SUFNOUMsT0FBTyxDQUFDLGNBQWMsQ0FBUztJQUUvQixZQUFZLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLGNBQWMsRUFBRTs7S0FBeUIsRUFLN0U7SUFFSyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXBDO0lBRUssR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQWN2QztJQUVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUUzQztJQUVNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FLOUQ7SUFFTSxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBTzlEO0lBRU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUtoRTtJQUVLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHcEM7SUFFRCxLQUFLLElBQUksS0FBSyxDQTBCYjtJQUVELEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0EwQm5DO0lBRUQsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQXlCekM7WUFFYSxJQUFJO1lBcUJILEdBQUc7SUFrQmxCOztPQUVHO0lBQ0gsT0FBTyxDQUFDLG9CQUFvQjtDQWlCN0IifQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9zdG9yZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2RhdGFfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFFeEUsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLElBQUksRUFBRSxLQUFLLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVHLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBcUJyRCxxQkFBYSxjQUFlLFlBQVcsU0FBUzs7SUFPOUMsT0FBTyxDQUFDLGNBQWMsQ0FBUztJQUUvQixZQUFZLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLGNBQWMsRUFBRTs7S0FBeUIsRUFLN0U7SUFFSyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXBDO0lBRUssR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQWN2QztJQUVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUUzQztJQUVNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FLOUQ7SUFFTSxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBTzlEO0lBRU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUtoRTtJQUVLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHcEM7SUFFRCxLQUFLLElBQUksS0FBSyxDQTRCYjtJQUVELEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0EwQm5DO0lBRUQsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQXlCekM7WUFFYSxJQUFJO1lBcUJILEdBQUc7SUFrQmxCOztPQUVHO0lBQ0gsT0FBTyxDQUFDLG9CQUFvQjtDQWlCN0IifQ==
@@ -1 +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;IAE/B,YAAY,EAAE,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE;;KAAyB,EAK7E;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpC;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAcvC;IAED,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAE3C;IAEM,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAK9D;IAEM,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAO9D;IAEM,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAKhE;IAEK,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpC;IAED,KAAK,IAAI,KAAK,CA0Bb;IAED,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CA0BnC;IAED,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAyBzC;YAEa,IAAI;YAqBH,GAAG;IAkBlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}
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;;IAO9C,OAAO,CAAC,cAAc,CAAS;IAE/B,YAAY,EAAE,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE;;KAAyB,EAK7E;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpC;IAEK,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAcvC;IAED,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAE3C;IAEM,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAK9D;IAEM,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAO9D;IAEM,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAKhE;IAEK,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpC;IAED,KAAK,IAAI,KAAK,CA4Bb;IAED,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CA0BnC;IAED,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAyBzC;YAEa,IAAI;YAqBH,GAAG;IAkBlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAiB7B"}
@@ -8,6 +8,7 @@ class KeyNotFoundError extends Error {
8
8
  }
9
9
  }
10
10
  export class AztecDatastore {
11
+ #db;
11
12
  #memoryDatastore;
12
13
  #dbDatastore;
13
14
  #batchOps = [];
@@ -15,6 +16,7 @@ export class AztecDatastore {
15
16
  constructor(db, { maxMemoryItems } = {
16
17
  maxMemoryItems: 50
17
18
  }){
19
+ this.#db = db;
18
20
  this.#memoryDatastore = new Map();
19
21
  this.#dbDatastore = db.openMap('p2p_datastore');
20
22
  this.maxMemoryItems = maxMemoryItems;
@@ -78,13 +80,15 @@ export class AztecDatastore {
78
80
  });
79
81
  },
80
82
  commit: async ()=>{
81
- for (const op of this.#batchOps){
82
- if (op.type === 'put' && op.value) {
83
- await this.put(op.key, op.value);
84
- } else if (op.type === 'del') {
85
- await this.delete(op.key);
83
+ await this.#db.transactionAsync(async ()=>{
84
+ for (const op of this.#batchOps){
85
+ if (op.type === 'put' && op.value) {
86
+ await this.put(op.key, op.value);
87
+ } else if (op.type === 'del') {
88
+ await this.delete(op.key);
89
+ }
86
90
  }
87
- }
91
+ });
88
92
  this.#batchOps = []; // Clear operations after commit
89
93
  }
90
94
  };
@@ -51,7 +51,7 @@ const delayBeforeStart = 2000; // 2sec
51
51
  multiAddrUdp = multiaddr(`${convertToMultiaddr(p2pIp, config.p2pBroadcastPort, 'udp')}/p2p/${peerId.toString()}`);
52
52
  }
53
53
  ({ enr: this.enr, versions: this.versions } = createNodeENR(peerId, multiAddrUdp, multiAddrTcp, config, this.packageVersion));
54
- const metricsRegistry = new OtelMetricsAdapter(telemetry);
54
+ const metricsRegistry = new OtelMetricsAdapter(telemetry, this.logger.getBindings());
55
55
  this.discv5 = Discv5.create({
56
56
  enr: this.enr,
57
57
  peerId,