@aztec/stdlib 0.0.1-commit.b2a5d0dd1 → 0.0.1-commit.b3d3157a

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 (700) hide show
  1. package/dest/abi/abi.d.ts +121 -1197
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +31 -16
  4. package/dest/abi/authorization_selector.d.ts +2 -2
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/contract_artifact.d.ts +1 -1
  7. package/dest/abi/contract_artifact.d.ts.map +1 -1
  8. package/dest/abi/contract_artifact.js +14 -7
  9. package/dest/abi/event_selector.d.ts +2 -2
  10. package/dest/abi/event_selector.d.ts.map +1 -1
  11. package/dest/abi/function_call.d.ts +7 -25
  12. package/dest/abi/function_call.d.ts.map +1 -1
  13. package/dest/abi/note_selector.d.ts +2 -2
  14. package/dest/abi/note_selector.d.ts.map +1 -1
  15. package/dest/abi/utils.d.ts +1 -1
  16. package/dest/abi/utils.d.ts.map +1 -1
  17. package/dest/abi/utils.js +1 -1
  18. package/dest/auth_witness/auth_witness.d.ts +2 -2
  19. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  20. package/dest/avm/avm.d.ts +1756 -10463
  21. package/dest/avm/avm.d.ts.map +1 -1
  22. package/dest/avm/avm.js +6 -3
  23. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  24. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  25. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  26. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  27. package/dest/avm/avm_proving_request.d.ts +653 -5446
  28. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  29. package/dest/avm/message_pack.js +12 -3
  30. package/dest/avm/public_data_write.d.ts +6 -12
  31. package/dest/avm/public_data_write.d.ts.map +1 -1
  32. package/dest/avm/revert_code.d.ts +1 -7
  33. package/dest/avm/revert_code.d.ts.map +1 -1
  34. package/dest/avm/revert_code.js +0 -3
  35. package/dest/aztec-address/index.d.ts +6 -3
  36. package/dest/aztec-address/index.d.ts.map +1 -1
  37. package/dest/aztec-address/index.js +7 -2
  38. package/dest/block/attestation_info.d.ts +3 -2
  39. package/dest/block/attestation_info.d.ts.map +1 -1
  40. package/dest/block/attestation_info.js +7 -5
  41. package/dest/block/block_data.d.ts +9 -34
  42. package/dest/block/block_data.d.ts.map +1 -1
  43. package/dest/block/block_parameter.d.ts +37 -4
  44. package/dest/block/block_parameter.d.ts.map +1 -1
  45. package/dest/block/block_parameter.js +53 -2
  46. package/dest/block/in_block.d.ts +5 -24
  47. package/dest/block/in_block.d.ts.map +1 -1
  48. package/dest/block/index.d.ts +1 -2
  49. package/dest/block/index.d.ts.map +1 -1
  50. package/dest/block/index.js +0 -1
  51. package/dest/block/l2_block.d.ts +13 -41
  52. package/dest/block/l2_block.d.ts.map +1 -1
  53. package/dest/block/l2_block_info.d.ts +7 -27
  54. package/dest/block/l2_block_info.d.ts.map +1 -1
  55. package/dest/block/l2_block_source.d.ts +199 -425
  56. package/dest/block/l2_block_source.d.ts.map +1 -1
  57. package/dest/block/l2_block_source.js +66 -1
  58. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  59. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  60. package/dest/block/l2_block_stream/l2_block_stream.js +44 -17
  61. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  62. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  63. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  64. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  65. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  66. package/dest/block/l2_block_stream/l2_tips_store_base.js +26 -7
  67. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  68. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  69. package/dest/block/proposal/attestations_and_signers.js +26 -18
  70. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  71. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  72. package/dest/block/test/l2_tips_store_test_suite.js +1 -1
  73. package/dest/checkpoint/checkpoint.d.ts +24 -96
  74. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  75. package/dest/checkpoint/checkpoint_data.d.ts +40 -129
  76. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  77. package/dest/checkpoint/checkpoint_data.js +2 -0
  78. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  79. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  80. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  81. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  82. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  83. package/dest/checkpoint/digest.d.ts +18 -0
  84. package/dest/checkpoint/digest.d.ts.map +1 -0
  85. package/dest/checkpoint/digest.js +12 -0
  86. package/dest/checkpoint/index.d.ts +4 -1
  87. package/dest/checkpoint/index.d.ts.map +1 -1
  88. package/dest/checkpoint/index.js +3 -0
  89. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  90. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  91. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  92. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  93. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  94. package/dest/config/chain-config.d.ts +4 -9
  95. package/dest/config/chain-config.d.ts.map +1 -1
  96. package/dest/config/chain-config.js +6 -11
  97. package/dest/config/index.d.ts +1 -2
  98. package/dest/config/index.d.ts.map +1 -1
  99. package/dest/config/index.js +0 -1
  100. package/dest/config/sequencer-config.d.ts +5 -3
  101. package/dest/config/sequencer-config.d.ts.map +1 -1
  102. package/dest/config/sequencer-config.js +13 -6
  103. package/dest/contract/complete_address.d.ts +3 -2
  104. package/dest/contract/complete_address.d.ts.map +1 -1
  105. package/dest/contract/complete_address.js +6 -2
  106. package/dest/contract/contract_address.d.ts +5 -5
  107. package/dest/contract/contract_address.d.ts.map +1 -1
  108. package/dest/contract/contract_address.js +5 -4
  109. package/dest/contract/contract_deployment_data.d.ts +15 -61
  110. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  111. package/dest/contract/contract_instance.d.ts +4 -2
  112. package/dest/contract/contract_instance.d.ts.map +1 -1
  113. package/dest/contract/contract_instance.js +10 -3
  114. package/dest/contract/interfaces/contract_class.d.ts +15 -86
  115. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  116. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  117. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  118. package/dest/contract/interfaces/contract_instance.js +4 -2
  119. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  120. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  121. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  122. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  123. package/dest/database-version/database_version.d.ts +5 -11
  124. package/dest/database-version/database_version.d.ts.map +1 -1
  125. package/dest/database-version/version_manager.d.ts +6 -2
  126. package/dest/database-version/version_manager.d.ts.map +1 -1
  127. package/dest/database-version/version_manager.js +12 -1
  128. package/dest/epoch-helpers/index.d.ts +4 -22
  129. package/dest/epoch-helpers/index.d.ts.map +1 -1
  130. package/dest/gas/gas.d.ts +9 -14
  131. package/dest/gas/gas.d.ts.map +1 -1
  132. package/dest/gas/gas.js +6 -3
  133. package/dest/gas/gas_fees.d.ts +9 -14
  134. package/dest/gas/gas_fees.d.ts.map +1 -1
  135. package/dest/gas/gas_fees.js +7 -3
  136. package/dest/gas/gas_settings.d.ts +27 -84
  137. package/dest/gas/gas_settings.d.ts.map +1 -1
  138. package/dest/gas/gas_settings.js +6 -3
  139. package/dest/ha-signing/config.d.ts +9 -73
  140. package/dest/ha-signing/config.d.ts.map +1 -1
  141. package/dest/ha-signing/config.js +5 -15
  142. package/dest/ha-signing/local_config.d.ts +3 -34
  143. package/dest/ha-signing/local_config.d.ts.map +1 -1
  144. package/dest/ha-signing/local_config.js +2 -2
  145. package/dest/hash/hash.d.ts +1 -1
  146. package/dest/hash/hash.d.ts.map +1 -1
  147. package/dest/hash/hash.js +2 -2
  148. package/dest/interfaces/allowed_element.d.ts +4 -28
  149. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  150. package/dest/interfaces/api_limit.d.ts +1 -1
  151. package/dest/interfaces/api_limit.js +1 -1
  152. package/dest/interfaces/archiver.d.ts +16 -36
  153. package/dest/interfaces/archiver.d.ts.map +1 -1
  154. package/dest/interfaces/archiver.js +211 -71
  155. package/dest/interfaces/aztec-node-admin.d.ts +62 -292
  156. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  157. package/dest/interfaces/aztec-node-admin.js +57 -14
  158. package/dest/interfaces/aztec-node-debug.js +4 -1
  159. package/dest/interfaces/aztec-node.d.ts +100 -106
  160. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  161. package/dest/interfaces/aztec-node.js +308 -70
  162. package/dest/interfaces/block-builder.d.ts +3 -1
  163. package/dest/interfaces/block-builder.d.ts.map +1 -1
  164. package/dest/interfaces/block_response.d.ts +90 -0
  165. package/dest/interfaces/block_response.d.ts.map +1 -0
  166. package/dest/interfaces/block_response.js +30 -0
  167. package/dest/interfaces/chain_tips.d.ts +50 -0
  168. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  169. package/dest/interfaces/chain_tips.js +11 -0
  170. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  171. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  172. package/dest/interfaces/checkpoint_parameter.js +18 -0
  173. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  174. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  175. package/dest/interfaces/checkpoint_response.js +26 -0
  176. package/dest/interfaces/client.d.ts +7 -2
  177. package/dest/interfaces/client.d.ts.map +1 -1
  178. package/dest/interfaces/client.js +6 -1
  179. package/dest/interfaces/configs.d.ts +41 -130
  180. package/dest/interfaces/configs.d.ts.map +1 -1
  181. package/dest/interfaces/configs.js +9 -1
  182. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  183. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  184. package/dest/interfaces/l1_publish_info.js +26 -0
  185. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  186. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  187. package/dest/interfaces/l2_logs_source.js +5 -0
  188. package/dest/interfaces/merkle_tree_operations.d.ts +9 -3
  189. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  190. package/dest/interfaces/p2p-bootstrap.js +8 -2
  191. package/dest/interfaces/p2p.d.ts +15 -5
  192. package/dest/interfaces/p2p.d.ts.map +1 -1
  193. package/dest/interfaces/p2p.js +28 -5
  194. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  195. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  196. package/dest/interfaces/prover-agent.d.ts +5 -23
  197. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  198. package/dest/interfaces/prover-agent.js +4 -1
  199. package/dest/interfaces/prover-client.d.ts +6 -27
  200. package/dest/interfaces/prover-client.d.ts.map +1 -1
  201. package/dest/interfaces/prover-node.js +22 -8
  202. package/dest/interfaces/proving-job-source.js +24 -4
  203. package/dest/interfaces/proving-job.d.ts +725 -5776
  204. package/dest/interfaces/proving-job.d.ts.map +1 -1
  205. package/dest/interfaces/proving-job.js +1 -1
  206. package/dest/interfaces/public_storage_override.d.ts +22 -0
  207. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  208. package/dest/interfaces/public_storage_override.js +7 -0
  209. package/dest/interfaces/server.d.ts +6 -1
  210. package/dest/interfaces/server.d.ts.map +1 -1
  211. package/dest/interfaces/server.js +5 -0
  212. package/dest/interfaces/slasher.d.ts +25 -56
  213. package/dest/interfaces/slasher.d.ts.map +1 -1
  214. package/dest/interfaces/slasher.js +8 -2
  215. package/dest/interfaces/tx_provider.d.ts +6 -1
  216. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  217. package/dest/interfaces/validator.d.ts +40 -229
  218. package/dest/interfaces/validator.d.ts.map +1 -1
  219. package/dest/interfaces/validator.js +5 -0
  220. package/dest/interfaces/world_state.d.ts +2 -2
  221. package/dest/interfaces/world_state.d.ts.map +1 -1
  222. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  223. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  224. package/dest/kernel/hints/key_validation_request.js +20 -18
  225. package/dest/kernel/index.d.ts +5 -1
  226. package/dest/kernel/index.d.ts.map +1 -1
  227. package/dest/kernel/index.js +4 -0
  228. package/dest/kernel/log_hash.d.ts +6 -2
  229. package/dest/kernel/log_hash.d.ts.map +1 -1
  230. package/dest/kernel/log_hash.js +21 -9
  231. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  232. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  233. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  234. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  235. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  236. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  237. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  238. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  239. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  240. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  241. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  242. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  243. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  244. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  245. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  246. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  247. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  248. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  249. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  250. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  251. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  252. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  253. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  254. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  255. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  256. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  257. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  258. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  259. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  260. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  261. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  262. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  263. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  264. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  265. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  266. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  267. package/dest/kernel/public_call_request.d.ts +15 -30
  268. package/dest/kernel/public_call_request.d.ts.map +1 -1
  269. package/dest/kernel/public_call_request.js +16 -7
  270. package/dest/keys/derivation.d.ts +6 -2
  271. package/dest/keys/derivation.d.ts.map +1 -1
  272. package/dest/keys/derivation.js +16 -6
  273. package/dest/keys/public_key.d.ts +22 -3
  274. package/dest/keys/public_key.d.ts.map +1 -1
  275. package/dest/keys/public_key.js +20 -1
  276. package/dest/keys/public_keys.d.ts +55 -82
  277. package/dest/keys/public_keys.d.ts.map +1 -1
  278. package/dest/keys/public_keys.js +102 -74
  279. package/dest/kv-store/config.d.ts +3 -6
  280. package/dest/kv-store/config.d.ts.map +1 -1
  281. package/dest/kv-store/config.js +2 -7
  282. package/dest/logs/app_tagging_secret.d.ts +46 -0
  283. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  284. package/dest/logs/{extended_directional_app_tagging_secret.js → app_tagging_secret.js} +51 -21
  285. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  286. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  287. package/dest/logs/app_tagging_secret_kind.js +17 -0
  288. package/dest/logs/contract_class_log.d.ts +16 -34
  289. package/dest/logs/contract_class_log.d.ts.map +1 -1
  290. package/dest/logs/contract_class_log.js +11 -9
  291. package/dest/logs/index.d.ts +7 -7
  292. package/dest/logs/index.d.ts.map +1 -1
  293. package/dest/logs/index.js +6 -6
  294. package/dest/logs/log_cursor.d.ts +51 -0
  295. package/dest/logs/log_cursor.d.ts.map +1 -0
  296. package/dest/logs/log_cursor.js +82 -0
  297. package/dest/logs/log_result.d.ts +54 -0
  298. package/dest/logs/log_result.d.ts.map +1 -0
  299. package/dest/logs/log_result.js +56 -0
  300. package/dest/logs/logs_query.d.ts +82 -0
  301. package/dest/logs/logs_query.d.ts.map +1 -0
  302. package/dest/logs/logs_query.js +50 -0
  303. package/dest/logs/message_context.d.ts +3 -2
  304. package/dest/logs/message_context.d.ts.map +1 -1
  305. package/dest/logs/message_context.js +4 -0
  306. package/dest/logs/pre_tag.d.ts +11 -24
  307. package/dest/logs/pre_tag.d.ts.map +1 -1
  308. package/dest/logs/pre_tag.js +2 -2
  309. package/dest/logs/private_log.d.ts +7 -12
  310. package/dest/logs/private_log.d.ts.map +1 -1
  311. package/dest/logs/private_log.js +6 -3
  312. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  313. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  314. package/dest/logs/query_all_logs_by_tags.js +64 -0
  315. package/dest/logs/siloed_tag.d.ts +1 -1
  316. package/dest/logs/siloed_tag.d.ts.map +1 -1
  317. package/dest/logs/siloed_tag.js +3 -1
  318. package/dest/logs/tagging_index_range.d.ts +13 -31
  319. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  320. package/dest/logs/tagging_index_range.js +2 -2
  321. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  322. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  323. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  324. package/dest/messaging/index.d.ts +2 -1
  325. package/dest/messaging/index.d.ts.map +1 -1
  326. package/dest/messaging/index.js +1 -0
  327. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  328. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  329. package/dest/messaging/l2_to_l1_membership.js +72 -12
  330. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  331. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  332. package/dest/messaging/l2_to_l1_message.js +21 -12
  333. package/dest/noir/index.d.ts +3 -1
  334. package/dest/noir/index.d.ts.map +1 -1
  335. package/dest/note/note.d.ts +2 -2
  336. package/dest/note/note.d.ts.map +1 -1
  337. package/dest/p2p/block_proposal.d.ts +29 -10
  338. package/dest/p2p/block_proposal.d.ts.map +1 -1
  339. package/dest/p2p/block_proposal.js +56 -33
  340. package/dest/p2p/checkpoint_attestation.d.ts +14 -6
  341. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  342. package/dest/p2p/checkpoint_attestation.js +24 -20
  343. package/dest/p2p/checkpoint_proposal.d.ts +31 -10
  344. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  345. package/dest/p2p/checkpoint_proposal.js +58 -31
  346. package/dest/p2p/consensus_payload.d.ts +26 -20
  347. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  348. package/dest/p2p/consensus_payload.js +38 -19
  349. package/dest/p2p/signature_utils.d.ts +28 -19
  350. package/dest/p2p/signature_utils.d.ts.map +1 -1
  351. package/dest/p2p/signature_utils.js +118 -21
  352. package/dest/p2p/signed_txs.d.ts +15 -13
  353. package/dest/p2p/signed_txs.d.ts.map +1 -1
  354. package/dest/p2p/signed_txs.js +26 -24
  355. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  356. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  357. package/dest/parity/parity_base_private_inputs.js +7 -5
  358. package/dest/parity/parity_public_inputs.d.ts +8 -4
  359. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  360. package/dest/parity/parity_public_inputs.js +6 -3
  361. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  362. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  363. package/dest/proofs/chonk_proof.d.ts +17 -11
  364. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  365. package/dest/proofs/chonk_proof.js +44 -22
  366. package/dest/proofs/recursive_proof.d.ts +2 -2
  367. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  368. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  369. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  370. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  371. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  372. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  373. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  374. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  375. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  376. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  377. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  378. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  379. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  380. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  381. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  382. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  383. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  384. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  385. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  386. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  387. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  388. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  389. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  390. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  391. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  392. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  393. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  394. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  395. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  396. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  397. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  398. package/dest/schemas/schemas.d.ts +32 -78
  399. package/dest/schemas/schemas.d.ts.map +1 -1
  400. package/dest/schemas/schemas.js +2 -2
  401. package/dest/slashing/helpers.d.ts +2 -2
  402. package/dest/slashing/helpers.d.ts.map +1 -1
  403. package/dest/slashing/helpers.js +10 -7
  404. package/dest/slashing/types.d.ts +15 -23
  405. package/dest/slashing/types.d.ts.map +1 -1
  406. package/dest/slashing/types.js +16 -10
  407. package/dest/snapshots/types.d.ts +15 -78
  408. package/dest/snapshots/types.d.ts.map +1 -1
  409. package/dest/stats/stats.d.ts +2 -2
  410. package/dest/stats/stats.d.ts.map +1 -1
  411. package/dest/tests/factories.d.ts +23 -23
  412. package/dest/tests/factories.d.ts.map +1 -1
  413. package/dest/tests/factories.js +70 -47
  414. package/dest/tests/mocks.d.ts +8 -5
  415. package/dest/tests/mocks.d.ts.map +1 -1
  416. package/dest/tests/mocks.js +31 -38
  417. package/dest/timetable/index.d.ts +7 -10
  418. package/dest/timetable/index.d.ts.map +1 -1
  419. package/dest/timetable/index.js +60 -80
  420. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  421. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  422. package/dest/trees/append_only_tree_snapshot.js +6 -3
  423. package/dest/trees/nullifier_leaf.d.ts +18 -42
  424. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  425. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  426. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  427. package/dest/trees/nullifier_membership_witness.js +2 -14
  428. package/dest/trees/public_data_leaf.d.ts +21 -53
  429. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  430. package/dest/trees/public_data_witness.d.ts +16 -58
  431. package/dest/trees/public_data_witness.d.ts.map +1 -1
  432. package/dest/tx/block_header.d.ts +4 -3
  433. package/dest/tx/block_header.d.ts.map +1 -1
  434. package/dest/tx/block_header.js +6 -3
  435. package/dest/tx/call_context.d.ts +4 -14
  436. package/dest/tx/call_context.d.ts.map +1 -1
  437. package/dest/tx/capsule.d.ts +2 -2
  438. package/dest/tx/capsule.d.ts.map +1 -1
  439. package/dest/tx/function_data.d.ts +4 -10
  440. package/dest/tx/function_data.d.ts.map +1 -1
  441. package/dest/tx/global_variables.d.ts +16 -49
  442. package/dest/tx/global_variables.d.ts.map +1 -1
  443. package/dest/tx/global_variables.js +8 -12
  444. package/dest/tx/hashed_values.d.ts +4 -3
  445. package/dest/tx/hashed_values.d.ts.map +1 -1
  446. package/dest/tx/hashed_values.js +6 -3
  447. package/dest/tx/in_tx.d.ts +5 -17
  448. package/dest/tx/in_tx.d.ts.map +1 -1
  449. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  450. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  451. package/dest/tx/indexed_tx_effect.js +8 -4
  452. package/dest/tx/partial_state_reference.d.ts +22 -65
  453. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  454. package/dest/tx/partial_state_reference.js +6 -3
  455. package/dest/tx/private_execution_result.d.ts +6 -16
  456. package/dest/tx/private_execution_result.d.ts.map +1 -1
  457. package/dest/tx/profiling.d.ts +54 -352
  458. package/dest/tx/profiling.d.ts.map +1 -1
  459. package/dest/tx/profiling.js +4 -4
  460. package/dest/tx/protocol_contracts.d.ts +5 -9
  461. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  462. package/dest/tx/proven_tx.d.ts +30 -74
  463. package/dest/tx/proven_tx.d.ts.map +1 -1
  464. package/dest/tx/proven_tx.js +6 -0
  465. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  466. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  467. package/dest/tx/public_call_request_with_calldata.js +6 -3
  468. package/dest/tx/simulated_tx.d.ts +62 -1249
  469. package/dest/tx/simulated_tx.d.ts.map +1 -1
  470. package/dest/tx/simulated_tx.js +12 -10
  471. package/dest/tx/state_reference.d.ts +30 -117
  472. package/dest/tx/state_reference.d.ts.map +1 -1
  473. package/dest/tx/state_reference.js +6 -4
  474. package/dest/tx/tree_snapshots.d.ts +27 -84
  475. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  476. package/dest/tx/tree_snapshots.js +6 -4
  477. package/dest/tx/tx.d.ts +12 -11
  478. package/dest/tx/tx.d.ts.map +1 -1
  479. package/dest/tx/tx.js +30 -23
  480. package/dest/tx/tx_constant_data.d.ts +4 -3
  481. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  482. package/dest/tx/tx_constant_data.js +6 -3
  483. package/dest/tx/tx_context.d.ts +32 -131
  484. package/dest/tx/tx_context.d.ts.map +1 -1
  485. package/dest/tx/tx_context.js +6 -6
  486. package/dest/tx/tx_hash.d.ts +6 -4
  487. package/dest/tx/tx_hash.d.ts.map +1 -1
  488. package/dest/tx/tx_hash.js +13 -5
  489. package/dest/tx/tx_receipt.d.ts +144 -67
  490. package/dest/tx/tx_receipt.d.ts.map +1 -1
  491. package/dest/tx/tx_receipt.js +141 -51
  492. package/dest/tx/validator/tx_validator.d.ts +5 -27
  493. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  494. package/dest/tx/validator/tx_validator.js +0 -4
  495. package/dest/types/shared.d.ts +4 -3
  496. package/dest/types/shared.d.ts.map +1 -1
  497. package/dest/types/shared.js +6 -3
  498. package/dest/update-checker/dev_version.d.ts +3 -0
  499. package/dest/update-checker/dev_version.d.ts.map +1 -0
  500. package/dest/update-checker/dev_version.js +1 -0
  501. package/dest/update-checker/index.d.ts +2 -1
  502. package/dest/update-checker/index.d.ts.map +1 -1
  503. package/dest/update-checker/index.js +1 -0
  504. package/dest/update-checker/package_version.d.ts +6 -3
  505. package/dest/update-checker/package_version.d.ts.map +1 -1
  506. package/dest/update-checker/package_version.js +8 -19
  507. package/dest/validators/schemas.d.ts +147 -614
  508. package/dest/validators/schemas.d.ts.map +1 -1
  509. package/dest/validators/schemas.js +6 -4
  510. package/dest/validators/types.d.ts +20 -3
  511. package/dest/validators/types.d.ts.map +1 -1
  512. package/dest/versioning/versioning.js +1 -1
  513. package/dest/vks/verification_key.d.ts +3 -3
  514. package/dest/vks/verification_key.d.ts.map +1 -1
  515. package/dest/world-state/genesis_data.d.ts +3 -1
  516. package/dest/world-state/genesis_data.d.ts.map +1 -1
  517. package/dest/world-state/genesis_data.js +3 -0
  518. package/dest/world-state/world_state_revision.d.ts +4 -39
  519. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  520. package/dest/world-state/world_state_revision.js +0 -20
  521. package/package.json +12 -11
  522. package/src/abi/abi.ts +53 -19
  523. package/src/abi/contract_artifact.ts +11 -6
  524. package/src/abi/utils.ts +6 -4
  525. package/src/avm/avm.ts +5 -0
  526. package/src/avm/message_pack.ts +12 -3
  527. package/src/avm/revert_code.ts +0 -6
  528. package/src/aztec-address/index.ts +12 -3
  529. package/src/block/attestation_info.ts +11 -11
  530. package/src/block/block_parameter.ts +72 -4
  531. package/src/block/index.ts +0 -1
  532. package/src/block/l2_block_source.ts +201 -149
  533. package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
  534. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  535. package/src/block/l2_block_stream/l2_tips_store_base.ts +29 -7
  536. package/src/block/proposal/attestations_and_signers.ts +32 -17
  537. package/src/block/test/l2_tips_store_test_suite.ts +1 -1
  538. package/src/checkpoint/checkpoint_data.ts +4 -0
  539. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  540. package/src/checkpoint/digest.ts +28 -0
  541. package/src/checkpoint/index.ts +3 -0
  542. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  543. package/src/config/chain-config.ts +6 -15
  544. package/src/config/index.ts +0 -1
  545. package/src/config/sequencer-config.ts +25 -7
  546. package/src/contract/complete_address.ts +7 -3
  547. package/src/contract/contract_address.ts +6 -6
  548. package/src/contract/contract_instance.ts +11 -2
  549. package/src/contract/interfaces/contract_instance.ts +6 -2
  550. package/src/database-version/version_manager.ts +17 -0
  551. package/src/gas/gas.ts +8 -3
  552. package/src/gas/gas_fees.ts +9 -9
  553. package/src/gas/gas_settings.ts +8 -3
  554. package/src/ha-signing/config.ts +9 -16
  555. package/src/ha-signing/local_config.ts +2 -2
  556. package/src/hash/hash.ts +2 -2
  557. package/src/interfaces/api_limit.ts +1 -1
  558. package/src/interfaces/archiver.ts +80 -94
  559. package/src/interfaces/aztec-node-admin.ts +32 -15
  560. package/src/interfaces/aztec-node-debug.ts +1 -1
  561. package/src/interfaces/aztec-node.ts +296 -262
  562. package/src/interfaces/block-builder.ts +2 -0
  563. package/src/interfaces/block_response.ts +92 -0
  564. package/src/interfaces/chain_tips.ts +24 -0
  565. package/src/interfaces/checkpoint_parameter.ts +20 -0
  566. package/src/interfaces/checkpoint_response.ts +84 -0
  567. package/src/interfaces/client.ts +6 -1
  568. package/src/interfaces/configs.ts +40 -1
  569. package/src/interfaces/l1_publish_info.ts +40 -0
  570. package/src/interfaces/l2_logs_source.ts +13 -42
  571. package/src/interfaces/merkle_tree_operations.ts +9 -2
  572. package/src/interfaces/p2p-bootstrap.ts +2 -2
  573. package/src/interfaces/p2p.ts +35 -15
  574. package/src/interfaces/private_kernel_prover.ts +88 -0
  575. package/src/interfaces/prover-agent.ts +1 -1
  576. package/src/interfaces/prover-node.ts +7 -7
  577. package/src/interfaces/proving-job-source.ts +4 -4
  578. package/src/interfaces/proving-job.ts +3 -3
  579. package/src/interfaces/public_storage_override.ts +26 -0
  580. package/src/interfaces/server.ts +5 -0
  581. package/src/interfaces/slasher.ts +17 -4
  582. package/src/interfaces/tx_provider.ts +6 -0
  583. package/src/interfaces/validator.ts +18 -2
  584. package/src/interfaces/world_state.ts +1 -1
  585. package/src/kernel/hints/key_validation_request.ts +18 -16
  586. package/src/kernel/index.ts +4 -0
  587. package/src/kernel/log_hash.ts +29 -9
  588. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  589. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  590. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  591. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  592. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  593. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  594. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  595. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  596. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  597. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  598. package/src/kernel/public_call_request.ts +22 -7
  599. package/src/keys/derivation.ts +21 -9
  600. package/src/keys/public_key.ts +26 -2
  601. package/src/keys/public_keys.ts +124 -110
  602. package/src/kv-store/config.ts +3 -10
  603. package/src/logs/{extended_directional_app_tagging_secret.ts → app_tagging_secret.ts} +62 -23
  604. package/src/logs/app_tagging_secret_kind.ts +21 -0
  605. package/src/logs/contract_class_log.ts +15 -5
  606. package/src/logs/index.ts +6 -6
  607. package/src/logs/log_cursor.ts +110 -0
  608. package/src/logs/log_result.ts +104 -0
  609. package/src/logs/logs_query.ts +138 -0
  610. package/src/logs/message_context.ts +5 -1
  611. package/src/logs/pre_tag.ts +3 -6
  612. package/src/logs/private_log.ts +9 -3
  613. package/src/logs/query_all_logs_by_tags.ts +98 -0
  614. package/src/logs/siloed_tag.ts +6 -1
  615. package/src/logs/tagging_index_range.ts +4 -10
  616. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  617. package/src/messaging/index.ts +1 -0
  618. package/src/messaging/l2_to_l1_membership.ts +108 -19
  619. package/src/messaging/l2_to_l1_message.ts +29 -9
  620. package/src/noir/index.ts +2 -0
  621. package/src/p2p/block_proposal.ts +99 -28
  622. package/src/p2p/checkpoint_attestation.ts +26 -26
  623. package/src/p2p/checkpoint_proposal.ts +109 -39
  624. package/src/p2p/consensus_payload.ts +59 -28
  625. package/src/p2p/signature_utils.ts +110 -25
  626. package/src/p2p/signed_txs.ts +46 -28
  627. package/src/parity/parity_base_private_inputs.ts +10 -4
  628. package/src/parity/parity_public_inputs.ts +9 -2
  629. package/src/proofs/chonk_proof.ts +49 -15
  630. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  631. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  632. package/src/schemas/schemas.ts +6 -1
  633. package/src/slashing/helpers.ts +13 -9
  634. package/src/slashing/types.ts +21 -14
  635. package/src/stats/stats.ts +4 -0
  636. package/src/tests/factories.ts +97 -68
  637. package/src/tests/mocks.ts +49 -57
  638. package/src/timetable/index.ts +63 -105
  639. package/src/trees/append_only_tree_snapshot.ts +8 -3
  640. package/src/trees/nullifier_membership_witness.ts +2 -12
  641. package/src/tx/block_header.ts +8 -3
  642. package/src/tx/global_variables.ts +10 -18
  643. package/src/tx/hashed_values.ts +8 -3
  644. package/src/tx/indexed_tx_effect.ts +17 -4
  645. package/src/tx/partial_state_reference.ts +8 -3
  646. package/src/tx/profiling.ts +4 -4
  647. package/src/tx/proven_tx.ts +6 -0
  648. package/src/tx/public_call_request_with_calldata.ts +8 -3
  649. package/src/tx/simulated_tx.ts +18 -21
  650. package/src/tx/state_reference.ts +9 -4
  651. package/src/tx/tree_snapshots.ts +9 -4
  652. package/src/tx/tx.ts +41 -22
  653. package/src/tx/tx_constant_data.ts +8 -3
  654. package/src/tx/tx_context.ts +8 -3
  655. package/src/tx/tx_hash.ts +20 -5
  656. package/src/tx/tx_receipt.ts +263 -80
  657. package/src/tx/validator/tx_validator.ts +1 -5
  658. package/src/types/shared.ts +8 -3
  659. package/src/update-checker/dev_version.ts +2 -0
  660. package/src/update-checker/index.ts +1 -0
  661. package/src/update-checker/package_version.ts +10 -23
  662. package/src/validators/schemas.ts +6 -4
  663. package/src/validators/types.ts +21 -2
  664. package/src/versioning/versioning.ts +1 -1
  665. package/src/world-state/genesis_data.ts +12 -0
  666. package/src/world-state/world_state_revision.ts +0 -33
  667. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  668. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  669. package/dest/block/checkpointed_l2_block.js +0 -46
  670. package/dest/config/pipelining-config.d.ts +0 -19
  671. package/dest/config/pipelining-config.d.ts.map +0 -1
  672. package/dest/config/pipelining-config.js +0 -18
  673. package/dest/interfaces/get_logs_response.d.ts +0 -97
  674. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  675. package/dest/interfaces/get_logs_response.js +0 -12
  676. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  677. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  678. package/dest/logs/extended_contract_class_log.js +0 -67
  679. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  680. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  681. package/dest/logs/extended_public_log.d.ts +0 -106
  682. package/dest/logs/extended_public_log.d.ts.map +0 -1
  683. package/dest/logs/extended_public_log.js +0 -73
  684. package/dest/logs/log_filter.d.ts +0 -25
  685. package/dest/logs/log_filter.d.ts.map +0 -1
  686. package/dest/logs/log_filter.js +0 -12
  687. package/dest/logs/log_id.d.ts +0 -85
  688. package/dest/logs/log_id.d.ts.map +0 -1
  689. package/dest/logs/log_id.js +0 -93
  690. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  691. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  692. package/dest/logs/tx_scoped_l2_log.js +0 -77
  693. package/src/block/checkpointed_l2_block.ts +0 -70
  694. package/src/config/pipelining-config.ts +0 -31
  695. package/src/interfaces/get_logs_response.ts +0 -35
  696. package/src/logs/extended_contract_class_log.ts +0 -87
  697. package/src/logs/extended_public_log.ts +0 -94
  698. package/src/logs/log_filter.ts +0 -36
  699. package/src/logs/log_id.ts +0 -124
  700. package/src/logs/tx_scoped_l2_log.ts +0 -114
@@ -1,6 +1,6 @@
1
1
  import { TREE_SNAPSHOTS_LENGTH } from '@aztec/constants';
2
2
  import type { Fr } from '@aztec/foundation/curves/bn254';
3
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
4
4
 
5
5
  import { inspect } from 'util';
6
6
  import { z } from 'zod';
@@ -51,9 +51,14 @@ export class TreeSnapshots {
51
51
  );
52
52
  }
53
53
 
54
- toBuffer() {
55
- // Note: The order here must match the order in the ProposedHeaderLib solidity library.
56
- return serializeToBuffer(this.l1ToL2MessageTree, this.noteHashTree, this.nullifierTree, this.publicDataTree);
54
+ // Note: The order here must match the order in the ProposedHeaderLib solidity library.
55
+ toBuffer(): Buffer;
56
+ toBuffer(sink: BufferSink): void;
57
+ toBuffer(sink?: BufferSink): Buffer | void {
58
+ if (!sink) {
59
+ return BufferSink.serialize(this);
60
+ }
61
+ serializeToSink(sink, this.l1ToL2MessageTree, this.noteHashTree, this.nullifierTree, this.publicDataTree);
57
62
  }
58
63
 
59
64
  static fromFields(fields: Fr[] | FieldReader) {
package/src/tx/tx.ts CHANGED
@@ -2,14 +2,18 @@ import { DA_GAS_PER_FIELD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
2
  import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { ZodFor } from '@aztec/foundation/schemas';
5
- import { BufferReader, serializeArrayOfBufferableToVector, serializeToBuffer } from '@aztec/foundation/serialize';
5
+ import {
6
+ BufferReader,
7
+ BufferSink,
8
+ serializeArrayOfBufferableToVector,
9
+ serializeArrayToSink,
10
+ serializeToSink,
11
+ } from '@aztec/foundation/serialize';
6
12
  import { type FieldsOf, unfreeze } from '@aztec/foundation/types';
7
13
 
8
14
  import { z } from 'zod';
9
15
 
10
16
  import type { GasSettings } from '../gas/gas_settings.js';
11
- import type { GetPublicLogsResponse } from '../interfaces/get_logs_response.js';
12
- import type { L2LogsSource } from '../interfaces/l2_logs_source.js';
13
17
  import type { PublicCallRequest } from '../kernel/index.js';
14
18
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
15
19
  import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
@@ -21,6 +25,14 @@ import { HashedValues } from './hashed_values.js';
21
25
  import { PublicCallRequestWithCalldata } from './public_call_request_with_calldata.js';
22
26
  import { TxHash } from './tx_hash.js';
23
27
 
28
+ // Static presize hint for the BufferSink the no-sink Tx.toBuffer() path allocates. Empirically a
29
+ // public-with-enqueued-calls Tx serialized by the bootstrapped bench (yarn-project/stdlib/src/tx/
30
+ // tx_bench.test.ts) is ~129128 bytes; a private-only Tx is ~81763 bytes. 128 KiB covers both shapes
31
+ // without a single doubling-growth `ensure()` resize on the cold path. Real-world Txs that happen to
32
+ // exceed this still serialize correctly — the sink falls back to its standard doubling growth — just
33
+ // with the existing cost.
34
+ const TX_SINK_PRESIZE_BYTES = 131072;
35
+
24
36
  /**
25
37
  * The interface of an L2 transaction.
26
38
  */
@@ -127,14 +139,15 @@ export class Tx extends Gossipable {
127
139
  * Serializes the Tx object into a Buffer.
128
140
  * @returns Buffer representation of the Tx object.
129
141
  */
130
- toBuffer() {
131
- return serializeToBuffer([
132
- this.txHash,
133
- this.data,
134
- this.chonkProof,
135
- serializeArrayOfBufferableToVector(this.contractClassLogFields, 1),
136
- serializeArrayOfBufferableToVector(this.publicFunctionCalldata, 1),
137
- ]);
142
+ toBuffer(): Buffer;
143
+ toBuffer(sink: BufferSink): void;
144
+ toBuffer(sink?: BufferSink): Buffer | void {
145
+ if (!sink) {
146
+ return BufferSink.serialize(this, TX_SINK_PRESIZE_BYTES);
147
+ }
148
+ serializeToSink(sink, this.txHash, this.data, this.chonkProof);
149
+ serializeArrayToSink(sink, this.contractClassLogFields, 1);
150
+ serializeArrayToSink(sink, this.publicFunctionCalldata, 1);
138
151
  }
139
152
 
140
153
  static get schema(): ZodFor<Tx> {
@@ -180,15 +193,6 @@ export class Tx extends Gossipable {
180
193
  return this.txHash.equals(expectedHash);
181
194
  }
182
195
 
183
- /**
184
- * Gets public logs emitted by this tx.
185
- * @param logsSource - An instance of `L2LogsSource` which can be used to obtain the logs.
186
- * @returns The requested logs.
187
- */
188
- public getPublicLogs(logsSource: L2LogsSource): Promise<GetPublicLogsResponse> {
189
- return logsSource.getPublicLogs({ txHash: this.getTxHash() });
190
- }
191
-
192
196
  getContractClassLogs(): ContractClassLog[] {
193
197
  const logHashes = this.data.getNonEmptyContractClassLogsHashes();
194
198
  return logHashes.map((logHash, i) =>
@@ -301,6 +305,16 @@ export class Tx extends Gossipable {
301
305
  return clonedTx;
302
306
  }
303
307
 
308
+ /**
309
+ * Returns a copy of this tx with its proof stripped (replaced by an empty {@link ChonkProof}). Used when archiving
310
+ * txs or shipping a pending tx over RPC where the proof is not needed. Note that {@link Tx.clone} with
311
+ * `cloneProof = false` does not strip the proof; it shares the original.
312
+ * @returns A new tx with an empty proof.
313
+ */
314
+ withoutProof(): Tx {
315
+ return new Tx(this.txHash, this.data, ChonkProof.empty(), this.contractClassLogFields, this.publicFunctionCalldata);
316
+ }
317
+
304
318
  /**
305
319
  * Creates a random tx.
306
320
  * @param randomProof - Whether to create a random proof - this will be random bytes of the full size.
@@ -345,7 +359,12 @@ export class TxArray extends Array<Tx> {
345
359
  }
346
360
  }
347
361
 
348
- public toBuffer(): Buffer {
349
- return serializeArrayOfBufferableToVector(this);
362
+ public toBuffer(): Buffer;
363
+ public toBuffer(sink: BufferSink): void;
364
+ public toBuffer(sink?: BufferSink): Buffer | void {
365
+ if (!sink) {
366
+ return serializeArrayOfBufferableToVector(this);
367
+ }
368
+ serializeArrayToSink(sink, [...this]);
350
369
  }
351
370
  }
@@ -1,6 +1,6 @@
1
1
  import { TX_CONSTANT_DATA_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
4
4
  import type { FieldsOf } from '@aztec/foundation/types';
5
5
 
6
6
  import { BlockHeader } from './block_header.js';
@@ -57,8 +57,13 @@ export class TxConstantData {
57
57
  );
58
58
  }
59
59
 
60
- toBuffer() {
61
- return serializeToBuffer(...TxConstantData.getFields(this));
60
+ toBuffer(): Buffer;
61
+ toBuffer(sink: BufferSink): void;
62
+ toBuffer(sink?: BufferSink): Buffer | void {
63
+ if (!sink) {
64
+ return BufferSink.serialize(this);
65
+ }
66
+ serializeToSink(sink, ...TxConstantData.getFields(this));
62
67
  }
63
68
 
64
69
  static empty() {
@@ -1,7 +1,7 @@
1
1
  import { TX_CONTEXT_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { schemas } from '@aztec/foundation/schemas';
4
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
4
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
5
5
  import type { FieldsOf } from '@aztec/foundation/types';
6
6
 
7
7
  import { z } from 'zod';
@@ -49,8 +49,13 @@ export class TxContext {
49
49
  * Serialize as a buffer.
50
50
  * @returns The buffer.
51
51
  */
52
- toBuffer() {
53
- return serializeToBuffer(...TxContext.getFields(this));
52
+ toBuffer(): Buffer;
53
+ toBuffer(sink: BufferSink): void;
54
+ toBuffer(sink?: BufferSink): Buffer | void {
55
+ if (!sink) {
56
+ return BufferSink.serialize(this);
57
+ }
58
+ serializeToSink(sink, ...TxContext.getFields(this));
54
59
  }
55
60
 
56
61
  static fromFields(fields: Fr[] | FieldReader): TxContext {
package/src/tx/tx_hash.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, serializeArrayOfBufferableToVector } from '@aztec/foundation/serialize';
2
+ import {
3
+ BufferReader,
4
+ type BufferSink,
5
+ serializeArrayOfBufferableToVector,
6
+ serializeArrayToSink,
7
+ } from '@aztec/foundation/serialize';
3
8
 
4
9
  import { schemas } from '../schemas/index.js';
5
10
 
@@ -34,8 +39,13 @@ export class TxHash {
34
39
  return new TxHash(value);
35
40
  }
36
41
 
37
- public toBuffer() {
38
- return this.hash.toBuffer();
42
+ public toBuffer(): Buffer;
43
+ public toBuffer(sink: BufferSink): void;
44
+ public toBuffer(sink?: BufferSink): Buffer | void {
45
+ if (!sink) {
46
+ return this.hash.toBuffer();
47
+ }
48
+ this.hash.toBuffer(sink);
39
49
  }
40
50
 
41
51
  public toString() {
@@ -82,7 +92,12 @@ export class TxHashArray extends Array<TxHash> {
82
92
  }
83
93
  }
84
94
 
85
- public toBuffer(): Buffer {
86
- return serializeArrayOfBufferableToVector([...this]);
95
+ public toBuffer(): Buffer;
96
+ public toBuffer(sink: BufferSink): void;
97
+ public toBuffer(sink?: BufferSink): Buffer | void {
98
+ if (!sink) {
99
+ return serializeArrayOfBufferableToVector([...this]);
100
+ }
101
+ serializeArrayToSink(sink, [...this]);
87
102
  }
88
103
  }
@@ -1,4 +1,12 @@
1
- import { BlockNumber, BlockNumberSchema, EpochNumber, EpochNumberSchema } from '@aztec/foundation/branded-types';
1
+ import {
2
+ BlockNumber,
3
+ BlockNumberSchema,
4
+ EpochNumber,
5
+ EpochNumberSchema,
6
+ SlotNumber,
7
+ SlotNumberSchema,
8
+ } from '@aztec/foundation/branded-types';
9
+ import type { DefineIfFlag, FieldsOf, PickDefined } from '@aztec/foundation/types';
2
10
 
3
11
  import { z } from 'zod';
4
12
 
@@ -6,6 +14,8 @@ import { RevertCode } from '../avm/revert_code.js';
6
14
  import { BlockHash } from '../block/block_hash.js';
7
15
  import { DebugLog } from '../logs/debug_log.js';
8
16
  import { type ZodFor, schemas } from '../schemas/schemas.js';
17
+ import { Tx } from './tx.js';
18
+ import { TxEffect } from './tx_effect.js';
9
19
  import { TxHash } from './tx_hash.js';
10
20
 
11
21
  /** Block inclusion/finalization status. */
@@ -28,128 +38,301 @@ export const SortedTxStatuses: TxStatus[] = [
28
38
  TxStatus.FINALIZED,
29
39
  ];
30
40
 
41
+ /** The four statuses a mined transaction can hold, ordered by finalization progress. */
42
+ export const MinedTxStatuses = [TxStatus.PROPOSED, TxStatus.CHECKPOINTED, TxStatus.PROVEN, TxStatus.FINALIZED] as const;
43
+
44
+ /** Block finalization status of a mined transaction. */
45
+ export type MinedTxStatus = (typeof MinedTxStatuses)[number];
46
+
31
47
  /** Execution result - only set when tx is in a block. */
32
48
  export enum TxExecutionResult {
33
49
  SUCCESS = 'success',
34
50
  REVERTED = 'reverted',
35
- /** @deprecated Use REVERTED instead. */
36
- // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values
37
- APP_LOGIC_REVERTED = 'reverted',
38
- /** @deprecated Use REVERTED instead. */
39
- // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values
40
- TEARDOWN_REVERTED = 'reverted',
41
- /** @deprecated Use REVERTED instead. */
42
- // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values
43
- BOTH_REVERTED = 'reverted',
51
+ }
52
+
53
+ /** Returned from a `getTxReceipt` call to the node RPC API. */
54
+ export interface TxReceiptInterface {
55
+ /** The transaction's block finalization status. */
56
+ status: TxStatus;
57
+ /** The execution result of the transaction, only set when the tx is in a block. */
58
+ executionResult?: TxExecutionResult;
59
+ /** Description of the transaction error, if any. */
60
+ error?: string;
61
+ /** The transaction fee paid for the transaction. */
62
+ transactionFee?: bigint;
63
+ /** The hash of the block containing the transaction. */
64
+ blockHash?: BlockHash;
65
+ /** The block number in which the transaction was included. */
66
+ blockNumber?: BlockNumber;
67
+ /** The slot number in which the transaction's block was built. */
68
+ slotNumber?: SlotNumber;
69
+ /** The epoch number in which the transaction was included. */
70
+ epochNumber?: EpochNumber;
71
+ /** The index of the transaction within its block. */
72
+ txIndexInBlock?: number;
73
+ /** The full transaction effect, attached when requested via `includeTxEffect`. */
74
+ txEffect?: TxEffect;
75
+ /** The pending transaction, attached when requested via `includePendingTx`. */
76
+ tx?: Tx;
77
+ /**
78
+ * Debug logs collected during public function execution. Served only when the node is in test mode and placed on
79
+ * the receipt only because it's a convenient place for it (the logs are printed out by the wallet when a mined
80
+ * tx receipt is obtained).
81
+ */
82
+ debugLogs?: DebugLog[];
83
+
84
+ /** Returns true (and narrows) if the transaction has been included in a block. */
85
+ isMined(): this is MinedTxReceipt;
86
+
87
+ /** Returns true (and narrows) if the transaction is pending. */
88
+ isPending(): this is PendingTxReceipt;
89
+
90
+ /** Returns true (and narrows) if the transaction was dropped. */
91
+ isDropped(): this is DroppedTxReceipt;
92
+
93
+ /** Returns true if the transaction was executed successfully. */
94
+ hasExecutionSucceeded(): boolean;
95
+
96
+ /** Returns true if the transaction execution reverted. */
97
+ hasExecutionReverted(): boolean;
44
98
  }
45
99
 
46
100
  /**
47
- * Represents a transaction receipt in the Aztec network.
48
- * Contains essential information about the transaction including its status, origin, and associated addresses.
49
- * REFACTOR: TxReceipt should be returned only once the tx is mined, and all its fields should be required.
50
- * We should not be using a TxReceipt to answer a query for a pending or dropped tx.
101
+ * Common surface shared by every transaction receipt variant ({@link PendingTxReceipt}, {@link DroppedTxReceipt},
102
+ * {@link MinedTxReceipt}).
103
+ *
104
+ * Every cross-variant field is declared once here, optional except for `txHash` (always present) and `status`
105
+ * (abstract, narrowed by each subclass). Declaring the fields optional on the base lets callers read a bare
106
+ * {@link TxReceipt} union (without first narrowing) and keep compiling. Use the `is*` guards to narrow to the strong
107
+ * variant type and gain access to its required fields.
51
108
  */
52
- export class TxReceipt {
109
+ abstract class TxReceiptBase {
110
+ /** The transaction's block finalization status. */
111
+ public abstract readonly status: TxStatus;
112
+ /** Description of the transaction error, if any. */
113
+ public readonly error?: string;
114
+
53
115
  constructor(
54
116
  /** A unique identifier for a transaction. */
55
- public txHash: TxHash,
56
- /** The transaction's block finalization status. */
57
- public status: TxStatus,
58
- /** The execution result of the transaction, only set when tx is in a block. */
59
- public executionResult: TxExecutionResult | undefined,
60
- /** Description of transaction error, if any. */
61
- public error: string | undefined,
62
- /** The transaction fee paid for the transaction. */
63
- public transactionFee?: bigint,
64
- /** The hash of the block containing the transaction. */
65
- public blockHash?: BlockHash,
66
- /** The block number in which the transaction was included. */
67
- public blockNumber?: BlockNumber,
68
- /** The epoch number in which the transaction was included. */
69
- public epochNumber?: EpochNumber,
70
- /**
71
- * Debug logs collected during public function execution. Served only when the node is in test mode and placed on
72
- * the receipt only because it's a convenient place for it (the logs are printed out by the wallet when a mined
73
- * tx receipt is obtained).
74
- */
75
- public debugLogs?: DebugLog[],
117
+ public readonly txHash: TxHash,
76
118
  ) {}
77
119
 
120
+ /** Returns true (and narrows) if the transaction has been included in a block. */
121
+ public isMined(): this is MinedTxReceipt {
122
+ return this instanceof MinedTxReceipt;
123
+ }
124
+
125
+ /** Returns true (and narrows) if the transaction is pending. */
126
+ public isPending(): this is PendingTxReceipt {
127
+ return this instanceof PendingTxReceipt;
128
+ }
129
+
130
+ /** Returns true (and narrows) if the transaction was dropped. */
131
+ public isDropped(): this is DroppedTxReceipt {
132
+ return this instanceof DroppedTxReceipt;
133
+ }
134
+
78
135
  /** Returns true if the transaction was executed successfully. */
79
- hasExecutionSucceeded(): boolean {
80
- return this.executionResult === TxExecutionResult.SUCCESS;
136
+ public hasExecutionSucceeded(): boolean {
137
+ return false;
81
138
  }
82
139
 
83
140
  /** Returns true if the transaction execution reverted. */
84
- hasExecutionReverted(): boolean {
85
- return this.executionResult !== undefined && this.executionResult !== TxExecutionResult.SUCCESS;
141
+ public hasExecutionReverted(): boolean {
142
+ return false;
86
143
  }
144
+ }
87
145
 
88
- /** Returns true if the transaction has been included in a block (proposed, checkpointed, proven, or finalized). */
89
- isMined(): boolean {
90
- return (
91
- this.status === TxStatus.PROPOSED ||
92
- this.status === TxStatus.CHECKPOINTED ||
93
- this.status === TxStatus.PROVEN ||
94
- this.status === TxStatus.FINALIZED
95
- );
146
+ abstract class UnminedTxReceipt extends TxReceiptBase {
147
+ public readonly executionResult: undefined = undefined;
148
+ public readonly transactionFee: undefined = undefined;
149
+ public readonly blockHash: undefined = undefined;
150
+ public readonly blockNumber: undefined = undefined;
151
+ public readonly slotNumber: undefined = undefined;
152
+ public readonly txIndexInBlock: undefined = undefined;
153
+ public readonly epochNumber: undefined = undefined;
154
+ public readonly txEffect: undefined = undefined;
155
+ }
156
+
157
+ /**
158
+ * Receipt for a transaction that is in the mempool but not yet included in a block.
159
+ */
160
+ export class PendingTxReceipt<Opts extends GetTxReceiptOptions = GetTxReceiptOptions>
161
+ extends UnminedTxReceipt
162
+ implements TxReceiptInterface
163
+ {
164
+ public override readonly status = TxStatus.PENDING;
165
+
166
+ constructor(
167
+ txHash: TxHash,
168
+ /** The pending transaction, attached when requested via `includePendingTx`. */
169
+ public readonly tx: DefineIfFlag<Opts, 'includePendingTx', Tx>,
170
+ ) {
171
+ super(txHash);
172
+ }
173
+
174
+ static empty(): PendingTxReceipt {
175
+ return new PendingTxReceipt(TxHash.zero(), undefined);
176
+ }
177
+
178
+ static from(fields: PickDefined<FieldsOf<PendingTxReceipt>>): PendingTxReceipt {
179
+ return new PendingTxReceipt(fields.txHash, fields.tx);
180
+ }
181
+
182
+ static get schema(): ZodFor<PendingTxReceipt> {
183
+ return z
184
+ .object({
185
+ txHash: TxHash.schema,
186
+ status: z.literal(TxStatus.PENDING),
187
+ tx: Tx.schema.optional(),
188
+ })
189
+ .transform(fields => PendingTxReceipt.from({ tx: undefined, ...fields }));
96
190
  }
191
+ }
192
+
193
+ /**
194
+ * Receipt for a transaction that was dropped from the mempool without being mined.
195
+ */
196
+ export class DroppedTxReceipt extends UnminedTxReceipt implements TxReceiptInterface {
197
+ public override readonly status = TxStatus.DROPPED;
198
+
199
+ public tx: undefined = undefined;
97
200
 
98
- /** Returns true if the transaction is pending. */
99
- isPending(): boolean {
100
- return this.status === TxStatus.PENDING;
201
+ constructor(
202
+ txHash: TxHash,
203
+ public override readonly error?: string,
204
+ ) {
205
+ super(txHash);
101
206
  }
102
207
 
103
- /** Returns true if the transaction was dropped. */
104
- isDropped(): boolean {
105
- return this.status === TxStatus.DROPPED;
208
+ static empty(): DroppedTxReceipt {
209
+ return new DroppedTxReceipt(TxHash.zero());
106
210
  }
107
211
 
108
- static empty() {
109
- return new TxReceipt(TxHash.zero(), TxStatus.DROPPED, undefined, undefined);
212
+ static from(fields: PickDefined<FieldsOf<DroppedTxReceipt>>): DroppedTxReceipt {
213
+ return new DroppedTxReceipt(fields.txHash, fields.error);
110
214
  }
111
215
 
112
- static get schema(): ZodFor<TxReceipt> {
216
+ static get schema(): ZodFor<DroppedTxReceipt> {
113
217
  return z
114
218
  .object({
115
219
  txHash: TxHash.schema,
116
- status: z.nativeEnum(TxStatus),
117
- executionResult: z.nativeEnum(TxExecutionResult).optional(),
220
+ status: z.literal(TxStatus.DROPPED),
118
221
  error: z.string().optional(),
119
- blockHash: BlockHash.schema.optional(),
120
- blockNumber: BlockNumberSchema.optional(),
121
- epochNumber: EpochNumberSchema.optional(),
122
- transactionFee: schemas.BigInt.optional(),
123
- debugLogs: z.array(DebugLog.schema).optional(),
124
222
  })
125
- .transform(fields => TxReceipt.from(fields));
126
- }
127
-
128
- static from(fields: {
129
- txHash: TxHash;
130
- status: TxStatus;
131
- executionResult?: TxExecutionResult;
132
- error?: string;
133
- transactionFee?: bigint;
134
- blockHash?: BlockHash;
135
- blockNumber?: BlockNumber;
136
- epochNumber?: EpochNumber;
137
- debugLogs?: DebugLog[];
138
- }) {
139
- return new TxReceipt(
223
+ .transform(DroppedTxReceipt.from);
224
+ }
225
+ }
226
+
227
+ /**
228
+ * Receipt for a transaction that has been included in a block (proposed, checkpointed, proven, or finalized).
229
+ * All block-related fields are required for this variant.
230
+ */
231
+ export class MinedTxReceipt<Opts extends GetTxReceiptOptions = GetTxReceiptOptions>
232
+ extends TxReceiptBase
233
+ implements TxReceiptInterface
234
+ {
235
+ public override readonly status: MinedTxStatus;
236
+
237
+ public readonly tx = undefined;
238
+
239
+ constructor(
240
+ txHash: TxHash,
241
+ status: MinedTxStatus,
242
+ public readonly executionResult: TxExecutionResult,
243
+ public readonly transactionFee: bigint,
244
+ public readonly blockHash: BlockHash,
245
+ public readonly blockNumber: BlockNumber,
246
+ public readonly slotNumber: SlotNumber,
247
+ public readonly txIndexInBlock: number,
248
+ public readonly epochNumber: EpochNumber,
249
+ public readonly txEffect: DefineIfFlag<Opts, 'includeTxEffect', TxEffect>,
250
+ public debugLogs?: DebugLog[],
251
+ ) {
252
+ super(txHash);
253
+ this.status = status;
254
+ }
255
+
256
+ public override hasExecutionSucceeded(): boolean {
257
+ return this.executionResult === TxExecutionResult.SUCCESS;
258
+ }
259
+
260
+ public override hasExecutionReverted(): boolean {
261
+ return this.executionResult !== TxExecutionResult.SUCCESS;
262
+ }
263
+
264
+ static from(fields: PickDefined<FieldsOf<MinedTxReceipt>>): MinedTxReceipt {
265
+ return new MinedTxReceipt(
140
266
  fields.txHash,
141
267
  fields.status,
142
268
  fields.executionResult,
143
- fields.error,
144
269
  fields.transactionFee,
145
270
  fields.blockHash,
146
271
  fields.blockNumber,
272
+ fields.slotNumber,
273
+ fields.txIndexInBlock,
147
274
  fields.epochNumber,
275
+ fields.txEffect,
148
276
  fields.debugLogs,
149
277
  );
150
278
  }
151
279
 
280
+ static get schema(): ZodFor<MinedTxReceipt> {
281
+ return z
282
+ .object({
283
+ txHash: TxHash.schema,
284
+ status: z.enum([TxStatus.PROPOSED, TxStatus.CHECKPOINTED, TxStatus.PROVEN, TxStatus.FINALIZED]),
285
+ executionResult: z.nativeEnum(TxExecutionResult),
286
+ transactionFee: schemas.BigInt,
287
+ blockHash: BlockHash.schema,
288
+ blockNumber: BlockNumberSchema,
289
+ slotNumber: SlotNumberSchema,
290
+ txIndexInBlock: schemas.Integer,
291
+ epochNumber: EpochNumberSchema,
292
+ txEffect: TxEffect.schema.optional(),
293
+ debugLogs: z.array(DebugLog.schema).optional(),
294
+ })
295
+ .transform(fields => MinedTxReceipt.from({ txEffect: undefined, ...fields }));
296
+ }
297
+
152
298
  public static executionResultFromRevertCode(revertCode: RevertCode): TxExecutionResult {
153
299
  return revertCode.isOK() ? TxExecutionResult.SUCCESS : TxExecutionResult.REVERTED;
154
300
  }
155
301
  }
302
+
303
+ /**
304
+ * A transaction receipt summarizing the lifecycle of a transaction in the Aztec network. Discriminated over the
305
+ * transaction's status: {@link PendingTxReceipt} while in the mempool, {@link DroppedTxReceipt} once dropped, and
306
+ * {@link MinedTxReceipt} once included in a block.
307
+ */
308
+ export type TxReceipt<Opts extends GetTxReceiptOptions = GetTxReceiptOptions> =
309
+ | PendingTxReceipt<Opts>
310
+ | DroppedTxReceipt
311
+ | MinedTxReceipt<Opts>;
312
+
313
+ /**
314
+ * Zod schema for {@link TxReceipt}. Each member constrains its `status` field so the union routes
315
+ * unambiguously, giving a deterministic serialization round-trip.
316
+ */
317
+ export const TxReceiptSchema: ZodFor<TxReceipt> = z.union([
318
+ PendingTxReceipt.schema,
319
+ DroppedTxReceipt.schema,
320
+ MinedTxReceipt.schema,
321
+ ]) as ZodFor<TxReceipt>;
322
+
323
+ /** Options controlling which optional data is attached to a {@link TxReceipt}. */
324
+ export type GetTxReceiptOptions = {
325
+ /** Attach the full {@link TxEffect} (mined txs only). */
326
+ includeTxEffect?: boolean;
327
+ /** Attach the pending {@link Tx} (pending txs only). */
328
+ includePendingTx?: boolean;
329
+ /** Keep the proof on the attached pending {@link Tx}; only meaningful alongside `includePendingTx`. */
330
+ includeProof?: boolean;
331
+ };
332
+
333
+ /** Zod schema for {@link GetTxReceiptOptions}. */
334
+ export const GetTxReceiptOptionsSchema: ZodFor<GetTxReceiptOptions> = z.object({
335
+ includeTxEffect: z.boolean().optional(),
336
+ includePendingTx: z.boolean().optional(),
337
+ includeProof: z.boolean().optional(),
338
+ });
@@ -15,10 +15,7 @@ export function hasPublicCalls(tx: AnyTx): boolean {
15
15
  return tx.data.numberOfPublicCallRequests() > 0;
16
16
  }
17
17
 
18
- export type TxValidationResult =
19
- | { result: 'valid' }
20
- | { result: 'invalid'; reason: string[] }
21
- | { result: 'skipped'; reason: string[] };
18
+ export type TxValidationResult = { result: 'valid' } | { result: 'invalid'; reason: string[] };
22
19
 
23
20
  export interface TxValidator<T = AnyTx> {
24
21
  validateTx(tx: T): Promise<TxValidationResult>;
@@ -28,6 +25,5 @@ export const TxValidationResultSchema = zodFor<TxValidationResult>()(
28
25
  z.discriminatedUnion('result', [
29
26
  z.object({ result: z.literal('valid') }),
30
27
  z.object({ result: z.literal('invalid'), reason: z.array(z.string()) }),
31
- z.object({ result: z.literal('skipped'), reason: z.array(z.string()) }),
32
28
  ]),
33
29
  );
@@ -1,4 +1,4 @@
1
- import { type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize';
1
+ import { BufferSink, type Bufferable, type Sinkable, serializeToSink } from '@aztec/foundation/serialize';
2
2
 
3
3
  /**
4
4
  * Implementation of a vector. Matches how we are serializing and deserializing vectors in cpp (length in the first position, followed by the items).
@@ -11,8 +11,13 @@ export class Vector<T extends Bufferable> {
11
11
  public items: T[],
12
12
  ) {}
13
13
 
14
- toBuffer() {
15
- return serializeToBuffer(this.items.length, this.items);
14
+ toBuffer(): Buffer;
15
+ toBuffer(sink: BufferSink): void;
16
+ toBuffer(sink?: BufferSink): Buffer | void {
17
+ if (!sink) {
18
+ return BufferSink.serialize(this);
19
+ }
20
+ serializeToSink(sink, this.items.length, this.items as Sinkable[]);
16
21
  }
17
22
 
18
23
  toFriendlyJSON() {
@@ -0,0 +1,2 @@
1
+ /** Placeholder version returned when running from a local monorepo checkout rather than an npm-installed package. */
2
+ export const DEV_VERSION = 'dev';