@aztec/stdlib 5.0.0-private.20260319 → 5.0.0-rc.1

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 (929) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +31 -7
  12. package/dest/abi/decoder.d.ts +5 -44
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +12 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +32 -6
  18. package/dest/abi/event_selector.d.ts +4 -7
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +7 -25
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_selector.d.ts +3 -6
  23. package/dest/abi/function_selector.d.ts.map +1 -1
  24. package/dest/abi/function_selector.js +2 -4
  25. package/dest/abi/function_signature_decoder.d.ts +43 -0
  26. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  27. package/dest/abi/function_signature_decoder.js +66 -0
  28. package/dest/abi/index.d.ts +2 -1
  29. package/dest/abi/index.d.ts.map +1 -1
  30. package/dest/abi/index.js +1 -0
  31. package/dest/abi/note_selector.d.ts +4 -7
  32. package/dest/abi/note_selector.d.ts.map +1 -1
  33. package/dest/abi/note_selector.js +1 -3
  34. package/dest/abi/selector.d.ts +2 -2
  35. package/dest/abi/selector.d.ts.map +1 -1
  36. package/dest/abi/selector.js +1 -1
  37. package/dest/abi/utils.d.ts +1 -1
  38. package/dest/abi/utils.d.ts.map +1 -1
  39. package/dest/abi/utils.js +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -2
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/avm/avm.d.ts +1756 -10463
  43. package/dest/avm/avm.d.ts.map +1 -1
  44. package/dest/avm/avm.js +6 -3
  45. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  46. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  48. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  49. package/dest/avm/avm_proving_request.d.ts +653 -5446
  50. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  51. package/dest/avm/message_pack.js +12 -3
  52. package/dest/avm/public_data_write.d.ts +6 -12
  53. package/dest/avm/public_data_write.d.ts.map +1 -1
  54. package/dest/avm/revert_code.d.ts +5 -21
  55. package/dest/avm/revert_code.d.ts.map +1 -1
  56. package/dest/avm/revert_code.js +12 -30
  57. package/dest/aztec-address/index.d.ts +8 -8
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +9 -6
  60. package/dest/block/attestation_info.d.ts +3 -2
  61. package/dest/block/attestation_info.d.ts.map +1 -1
  62. package/dest/block/attestation_info.js +7 -5
  63. package/dest/block/block_data.d.ts +13 -38
  64. package/dest/block/block_data.d.ts.map +1 -1
  65. package/dest/block/block_data.js +2 -2
  66. package/dest/block/block_hash.d.ts +11 -10
  67. package/dest/block/block_hash.d.ts.map +1 -1
  68. package/dest/block/block_hash.js +10 -9
  69. package/dest/block/block_parameter.d.ts +37 -4
  70. package/dest/block/block_parameter.d.ts.map +1 -1
  71. package/dest/block/block_parameter.js +53 -2
  72. package/dest/block/in_block.d.ts +5 -24
  73. package/dest/block/in_block.d.ts.map +1 -1
  74. package/dest/block/index.d.ts +1 -2
  75. package/dest/block/index.d.ts.map +1 -1
  76. package/dest/block/index.js +0 -1
  77. package/dest/block/l2_block.d.ts +13 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block_info.d.ts +10 -29
  80. package/dest/block/l2_block_info.d.ts.map +1 -1
  81. package/dest/block/l2_block_info.js +6 -5
  82. package/dest/block/l2_block_source.d.ts +216 -357
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +67 -1
  85. package/dest/block/l2_block_stream/interfaces.d.ts +46 -7
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/l2_block_stream.js +57 -21
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  93. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +12 -18
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_tips_store_base.js +66 -40
  96. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  97. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  98. package/dest/block/proposal/attestations_and_signers.js +26 -18
  99. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  100. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.js +202 -33
  104. package/dest/checkpoint/checkpoint.d.ts +30 -96
  105. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  106. package/dest/checkpoint/checkpoint.js +11 -3
  107. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  108. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint_data.js +12 -0
  110. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  111. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  115. package/dest/checkpoint/digest.d.ts +18 -0
  116. package/dest/checkpoint/digest.d.ts.map +1 -0
  117. package/dest/checkpoint/digest.js +12 -0
  118. package/dest/checkpoint/index.d.ts +4 -1
  119. package/dest/checkpoint/index.d.ts.map +1 -1
  120. package/dest/checkpoint/index.js +3 -0
  121. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  124. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  125. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  126. package/dest/checkpoint/validate.d.ts +11 -3
  127. package/dest/checkpoint/validate.d.ts.map +1 -1
  128. package/dest/checkpoint/validate.js +9 -6
  129. package/dest/config/chain-config.d.ts +4 -9
  130. package/dest/config/chain-config.d.ts.map +1 -1
  131. package/dest/config/chain-config.js +13 -12
  132. package/dest/config/index.d.ts +2 -2
  133. package/dest/config/index.d.ts.map +1 -1
  134. package/dest/config/index.js +1 -1
  135. package/dest/config/network-consensus-config.d.ts +72 -0
  136. package/dest/config/network-consensus-config.d.ts.map +1 -0
  137. package/dest/config/network-consensus-config.js +231 -0
  138. package/dest/config/sequencer-config.d.ts +7 -3
  139. package/dest/config/sequencer-config.d.ts.map +1 -1
  140. package/dest/config/sequencer-config.js +38 -5
  141. package/dest/contract/complete_address.d.ts +3 -2
  142. package/dest/contract/complete_address.d.ts.map +1 -1
  143. package/dest/contract/complete_address.js +6 -2
  144. package/dest/contract/contract_address.d.ts +5 -5
  145. package/dest/contract/contract_address.d.ts.map +1 -1
  146. package/dest/contract/contract_address.js +5 -4
  147. package/dest/contract/contract_deployment_data.d.ts +15 -61
  148. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  149. package/dest/contract/contract_instance.d.ts +4 -2
  150. package/dest/contract/contract_instance.d.ts.map +1 -1
  151. package/dest/contract/contract_instance.js +10 -3
  152. package/dest/contract/index.d.ts +1 -3
  153. package/dest/contract/index.d.ts.map +1 -1
  154. package/dest/contract/index.js +0 -2
  155. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  156. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  157. package/dest/contract/interfaces/contract_class.js +1 -28
  158. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  159. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  160. package/dest/contract/interfaces/contract_instance.js +4 -2
  161. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  162. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  163. package/dest/contract/interfaces/node-info.d.ts +11 -1
  164. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  165. package/dest/contract/interfaces/node-info.js +7 -1
  166. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  167. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  168. package/dest/contract/private_function.d.ts +1 -1
  169. package/dest/contract/private_function.d.ts.map +1 -1
  170. package/dest/contract/private_function.js +2 -4
  171. package/dest/database-version/database_version.d.ts +5 -11
  172. package/dest/database-version/database_version.d.ts.map +1 -1
  173. package/dest/database-version/version_manager.d.ts +6 -2
  174. package/dest/database-version/version_manager.d.ts.map +1 -1
  175. package/dest/database-version/version_manager.js +12 -1
  176. package/dest/deserialization/index.d.ts +35 -3
  177. package/dest/deserialization/index.d.ts.map +1 -1
  178. package/dest/deserialization/index.js +32 -1
  179. package/dest/epoch-helpers/index.d.ts +10 -22
  180. package/dest/epoch-helpers/index.d.ts.map +1 -1
  181. package/dest/epoch-helpers/index.js +12 -0
  182. package/dest/file-store/factory.d.ts +4 -3
  183. package/dest/file-store/factory.d.ts.map +1 -1
  184. package/dest/file-store/factory.js +2 -2
  185. package/dest/file-store/http.d.ts +9 -2
  186. package/dest/file-store/http.d.ts.map +1 -1
  187. package/dest/file-store/http.js +20 -9
  188. package/dest/file-store/index.d.ts +2 -1
  189. package/dest/file-store/index.d.ts.map +1 -1
  190. package/dest/gas/fee_math.d.ts +49 -0
  191. package/dest/gas/fee_math.d.ts.map +1 -0
  192. package/dest/gas/fee_math.js +80 -0
  193. package/dest/gas/gas.d.ts +9 -14
  194. package/dest/gas/gas.d.ts.map +1 -1
  195. package/dest/gas/gas.js +6 -3
  196. package/dest/gas/gas_fees.d.ts +13 -14
  197. package/dest/gas/gas_fees.d.ts.map +1 -1
  198. package/dest/gas/gas_fees.js +17 -4
  199. package/dest/gas/gas_settings.d.ts +60 -86
  200. package/dest/gas/gas_settings.d.ts.map +1 -1
  201. package/dest/gas/gas_settings.js +49 -9
  202. package/dest/gas/index.d.ts +3 -1
  203. package/dest/gas/index.d.ts.map +1 -1
  204. package/dest/gas/index.js +2 -0
  205. package/dest/gas/tx_gas_limits.d.ts +72 -0
  206. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  207. package/dest/gas/tx_gas_limits.js +85 -0
  208. package/dest/ha-signing/config.d.ts +11 -75
  209. package/dest/ha-signing/config.d.ts.map +1 -1
  210. package/dest/ha-signing/config.js +9 -18
  211. package/dest/ha-signing/index.d.ts +2 -2
  212. package/dest/ha-signing/index.d.ts.map +1 -1
  213. package/dest/ha-signing/index.js +1 -1
  214. package/dest/ha-signing/local_config.d.ts +3 -34
  215. package/dest/ha-signing/local_config.d.ts.map +1 -1
  216. package/dest/ha-signing/local_config.js +2 -2
  217. package/dest/ha-signing/types.d.ts +37 -32
  218. package/dest/ha-signing/types.d.ts.map +1 -1
  219. package/dest/ha-signing/types.js +13 -6
  220. package/dest/hash/hash.d.ts +19 -1
  221. package/dest/hash/hash.d.ts.map +1 -1
  222. package/dest/hash/hash.js +39 -2
  223. package/dest/interfaces/allowed_element.d.ts +4 -28
  224. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  225. package/dest/interfaces/api_limit.d.ts +1 -1
  226. package/dest/interfaces/api_limit.js +1 -1
  227. package/dest/interfaces/archiver.d.ts +20 -32
  228. package/dest/interfaces/archiver.d.ts.map +1 -1
  229. package/dest/interfaces/archiver.js +215 -70
  230. package/dest/interfaces/aztec-node-admin.d.ts +71 -305
  231. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  232. package/dest/interfaces/aztec-node-admin.js +60 -17
  233. package/dest/interfaces/aztec-node-debug.d.ts +34 -0
  234. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  235. package/dest/interfaces/aztec-node-debug.js +29 -0
  236. package/dest/interfaces/aztec-node.d.ts +156 -112
  237. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  238. package/dest/interfaces/aztec-node.js +354 -71
  239. package/dest/interfaces/block-builder.d.ts +5 -1
  240. package/dest/interfaces/block-builder.d.ts.map +1 -1
  241. package/dest/interfaces/block_response.d.ts +90 -0
  242. package/dest/interfaces/block_response.d.ts.map +1 -0
  243. package/dest/interfaces/block_response.js +30 -0
  244. package/dest/interfaces/chain_tips.d.ts +50 -0
  245. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  246. package/dest/interfaces/chain_tips.js +11 -0
  247. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  248. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  249. package/dest/interfaces/checkpoint_parameter.js +18 -0
  250. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  251. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  252. package/dest/interfaces/checkpoint_response.js +26 -0
  253. package/dest/interfaces/client.d.ts +9 -2
  254. package/dest/interfaces/client.d.ts.map +1 -1
  255. package/dest/interfaces/client.js +7 -1
  256. package/dest/interfaces/configs.d.ts +63 -134
  257. package/dest/interfaces/configs.d.ts.map +1 -1
  258. package/dest/interfaces/configs.js +13 -2
  259. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  260. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  261. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  262. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  263. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  264. package/dest/interfaces/l1_publish_info.js +26 -0
  265. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  266. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  267. package/dest/interfaces/l2_logs_source.js +5 -0
  268. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  269. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  270. package/dest/interfaces/p2p-bootstrap.js +8 -2
  271. package/dest/interfaces/p2p.d.ts +46 -7
  272. package/dest/interfaces/p2p.d.ts.map +1 -1
  273. package/dest/interfaces/p2p.js +41 -6
  274. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  275. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  276. package/dest/interfaces/prover-agent.d.ts +5 -23
  277. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  278. package/dest/interfaces/prover-agent.js +4 -1
  279. package/dest/interfaces/prover-client.d.ts +7 -29
  280. package/dest/interfaces/prover-client.d.ts.map +1 -1
  281. package/dest/interfaces/prover-client.js +0 -3
  282. package/dest/interfaces/prover-node.d.ts +8 -3
  283. package/dest/interfaces/prover-node.d.ts.map +1 -1
  284. package/dest/interfaces/prover-node.js +30 -14
  285. package/dest/interfaces/proving-job-source.js +24 -4
  286. package/dest/interfaces/proving-job.d.ts +763 -5814
  287. package/dest/interfaces/proving-job.d.ts.map +1 -1
  288. package/dest/interfaces/proving-job.js +1 -1
  289. package/dest/interfaces/public_storage_override.d.ts +22 -0
  290. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  291. package/dest/interfaces/public_storage_override.js +7 -0
  292. package/dest/interfaces/server.d.ts +6 -2
  293. package/dest/interfaces/server.d.ts.map +1 -1
  294. package/dest/interfaces/server.js +5 -1
  295. package/dest/interfaces/slasher.d.ts +25 -65
  296. package/dest/interfaces/slasher.d.ts.map +1 -1
  297. package/dest/interfaces/slasher.js +8 -4
  298. package/dest/interfaces/tx_provider.d.ts +6 -1
  299. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  300. package/dest/interfaces/validator.d.ts +55 -248
  301. package/dest/interfaces/validator.d.ts.map +1 -1
  302. package/dest/interfaces/validator.js +8 -2
  303. package/dest/interfaces/world_state.d.ts +2 -2
  304. package/dest/interfaces/world_state.d.ts.map +1 -1
  305. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  306. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  307. package/dest/kernel/hints/key_validation_request.js +20 -18
  308. package/dest/kernel/index.d.ts +5 -1
  309. package/dest/kernel/index.d.ts.map +1 -1
  310. package/dest/kernel/index.js +4 -0
  311. package/dest/kernel/log_hash.d.ts +6 -2
  312. package/dest/kernel/log_hash.d.ts.map +1 -1
  313. package/dest/kernel/log_hash.js +21 -9
  314. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  315. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  316. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  317. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  318. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  319. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  320. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  321. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  322. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  323. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  324. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  325. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  326. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  327. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  328. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  329. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  330. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  331. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  332. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  333. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  334. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  335. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  336. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  337. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  338. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  339. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  340. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  341. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  342. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  344. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  345. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  346. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  347. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  348. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  349. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  350. package/dest/kernel/public_call_request.d.ts +15 -30
  351. package/dest/kernel/public_call_request.d.ts.map +1 -1
  352. package/dest/kernel/public_call_request.js +16 -7
  353. package/dest/keys/derivation.d.ts +6 -2
  354. package/dest/keys/derivation.d.ts.map +1 -1
  355. package/dest/keys/derivation.js +16 -6
  356. package/dest/keys/public_key.d.ts +22 -3
  357. package/dest/keys/public_key.d.ts.map +1 -1
  358. package/dest/keys/public_key.js +20 -1
  359. package/dest/keys/public_keys.d.ts +55 -82
  360. package/dest/keys/public_keys.d.ts.map +1 -1
  361. package/dest/keys/public_keys.js +102 -74
  362. package/dest/kv-store/config.d.ts +3 -6
  363. package/dest/kv-store/config.d.ts.map +1 -1
  364. package/dest/kv-store/config.js +2 -7
  365. package/dest/l1-contracts/index.d.ts +2 -2
  366. package/dest/l1-contracts/index.d.ts.map +1 -1
  367. package/dest/l1-contracts/index.js +1 -1
  368. package/dest/logs/app_tagging_secret.d.ts +46 -0
  369. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  370. package/dest/logs/app_tagging_secret.js +109 -0
  371. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  372. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  373. package/dest/logs/app_tagging_secret_kind.js +17 -0
  374. package/dest/logs/contract_class_log.d.ts +16 -34
  375. package/dest/logs/contract_class_log.d.ts.map +1 -1
  376. package/dest/logs/contract_class_log.js +11 -9
  377. package/dest/logs/index.d.ts +7 -7
  378. package/dest/logs/index.d.ts.map +1 -1
  379. package/dest/logs/index.js +6 -6
  380. package/dest/logs/log_cursor.d.ts +51 -0
  381. package/dest/logs/log_cursor.d.ts.map +1 -0
  382. package/dest/logs/log_cursor.js +82 -0
  383. package/dest/logs/log_result.d.ts +54 -0
  384. package/dest/logs/log_result.d.ts.map +1 -0
  385. package/dest/logs/log_result.js +56 -0
  386. package/dest/logs/logs_query.d.ts +82 -0
  387. package/dest/logs/logs_query.d.ts.map +1 -0
  388. package/dest/logs/logs_query.js +50 -0
  389. package/dest/logs/message_context.d.ts +6 -8
  390. package/dest/logs/message_context.d.ts.map +1 -1
  391. package/dest/logs/message_context.js +27 -9
  392. package/dest/logs/pending_tagged_log.d.ts +2 -3
  393. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  394. package/dest/logs/pending_tagged_log.js +2 -2
  395. package/dest/logs/pre_tag.d.ts +11 -24
  396. package/dest/logs/pre_tag.d.ts.map +1 -1
  397. package/dest/logs/pre_tag.js +2 -2
  398. package/dest/logs/private_log.d.ts +7 -12
  399. package/dest/logs/private_log.d.ts.map +1 -1
  400. package/dest/logs/private_log.js +6 -3
  401. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  402. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  403. package/dest/logs/query_all_logs_by_tags.js +64 -0
  404. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  405. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  406. package/dest/logs/shared_secret_derivation.js +15 -9
  407. package/dest/logs/siloed_tag.d.ts +8 -7
  408. package/dest/logs/siloed_tag.d.ts.map +1 -1
  409. package/dest/logs/siloed_tag.js +13 -3
  410. package/dest/logs/tag.d.ts +5 -6
  411. package/dest/logs/tag.d.ts.map +1 -1
  412. package/dest/logs/tag.js +4 -0
  413. package/dest/logs/tagging_index_range.d.ts +13 -31
  414. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  415. package/dest/logs/tagging_index_range.js +2 -2
  416. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  417. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  418. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  419. package/dest/messaging/index.d.ts +2 -1
  420. package/dest/messaging/index.d.ts.map +1 -1
  421. package/dest/messaging/index.js +1 -0
  422. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  423. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  424. package/dest/messaging/l1_to_l2_message.js +11 -13
  425. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  426. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  427. package/dest/messaging/l2_to_l1_membership.js +72 -12
  428. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  429. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  430. package/dest/messaging/l2_to_l1_message.js +21 -12
  431. package/dest/noir/index.d.ts +3 -1
  432. package/dest/noir/index.d.ts.map +1 -1
  433. package/dest/note/note.d.ts +2 -2
  434. package/dest/note/note.d.ts.map +1 -1
  435. package/dest/note/note_dao.d.ts +1 -1
  436. package/dest/note/note_dao.d.ts.map +1 -1
  437. package/dest/note/note_dao.js +1 -4
  438. package/dest/p2p/block_proposal.d.ts +31 -14
  439. package/dest/p2p/block_proposal.d.ts.map +1 -1
  440. package/dest/p2p/block_proposal.js +57 -39
  441. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  442. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  443. package/dest/p2p/checkpoint_attestation.js +23 -24
  444. package/dest/p2p/checkpoint_proposal.d.ts +35 -16
  445. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  446. package/dest/p2p/checkpoint_proposal.js +59 -51
  447. package/dest/p2p/consensus_payload.d.ts +26 -20
  448. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  449. package/dest/p2p/consensus_payload.js +38 -19
  450. package/dest/p2p/gossipable.d.ts +4 -4
  451. package/dest/p2p/gossipable.d.ts.map +1 -1
  452. package/dest/p2p/signature_utils.d.ts +28 -19
  453. package/dest/p2p/signature_utils.d.ts.map +1 -1
  454. package/dest/p2p/signature_utils.js +118 -21
  455. package/dest/p2p/signed_txs.d.ts +15 -13
  456. package/dest/p2p/signed_txs.d.ts.map +1 -1
  457. package/dest/p2p/signed_txs.js +26 -24
  458. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  459. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  460. package/dest/parity/parity_base_private_inputs.js +7 -5
  461. package/dest/parity/parity_public_inputs.d.ts +8 -4
  462. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  463. package/dest/parity/parity_public_inputs.js +6 -3
  464. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  465. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  466. package/dest/proofs/chonk_proof.d.ts +57 -7
  467. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  468. package/dest/proofs/chonk_proof.js +112 -15
  469. package/dest/proofs/recursive_proof.d.ts +2 -2
  470. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  471. package/dest/rollup/block_headers_hash.d.ts +1 -1
  472. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  473. package/dest/rollup/block_headers_hash.js +8 -2
  474. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  475. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  476. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  477. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  478. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  479. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  480. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  481. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  482. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  483. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  484. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  485. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  486. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  487. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  488. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  489. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  490. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  491. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  492. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  493. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  494. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  495. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  496. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  497. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  498. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  499. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  500. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  501. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  502. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  503. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  504. package/dest/schemas/schemas.d.ts +32 -78
  505. package/dest/schemas/schemas.d.ts.map +1 -1
  506. package/dest/schemas/schemas.js +2 -2
  507. package/dest/slashing/helpers.d.ts +2 -2
  508. package/dest/slashing/helpers.d.ts.map +1 -1
  509. package/dest/slashing/helpers.js +10 -7
  510. package/dest/slashing/index.d.ts +2 -3
  511. package/dest/slashing/index.d.ts.map +1 -1
  512. package/dest/slashing/index.js +1 -2
  513. package/dest/slashing/serialization.d.ts +2 -6
  514. package/dest/slashing/serialization.d.ts.map +1 -1
  515. package/dest/slashing/serialization.js +0 -60
  516. package/dest/slashing/types.d.ts +18 -112
  517. package/dest/slashing/types.d.ts.map +1 -1
  518. package/dest/slashing/types.js +16 -24
  519. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  520. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  521. package/dest/slashing/{tally.js → votes.js} +1 -1
  522. package/dest/snapshots/types.d.ts +15 -78
  523. package/dest/snapshots/types.d.ts.map +1 -1
  524. package/dest/stats/stats.d.ts +2 -2
  525. package/dest/stats/stats.d.ts.map +1 -1
  526. package/dest/tests/factories.d.ts +25 -32
  527. package/dest/tests/factories.d.ts.map +1 -1
  528. package/dest/tests/factories.js +85 -82
  529. package/dest/tests/mocks.d.ts +8 -5
  530. package/dest/tests/mocks.d.ts.map +1 -1
  531. package/dest/tests/mocks.js +45 -56
  532. package/dest/timetable/budgets.d.ts +57 -0
  533. package/dest/timetable/budgets.d.ts.map +1 -0
  534. package/dest/timetable/budgets.js +56 -0
  535. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  536. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  537. package/dest/timetable/build_proposer_timetable.js +17 -0
  538. package/dest/timetable/consensus_timetable.d.ts +70 -0
  539. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  540. package/dest/timetable/consensus_timetable.js +89 -0
  541. package/dest/timetable/index.d.ts +5 -37
  542. package/dest/timetable/index.d.ts.map +1 -1
  543. package/dest/timetable/index.js +4 -39
  544. package/dest/timetable/proposer_timetable.d.ts +106 -0
  545. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  546. package/dest/timetable/proposer_timetable.js +132 -0
  547. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  548. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  549. package/dest/trees/append_only_tree_snapshot.js +6 -3
  550. package/dest/trees/nullifier_leaf.d.ts +19 -42
  551. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  552. package/dest/trees/nullifier_leaf.js +3 -0
  553. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  554. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  555. package/dest/trees/nullifier_membership_witness.js +2 -14
  556. package/dest/trees/public_data_leaf.d.ts +21 -53
  557. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  558. package/dest/trees/public_data_witness.d.ts +16 -58
  559. package/dest/trees/public_data_witness.d.ts.map +1 -1
  560. package/dest/tx/block_header.d.ts +5 -4
  561. package/dest/tx/block_header.d.ts.map +1 -1
  562. package/dest/tx/block_header.js +7 -4
  563. package/dest/tx/call_context.d.ts +4 -14
  564. package/dest/tx/call_context.d.ts.map +1 -1
  565. package/dest/tx/capsule.d.ts +7 -3
  566. package/dest/tx/capsule.d.ts.map +1 -1
  567. package/dest/tx/capsule.js +9 -3
  568. package/dest/tx/fee_provider.d.ts +10 -0
  569. package/dest/tx/fee_provider.d.ts.map +1 -0
  570. package/dest/tx/fee_provider.js +1 -0
  571. package/dest/tx/function_data.d.ts +4 -10
  572. package/dest/tx/function_data.d.ts.map +1 -1
  573. package/dest/tx/global_variable_builder.d.ts +3 -4
  574. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  575. package/dest/tx/global_variables.d.ts +16 -49
  576. package/dest/tx/global_variables.d.ts.map +1 -1
  577. package/dest/tx/global_variables.js +8 -12
  578. package/dest/tx/hashed_values.d.ts +4 -3
  579. package/dest/tx/hashed_values.d.ts.map +1 -1
  580. package/dest/tx/hashed_values.js +6 -3
  581. package/dest/tx/in_tx.d.ts +5 -17
  582. package/dest/tx/in_tx.d.ts.map +1 -1
  583. package/dest/tx/index.d.ts +2 -1
  584. package/dest/tx/index.d.ts.map +1 -1
  585. package/dest/tx/index.js +1 -0
  586. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  587. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  588. package/dest/tx/indexed_tx_effect.js +9 -6
  589. package/dest/tx/partial_state_reference.d.ts +22 -65
  590. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  591. package/dest/tx/partial_state_reference.js +6 -3
  592. package/dest/tx/private_execution_result.d.ts +6 -16
  593. package/dest/tx/private_execution_result.d.ts.map +1 -1
  594. package/dest/tx/profiling.d.ts +54 -352
  595. package/dest/tx/profiling.d.ts.map +1 -1
  596. package/dest/tx/profiling.js +4 -4
  597. package/dest/tx/protocol_contracts.d.ts +5 -9
  598. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  599. package/dest/tx/proven_tx.d.ts +30 -74
  600. package/dest/tx/proven_tx.d.ts.map +1 -1
  601. package/dest/tx/proven_tx.js +6 -0
  602. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  603. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  604. package/dest/tx/public_call_request_with_calldata.js +6 -3
  605. package/dest/tx/simulated_tx.d.ts +64 -1143
  606. package/dest/tx/simulated_tx.d.ts.map +1 -1
  607. package/dest/tx/simulated_tx.js +13 -11
  608. package/dest/tx/state_reference.d.ts +30 -117
  609. package/dest/tx/state_reference.d.ts.map +1 -1
  610. package/dest/tx/state_reference.js +6 -4
  611. package/dest/tx/tree_snapshots.d.ts +27 -84
  612. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  613. package/dest/tx/tree_snapshots.js +6 -4
  614. package/dest/tx/tx.d.ts +22 -13
  615. package/dest/tx/tx.d.ts.map +1 -1
  616. package/dest/tx/tx.js +44 -22
  617. package/dest/tx/tx_constant_data.d.ts +4 -3
  618. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  619. package/dest/tx/tx_constant_data.js +6 -3
  620. package/dest/tx/tx_context.d.ts +32 -131
  621. package/dest/tx/tx_context.d.ts.map +1 -1
  622. package/dest/tx/tx_context.js +6 -6
  623. package/dest/tx/tx_hash.d.ts +6 -4
  624. package/dest/tx/tx_hash.d.ts.map +1 -1
  625. package/dest/tx/tx_hash.js +13 -5
  626. package/dest/tx/tx_receipt.d.ts +144 -63
  627. package/dest/tx/tx_receipt.d.ts.map +1 -1
  628. package/dest/tx/tx_receipt.js +143 -60
  629. package/dest/tx/validator/error_texts.d.ts +6 -2
  630. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  631. package/dest/tx/validator/error_texts.js +7 -1
  632. package/dest/tx/validator/tx_validator.d.ts +5 -27
  633. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  634. package/dest/tx/validator/tx_validator.js +0 -4
  635. package/dest/types/shared.d.ts +4 -12
  636. package/dest/types/shared.d.ts.map +1 -1
  637. package/dest/types/shared.js +6 -12
  638. package/dest/update-checker/dev_version.d.ts +3 -0
  639. package/dest/update-checker/dev_version.d.ts.map +1 -0
  640. package/dest/update-checker/dev_version.js +1 -0
  641. package/dest/update-checker/index.d.ts +2 -1
  642. package/dest/update-checker/index.d.ts.map +1 -1
  643. package/dest/update-checker/index.js +1 -0
  644. package/dest/update-checker/package_version.d.ts +6 -3
  645. package/dest/update-checker/package_version.d.ts.map +1 -1
  646. package/dest/update-checker/package_version.js +8 -19
  647. package/dest/validators/schemas.d.ts +147 -614
  648. package/dest/validators/schemas.d.ts.map +1 -1
  649. package/dest/validators/schemas.js +6 -4
  650. package/dest/validators/types.d.ts +20 -3
  651. package/dest/validators/types.d.ts.map +1 -1
  652. package/dest/versioning/versioning.js +1 -1
  653. package/dest/vks/verification_key.d.ts +4 -139
  654. package/dest/vks/verification_key.d.ts.map +1 -1
  655. package/dest/vks/verification_key.js +5 -126
  656. package/dest/world-state/genesis_data.d.ts +13 -0
  657. package/dest/world-state/genesis_data.d.ts.map +1 -0
  658. package/dest/world-state/genesis_data.js +7 -0
  659. package/dest/world-state/index.d.ts +2 -1
  660. package/dest/world-state/index.d.ts.map +1 -1
  661. package/dest/world-state/index.js +1 -0
  662. package/dest/world-state/world_state_revision.d.ts +15 -26
  663. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  664. package/dest/world-state/world_state_revision.js +7 -1
  665. package/package.json +12 -11
  666. package/src/abi/abi.ts +78 -21
  667. package/src/abi/authorization_selector.ts +2 -8
  668. package/src/abi/buffer.ts +25 -4
  669. package/src/abi/contract_artifact.ts +30 -6
  670. package/src/abi/decoder.ts +23 -78
  671. package/src/abi/encoder.ts +42 -6
  672. package/src/abi/event_selector.ts +2 -8
  673. package/src/abi/function_selector.ts +4 -13
  674. package/src/abi/function_signature_decoder.ts +77 -0
  675. package/src/abi/index.ts +1 -0
  676. package/src/abi/note_selector.ts +3 -12
  677. package/src/abi/selector.ts +1 -1
  678. package/src/abi/utils.ts +6 -4
  679. package/src/avm/avm.ts +5 -0
  680. package/src/avm/message_pack.ts +12 -3
  681. package/src/avm/revert_code.ts +19 -39
  682. package/src/aztec-address/index.ts +15 -12
  683. package/src/block/attestation_info.ts +11 -11
  684. package/src/block/block_data.ts +3 -4
  685. package/src/block/block_hash.ts +21 -14
  686. package/src/block/block_parameter.ts +72 -4
  687. package/src/block/index.ts +0 -1
  688. package/src/block/l2_block_info.ts +8 -6
  689. package/src/block/l2_block_source.ts +216 -147
  690. package/src/block/l2_block_stream/interfaces.ts +42 -6
  691. package/src/block/l2_block_stream/l2_block_stream.ts +60 -31
  692. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  693. package/src/block/l2_block_stream/l2_tips_store_base.ts +64 -60
  694. package/src/block/proposal/attestations_and_signers.ts +32 -17
  695. package/src/block/test/l2_tips_store_test_suite.ts +198 -18
  696. package/src/checkpoint/checkpoint.ts +13 -3
  697. package/src/checkpoint/checkpoint_data.ts +44 -4
  698. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  699. package/src/checkpoint/digest.ts +28 -0
  700. package/src/checkpoint/index.ts +3 -0
  701. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  702. package/src/checkpoint/validate.ts +16 -6
  703. package/src/config/chain-config.ts +13 -16
  704. package/src/config/index.ts +1 -1
  705. package/src/config/network-consensus-config.ts +302 -0
  706. package/src/config/sequencer-config.ts +68 -9
  707. package/src/contract/complete_address.ts +7 -3
  708. package/src/contract/contract_address.ts +6 -6
  709. package/src/contract/contract_instance.ts +11 -2
  710. package/src/contract/index.ts +0 -2
  711. package/src/contract/interfaces/contract_class.ts +2 -82
  712. package/src/contract/interfaces/contract_instance.ts +6 -2
  713. package/src/contract/interfaces/node-info.ts +11 -0
  714. package/src/contract/private_function.ts +3 -1
  715. package/src/database-version/version_manager.ts +17 -0
  716. package/src/deserialization/index.ts +35 -2
  717. package/src/epoch-helpers/index.ts +24 -0
  718. package/src/file-store/factory.ts +13 -4
  719. package/src/file-store/http.ts +29 -10
  720. package/src/file-store/index.ts +1 -0
  721. package/src/gas/README.md +123 -0
  722. package/src/gas/fee_math.ts +120 -0
  723. package/src/gas/gas.ts +8 -3
  724. package/src/gas/gas_fees.ts +26 -13
  725. package/src/gas/gas_settings.ts +63 -15
  726. package/src/gas/index.ts +2 -0
  727. package/src/gas/tx_gas_limits.ts +123 -0
  728. package/src/ha-signing/config.ts +14 -18
  729. package/src/ha-signing/index.ts +3 -1
  730. package/src/ha-signing/local_config.ts +2 -2
  731. package/src/ha-signing/types.ts +48 -34
  732. package/src/hash/hash.ts +34 -2
  733. package/src/interfaces/api_limit.ts +1 -1
  734. package/src/interfaces/archiver.ts +88 -93
  735. package/src/interfaces/aztec-node-admin.ts +36 -21
  736. package/src/interfaces/aztec-node-debug.ts +55 -0
  737. package/src/interfaces/aztec-node.ts +389 -259
  738. package/src/interfaces/block-builder.ts +4 -0
  739. package/src/interfaces/block_response.ts +92 -0
  740. package/src/interfaces/chain_tips.ts +24 -0
  741. package/src/interfaces/checkpoint_parameter.ts +20 -0
  742. package/src/interfaces/checkpoint_response.ts +84 -0
  743. package/src/interfaces/client.ts +8 -1
  744. package/src/interfaces/configs.ts +64 -7
  745. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  746. package/src/interfaces/l1_publish_info.ts +40 -0
  747. package/src/interfaces/l2_logs_source.ts +13 -42
  748. package/src/interfaces/merkle_tree_operations.ts +3 -2
  749. package/src/interfaces/p2p-bootstrap.ts +2 -2
  750. package/src/interfaces/p2p.ts +59 -19
  751. package/src/interfaces/private_kernel_prover.ts +88 -0
  752. package/src/interfaces/prover-agent.ts +1 -1
  753. package/src/interfaces/prover-client.ts +3 -8
  754. package/src/interfaces/prover-node.ts +19 -12
  755. package/src/interfaces/proving-job-source.ts +4 -4
  756. package/src/interfaces/proving-job.ts +3 -3
  757. package/src/interfaces/public_storage_override.ts +26 -0
  758. package/src/interfaces/server.ts +5 -1
  759. package/src/interfaces/slasher.ts +17 -10
  760. package/src/interfaces/tx_provider.ts +6 -0
  761. package/src/interfaces/validator.ts +45 -15
  762. package/src/interfaces/world_state.ts +1 -1
  763. package/src/kernel/hints/key_validation_request.ts +18 -16
  764. package/src/kernel/index.ts +4 -0
  765. package/src/kernel/log_hash.ts +29 -9
  766. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  767. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  768. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  769. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  770. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  771. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  772. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  773. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  774. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  775. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  776. package/src/kernel/public_call_request.ts +22 -7
  777. package/src/keys/derivation.ts +21 -9
  778. package/src/keys/public_key.ts +26 -2
  779. package/src/keys/public_keys.ts +124 -110
  780. package/src/kv-store/config.ts +3 -10
  781. package/src/l1-contracts/index.ts +1 -1
  782. package/src/logs/app_tagging_secret.ts +137 -0
  783. package/src/logs/app_tagging_secret_kind.ts +21 -0
  784. package/src/logs/contract_class_log.ts +15 -5
  785. package/src/logs/index.ts +6 -6
  786. package/src/logs/log_cursor.ts +110 -0
  787. package/src/logs/log_result.ts +104 -0
  788. package/src/logs/logs_query.ts +138 -0
  789. package/src/logs/message_context.ts +22 -8
  790. package/src/logs/pending_tagged_log.ts +1 -3
  791. package/src/logs/pre_tag.ts +3 -6
  792. package/src/logs/private_log.ts +9 -3
  793. package/src/logs/query_all_logs_by_tags.ts +98 -0
  794. package/src/logs/shared_secret_derivation.ts +21 -10
  795. package/src/logs/siloed_tag.ts +20 -11
  796. package/src/logs/tag.ts +8 -8
  797. package/src/logs/tagging_index_range.ts +4 -10
  798. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  799. package/src/messaging/index.ts +1 -0
  800. package/src/messaging/l1_to_l2_message.ts +12 -9
  801. package/src/messaging/l2_to_l1_membership.ts +108 -19
  802. package/src/messaging/l2_to_l1_message.ts +29 -9
  803. package/src/noir/index.ts +2 -0
  804. package/src/note/note_dao.ts +1 -4
  805. package/src/p2p/block_proposal.ts +111 -36
  806. package/src/p2p/checkpoint_attestation.ts +27 -31
  807. package/src/p2p/checkpoint_proposal.ts +128 -73
  808. package/src/p2p/consensus_payload.ts +59 -28
  809. package/src/p2p/gossipable.ts +4 -4
  810. package/src/p2p/signature_utils.ts +110 -25
  811. package/src/p2p/signed_txs.ts +46 -28
  812. package/src/parity/parity_base_private_inputs.ts +10 -4
  813. package/src/parity/parity_public_inputs.ts +9 -2
  814. package/src/proofs/chonk_proof.ts +132 -12
  815. package/src/rollup/block_headers_hash.ts +11 -2
  816. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  817. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  818. package/src/schemas/schemas.ts +6 -1
  819. package/src/slashing/helpers.ts +13 -9
  820. package/src/slashing/index.ts +1 -2
  821. package/src/slashing/serialization.ts +1 -81
  822. package/src/slashing/types.ts +24 -49
  823. package/src/slashing/{tally.ts → votes.ts} +1 -1
  824. package/src/stats/stats.ts +4 -0
  825. package/src/tests/factories.ts +109 -111
  826. package/src/tests/mocks.ts +72 -71
  827. package/src/timetable/README.md +609 -0
  828. package/src/timetable/budgets.ts +87 -0
  829. package/src/timetable/build_proposer_timetable.ts +42 -0
  830. package/src/timetable/consensus_timetable.ts +126 -0
  831. package/src/timetable/index.ts +4 -66
  832. package/src/timetable/proposer_timetable.ts +190 -0
  833. package/src/timetable/timetable-example.svg +108 -0
  834. package/src/trees/append_only_tree_snapshot.ts +8 -3
  835. package/src/trees/nullifier_leaf.ts +4 -0
  836. package/src/trees/nullifier_membership_witness.ts +2 -12
  837. package/src/tx/block_header.ts +10 -5
  838. package/src/tx/capsule.ts +10 -2
  839. package/src/tx/fee_provider.ts +10 -0
  840. package/src/tx/global_variable_builder.ts +2 -3
  841. package/src/tx/global_variables.ts +10 -18
  842. package/src/tx/hashed_values.ts +8 -3
  843. package/src/tx/index.ts +1 -0
  844. package/src/tx/indexed_tx_effect.ts +18 -6
  845. package/src/tx/partial_state_reference.ts +8 -3
  846. package/src/tx/profiling.ts +4 -4
  847. package/src/tx/proven_tx.ts +6 -0
  848. package/src/tx/public_call_request_with_calldata.ts +8 -3
  849. package/src/tx/simulated_tx.ts +22 -21
  850. package/src/tx/state_reference.ts +9 -4
  851. package/src/tx/tree_snapshots.ts +9 -4
  852. package/src/tx/tx.ts +60 -24
  853. package/src/tx/tx_constant_data.ts +8 -3
  854. package/src/tx/tx_context.ts +8 -3
  855. package/src/tx/tx_hash.ts +20 -5
  856. package/src/tx/tx_receipt.ts +265 -85
  857. package/src/tx/validator/error_texts.ts +10 -1
  858. package/src/tx/validator/tx_validator.ts +1 -5
  859. package/src/types/shared.ts +8 -13
  860. package/src/update-checker/dev_version.ts +2 -0
  861. package/src/update-checker/index.ts +1 -0
  862. package/src/update-checker/package_version.ts +10 -23
  863. package/src/validators/schemas.ts +6 -4
  864. package/src/validators/types.ts +21 -2
  865. package/src/versioning/versioning.ts +1 -1
  866. package/src/vks/verification_key.ts +5 -184
  867. package/src/world-state/genesis_data.ts +27 -0
  868. package/src/world-state/index.ts +1 -0
  869. package/src/world-state/world_state_revision.ts +9 -1
  870. package/dest/abi/mocked_keys.d.ts +0 -2
  871. package/dest/abi/mocked_keys.d.ts.map +0 -1
  872. package/dest/abi/mocked_keys.js +0 -1
  873. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  874. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  875. package/dest/block/checkpointed_l2_block.js +0 -46
  876. package/dest/config/pipelining-config.d.ts +0 -19
  877. package/dest/config/pipelining-config.d.ts.map +0 -1
  878. package/dest/config/pipelining-config.js +0 -18
  879. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  880. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  881. package/dest/contract/private_function_membership_proof.js +0 -124
  882. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  883. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  884. package/dest/contract/utility_function_membership_proof.js +0 -87
  885. package/dest/interfaces/epoch-prover.d.ts +0 -57
  886. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  887. package/dest/interfaces/epoch-prover.js +0 -1
  888. package/dest/interfaces/get_logs_response.d.ts +0 -97
  889. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  890. package/dest/interfaces/get_logs_response.js +0 -12
  891. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  892. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  893. package/dest/l1-contracts/slash_factory.js +0 -158
  894. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  895. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  896. package/dest/logs/extended_contract_class_log.js +0 -67
  897. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  898. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  899. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  900. package/dest/logs/extended_public_log.d.ts +0 -106
  901. package/dest/logs/extended_public_log.d.ts.map +0 -1
  902. package/dest/logs/extended_public_log.js +0 -73
  903. package/dest/logs/log_filter.d.ts +0 -25
  904. package/dest/logs/log_filter.d.ts.map +0 -1
  905. package/dest/logs/log_filter.js +0 -12
  906. package/dest/logs/log_id.d.ts +0 -85
  907. package/dest/logs/log_id.d.ts.map +0 -1
  908. package/dest/logs/log_id.js +0 -94
  909. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  910. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  911. package/dest/logs/tx_scoped_l2_log.js +0 -77
  912. package/dest/slashing/empire.d.ts +0 -31
  913. package/dest/slashing/empire.d.ts.map +0 -1
  914. package/dest/slashing/empire.js +0 -87
  915. package/src/abi/mocked_keys.ts +0 -2
  916. package/src/block/checkpointed_l2_block.ts +0 -70
  917. package/src/config/pipelining-config.ts +0 -31
  918. package/src/contract/private_function_membership_proof.ts +0 -167
  919. package/src/contract/utility_function_membership_proof.ts +0 -118
  920. package/src/interfaces/epoch-prover.ts +0 -72
  921. package/src/interfaces/get_logs_response.ts +0 -35
  922. package/src/l1-contracts/slash_factory.ts +0 -180
  923. package/src/logs/extended_contract_class_log.ts +0 -87
  924. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  925. package/src/logs/extended_public_log.ts +0 -94
  926. package/src/logs/log_filter.ts +0 -36
  927. package/src/logs/log_id.ts +0 -125
  928. package/src/logs/tx_scoped_l2_log.ts +0 -114
  929. package/src/slashing/empire.ts +0 -104
@@ -3,7 +3,7 @@ import { CONTRACT_CLASS_LOG_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS } from '@a
3
3
  import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { schemas } from '@aztec/foundation/schemas';
6
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
6
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
7
7
  import { inspect } from 'util';
8
8
  import { z } from 'zod';
9
9
  import { AztecAddress } from '../aztec-address/index.js';
@@ -45,8 +45,11 @@ export class ContractClassLogFields {
45
45
  length: CONTRACT_CLASS_LOG_SIZE_IN_FIELDS
46
46
  }, ()=>reader.readField()));
47
47
  }
48
- toBuffer() {
49
- return serializeToBuffer(this.fields);
48
+ toBuffer(sink) {
49
+ if (!sink) {
50
+ return BufferSink.serialize(this);
51
+ }
52
+ serializeToSink(sink, this.fields);
50
53
  }
51
54
  static fromBuffer(buffer) {
52
55
  const reader = BufferReader.asReader(buffer);
@@ -131,12 +134,11 @@ export class ContractClassLog {
131
134
  static empty() {
132
135
  return new ContractClassLog(AztecAddress.ZERO, ContractClassLogFields.empty(), 0);
133
136
  }
134
- toBuffer() {
135
- return serializeToBuffer([
136
- this.contractAddress,
137
- this.fields,
138
- this.emittedLength
139
- ]);
137
+ toBuffer(sink) {
138
+ if (!sink) {
139
+ return BufferSink.serialize(this);
140
+ }
141
+ serializeToSink(sink, this.contractAddress, this.fields, this.emittedLength);
140
142
  }
141
143
  static fromBuffer(buffer) {
142
144
  const reader = BufferReader.asReader(buffer);
@@ -1,19 +1,19 @@
1
- export * from './extended_directional_app_tagging_secret.js';
1
+ export * from './app_tagging_secret_kind.js';
2
+ export * from './app_tagging_secret.js';
2
3
  export * from './pre_tag.js';
3
4
  export * from './tagging_index_range.js';
4
5
  export * from './contract_class_log.js';
5
6
  export * from './public_log.js';
6
7
  export * from './private_log.js';
7
8
  export * from './pending_tagged_log.js';
8
- export * from './log_id.js';
9
- export * from './log_filter.js';
10
- export * from './extended_public_log.js';
11
- export * from './extended_contract_class_log.js';
9
+ export * from './log_result.js';
10
+ export * from './log_cursor.js';
11
+ export * from './logs_query.js';
12
+ export * from './query_all_logs_by_tags.js';
12
13
  export * from './shared_secret_derivation.js';
13
- export * from './tx_scoped_l2_log.js';
14
14
  export * from './message_context.js';
15
15
  export * from './debug_log.js';
16
16
  export * from './debug_log_store.js';
17
17
  export * from './tag.js';
18
18
  export * from './siloed_tag.js';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGlCQUFpQixDQUFDIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logs/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC"}
@@ -1,16 +1,16 @@
1
- export * from './extended_directional_app_tagging_secret.js';
1
+ export * from './app_tagging_secret_kind.js';
2
+ export * from './app_tagging_secret.js';
2
3
  export * from './pre_tag.js';
3
4
  export * from './tagging_index_range.js';
4
5
  export * from './contract_class_log.js';
5
6
  export * from './public_log.js';
6
7
  export * from './private_log.js';
7
8
  export * from './pending_tagged_log.js';
8
- export * from './log_id.js';
9
- export * from './log_filter.js';
10
- export * from './extended_public_log.js';
11
- export * from './extended_contract_class_log.js';
9
+ export * from './log_result.js';
10
+ export * from './log_cursor.js';
11
+ export * from './logs_query.js';
12
+ export * from './query_all_logs_by_tags.js';
12
13
  export * from './shared_secret_derivation.js';
13
- export * from './tx_scoped_l2_log.js';
14
14
  export * from './message_context.js';
15
15
  export * from './debug_log.js';
16
16
  export * from './debug_log_store.js';
@@ -0,0 +1,51 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { BufferReader } from '@aztec/foundation/serialize';
3
+ import { z } from 'zod';
4
+ import type { LogResultBase } from './log_result.js';
5
+ /**
6
+ * Cursor identifying a position in a tag's ordered log stream. Used as `afterLog` on `TagQuery` to resume
7
+ * pagination strictly after a previously-seen log.
8
+ *
9
+ * `(blockNumber, txIndexWithinBlock, logIndexWithinTx)` is sufficient to uniquely identify a position
10
+ * and matches the composite-key ordering of the archiver's log index, so the cursor maps directly to a
11
+ * key without a tx-hash lookup. All three fields are always present on {@link LogResult}, so a cursor is
12
+ * constructible from any returned log.
13
+ */
14
+ export declare class LogCursor {
15
+ /** The block the cursor points to. */
16
+ readonly blockNumber: BlockNumber;
17
+ /** The tx index within the block the cursor points to. */
18
+ readonly txIndexWithinBlock: number;
19
+ /** The log index within the tx the cursor points to. */
20
+ readonly logIndexWithinTx: number;
21
+ constructor(
22
+ /** The block the cursor points to. */
23
+ blockNumber: BlockNumber,
24
+ /** The tx index within the block the cursor points to. */
25
+ txIndexWithinBlock: number,
26
+ /** The log index within the tx the cursor points to. */
27
+ logIndexWithinTx: number);
28
+ static get schema(): z.ZodPipe<z.ZodObject<{
29
+ blockNumber: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
30
+ txIndexWithinBlock: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
31
+ logIndexWithinTx: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
32
+ }, z.core.$strip>, z.ZodTransform<LogCursor, {
33
+ blockNumber: BlockNumber;
34
+ txIndexWithinBlock: number;
35
+ logIndexWithinTx: number;
36
+ }>>;
37
+ /** Builds a cursor that points at the given log. Pagination resumes strictly after this position. */
38
+ static fromLog(log: Pick<LogResultBase, 'blockNumber' | 'txIndexWithinBlock' | 'logIndexWithinTx'>): LogCursor;
39
+ static random(): LogCursor;
40
+ toBuffer(): Buffer;
41
+ static fromBuffer(buffer: Buffer | BufferReader): LogCursor;
42
+ equals(other: LogCursor): boolean;
43
+ toString(): string;
44
+ /**
45
+ * Parses a `<blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx>` triple into a {@link LogCursor}.
46
+ * Throws on malformed input. Returns `undefined` for an empty / missing value so callers can use
47
+ * this directly as an optional CLI option parser.
48
+ */
49
+ static parseOptional(value: string): LogCursor | undefined;
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2N1cnNvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvbG9nX2N1cnNvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUd4QixPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRDs7Ozs7Ozs7R0FRRztBQUNILHFCQUFhLFNBQVM7SUFFbEIsc0NBQXNDO2FBQ3RCLFdBQVcsRUFBRSxXQUFXO0lBQ3hDLDBEQUEwRDthQUMxQyxrQkFBa0IsRUFBRSxNQUFNO0lBQzFDLHdEQUF3RDthQUN4QyxnQkFBZ0IsRUFBRSxNQUFNO0lBTjFDO0lBQ0Usc0NBQXNDO0lBQ3RCLFdBQVcsRUFBRSxXQUFXO0lBQ3hDLDBEQUEwRDtJQUMxQyxrQkFBa0IsRUFBRSxNQUFNO0lBQzFDLHdEQUF3RDtJQUN4QyxnQkFBZ0IsRUFBRSxNQUFNLEVBQ3RDO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7O1FBV2hCO0lBRUQscUdBQXFHO0lBQ3JHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDLEdBQUcsU0FBUyxDQUU3RztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksU0FBUyxDQU16QjtJQUVELFFBQVEsSUFBSSxNQUFNLENBTWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxTQUFTLENBTTFEO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQU1oQztJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsU0FBUyxDQXNCekQ7Q0FDRiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log_cursor.d.ts","sourceRoot":"","sources":["../../src/logs/log_cursor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAiB,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;GAQG;AACH,qBAAa,SAAS;IAElB,sCAAsC;aACtB,WAAW,EAAE,WAAW;IACxC,0DAA0D;aAC1C,kBAAkB,EAAE,MAAM;IAC1C,wDAAwD;aACxC,gBAAgB,EAAE,MAAM;IAN1C;IACE,sCAAsC;IACtB,WAAW,EAAE,WAAW;IACxC,0DAA0D;IAC1C,kBAAkB,EAAE,MAAM;IAC1C,wDAAwD;IACxC,gBAAgB,EAAE,MAAM,EACtC;IAEJ,MAAM,KAAK,MAAM;;;;;;;;QAWhB;IAED,qGAAqG;IACrG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,oBAAoB,GAAG,kBAAkB,CAAC,GAAG,SAAS,CAE7G;IAED,MAAM,CAAC,MAAM,IAAI,SAAS,CAMzB;IAED,QAAQ,IAAI,MAAM,CAMjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAM1D;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAMhC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAsBzD;CACF"}
@@ -0,0 +1,82 @@
1
+ import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
2
+ import { BufferReader, numToUInt32BE } from '@aztec/foundation/serialize';
3
+ import { z } from 'zod';
4
+ import { schemas } from '../schemas/schemas.js';
5
+ /**
6
+ * Cursor identifying a position in a tag's ordered log stream. Used as `afterLog` on `TagQuery` to resume
7
+ * pagination strictly after a previously-seen log.
8
+ *
9
+ * `(blockNumber, txIndexWithinBlock, logIndexWithinTx)` is sufficient to uniquely identify a position
10
+ * and matches the composite-key ordering of the archiver's log index, so the cursor maps directly to a
11
+ * key without a tx-hash lookup. All three fields are always present on {@link LogResult}, so a cursor is
12
+ * constructible from any returned log.
13
+ */ export class LogCursor {
14
+ blockNumber;
15
+ txIndexWithinBlock;
16
+ logIndexWithinTx;
17
+ constructor(/** The block the cursor points to. */ blockNumber, /** The tx index within the block the cursor points to. */ txIndexWithinBlock, /** The log index within the tx the cursor points to. */ logIndexWithinTx){
18
+ this.blockNumber = blockNumber;
19
+ this.txIndexWithinBlock = txIndexWithinBlock;
20
+ this.logIndexWithinTx = logIndexWithinTx;
21
+ }
22
+ static get schema() {
23
+ return z.object({
24
+ blockNumber: BlockNumberSchema,
25
+ txIndexWithinBlock: schemas.Integer,
26
+ logIndexWithinTx: schemas.Integer
27
+ }).transform(({ blockNumber, txIndexWithinBlock, logIndexWithinTx })=>new LogCursor(blockNumber, txIndexWithinBlock, logIndexWithinTx));
28
+ }
29
+ /** Builds a cursor that points at the given log. Pagination resumes strictly after this position. */ static fromLog(log) {
30
+ return new LogCursor(log.blockNumber, log.txIndexWithinBlock, log.logIndexWithinTx);
31
+ }
32
+ static random() {
33
+ return new LogCursor(BlockNumber(Math.floor(Math.random() * 100000) + 1), Math.floor(Math.random() * 100), Math.floor(Math.random() * 100));
34
+ }
35
+ toBuffer() {
36
+ return Buffer.concat([
37
+ numToUInt32BE(this.blockNumber),
38
+ numToUInt32BE(this.txIndexWithinBlock),
39
+ numToUInt32BE(this.logIndexWithinTx)
40
+ ]);
41
+ }
42
+ static fromBuffer(buffer) {
43
+ const reader = BufferReader.asReader(buffer);
44
+ const blockNumber = BlockNumber(reader.readNumber());
45
+ const txIndexWithinBlock = reader.readNumber();
46
+ const logIndexWithinTx = reader.readNumber();
47
+ return new LogCursor(blockNumber, txIndexWithinBlock, logIndexWithinTx);
48
+ }
49
+ equals(other) {
50
+ return this.blockNumber === other.blockNumber && this.txIndexWithinBlock === other.txIndexWithinBlock && this.logIndexWithinTx === other.logIndexWithinTx;
51
+ }
52
+ toString() {
53
+ return `${this.blockNumber}-${this.txIndexWithinBlock}-${this.logIndexWithinTx}`;
54
+ }
55
+ /**
56
+ * Parses a `<blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx>` triple into a {@link LogCursor}.
57
+ * Throws on malformed input. Returns `undefined` for an empty / missing value so callers can use
58
+ * this directly as an optional CLI option parser.
59
+ */ static parseOptional(value) {
60
+ if (!value) {
61
+ return undefined;
62
+ }
63
+ const parts = value.split('-');
64
+ if (parts.length !== 3) {
65
+ throw new Error(`Invalid log cursor "${value}". Expected <blockNumber>-<txIndexWithinBlock>-<logIndexWithinTx>.`);
66
+ }
67
+ const [blockNumberStr, txIndexStr, logIndexStr] = parts;
68
+ const blockNumber = Number(blockNumberStr);
69
+ const txIndexWithinBlock = Number(txIndexStr);
70
+ const logIndexWithinTx = Number(logIndexStr);
71
+ if (!Number.isInteger(blockNumber) || blockNumber < 1) {
72
+ throw new Error(`Invalid log cursor block number: ${blockNumberStr}`);
73
+ }
74
+ if (!Number.isInteger(txIndexWithinBlock) || txIndexWithinBlock < 0) {
75
+ throw new Error(`Invalid log cursor tx index: ${txIndexStr}`);
76
+ }
77
+ if (!Number.isInteger(logIndexWithinTx) || logIndexWithinTx < 0) {
78
+ throw new Error(`Invalid log cursor log index: ${logIndexStr}`);
79
+ }
80
+ return new LogCursor(BlockNumber(blockNumber), txIndexWithinBlock, logIndexWithinTx);
81
+ }
82
+ }
@@ -0,0 +1,54 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { PickIfFlag, Prettify } from '@aztec/foundation/types';
4
+ import { z } from 'zod';
5
+ import { BlockHash } from '../block/block_hash.js';
6
+ import { TxHash } from '../tx/tx_hash.js';
7
+ import type { UInt64 } from '../types/shared.js';
8
+ /** Options for narrowing the shape of a {@link LogResult}. */
9
+ export type LogIncludeOptions = {
10
+ /** When set, the log carries `noteHashes` + all `nullifiers` from its tx effect. Off by default. */
11
+ includeEffects?: boolean;
12
+ };
13
+ export declare const LogIncludeOptionsSchema: z.ZodType<LogIncludeOptions>;
14
+ /** Required metadata always present on a {@link LogResult}. */
15
+ export type LogResultBase = {
16
+ /** The data contents of the log, with the tag as the first field. */
17
+ logData: Fr[];
18
+ /** The block this log was emitted in. */
19
+ blockNumber: BlockNumber;
20
+ /** The hash of the block this log was emitted in. */
21
+ blockHash: BlockHash;
22
+ /** The timestamp of the block this log was emitted in. */
23
+ blockTimestamp: UInt64;
24
+ /** The hash of the tx this log was emitted in. */
25
+ txHash: TxHash;
26
+ /** The 0-based index of this log's tx within its block. */
27
+ txIndexWithinBlock: number;
28
+ /** The 0-based index of this log within its tx (across both private and public logs for the tx). */
29
+ logIndexWithinTx: number;
30
+ };
31
+ /**
32
+ * A single log returned from {@link L2LogsSource.getPrivateLogsByTags} or {@link L2LogsSource.getPublicLogsByTags}.
33
+ *
34
+ * Generic over the include-options so that flagged fields become required when the caller passes a
35
+ * literal `true`. The default type argument ({@link LogIncludeOptions}) yields the widest shape
36
+ * (all include-fields optional) — this is what the JSON-RPC wire layer validates against.
37
+ *
38
+ * `logData` is the raw field-element payload, with the tag in field 0 (consumers slice it off).
39
+ *
40
+ * @example
41
+ * const l: LogResult<{ includeEffects: true }> = (await node.getPrivateLogsByTags({ tags, includeEffects: true }))[0][0];
42
+ * l.nullifiers; // required, not optional
43
+ */
44
+ export type LogResult<Opts extends LogIncludeOptions = LogIncludeOptions> = Prettify<LogResultBase & PickIfFlag<LogIncludeOptions, Opts, 'includeEffects', {
45
+ noteHashes: Fr[];
46
+ nullifiers: Fr[];
47
+ }>>;
48
+ /** Zod schema for the widest {@link LogResult} shape (all include-gated fields optional). */
49
+ export declare const LogResultSchema: z.ZodType<LogResult>;
50
+ /** Builds a random {@link LogResult} for tests. `includeEffects` populates `noteHashes` + `nullifiers`. */
51
+ export declare function randomLogResult(includeEffects?: boolean): LogResult;
52
+ /** Human-readable single-line representation, primarily for the CLI `get-logs` command. */
53
+ export declare function logResultToHumanReadable(log: LogResult): string;
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3Jlc3VsdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvbG9nX3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELDhEQUE4RDtBQUM5RCxNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIsb0dBQW9HO0lBQ3BHLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMxQixDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBRS9ELENBQUM7QUFFSCwrREFBK0Q7QUFDL0QsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixxRUFBcUU7SUFDckUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2QseUNBQXlDO0lBQ3pDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDekIscURBQXFEO0lBQ3JELFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckIsMERBQTBEO0lBQzFELGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsa0RBQWtEO0lBQ2xELE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZiwyREFBMkQ7SUFDM0Qsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLG9HQUFvRztJQUNwRyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sTUFBTSxTQUFTLENBQUMsSUFBSSxTQUFTLGlCQUFpQixHQUFHLGlCQUFpQixJQUFJLFFBQVEsQ0FDbEYsYUFBYSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7SUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUE7Q0FBRSxDQUFDLENBQzlHLENBQUM7QUFFRiw2RkFBNkY7QUFDN0YsZUFBTyxNQUFNLGVBQWUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FVL0MsQ0FBQztBQUVILDJHQUEyRztBQUMzRyx3QkFBZ0IsZUFBZSxDQUFDLGNBQWMsVUFBUSxHQUFHLFNBQVMsQ0FjakU7QUFFRCwyRkFBMkY7QUFDM0Ysd0JBQWdCLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxTQUFTLEdBQUcsTUFBTSxDQWMvRCJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log_result.d.ts","sourceRoot":"","sources":["../../src/logs/log_result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,8DAA8D;AAC9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oGAAoG;IACpG,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAE/D,CAAC;AAEH,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG;IAC1B,qEAAqE;IACrE,OAAO,EAAE,EAAE,EAAE,CAAC;IACd,yCAAyC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,qDAAqD;IACrD,SAAS,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oGAAoG;IACpG,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,QAAQ,CAClF,aAAa,GAAG,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAAC,UAAU,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC,CAC9G,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAU/C,CAAC;AAEH,2GAA2G;AAC3G,wBAAgB,eAAe,CAAC,cAAc,UAAQ,GAAG,SAAS,CAcjE;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAc/D"}
@@ -0,0 +1,56 @@
1
+ import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
2
+ import { times } from '@aztec/foundation/collection';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { schemas as foundationSchemas } from '@aztec/foundation/schemas';
5
+ import { z } from 'zod';
6
+ import { BlockHash } from '../block/block_hash.js';
7
+ import { schemas } from '../schemas/schemas.js';
8
+ import { TxHash } from '../tx/tx_hash.js';
9
+ export const LogIncludeOptionsSchema = z.object({
10
+ includeEffects: z.boolean().optional()
11
+ });
12
+ /** Zod schema for the widest {@link LogResult} shape (all include-gated fields optional). */ export const LogResultSchema = z.object({
13
+ logData: z.array(foundationSchemas.Fr),
14
+ blockNumber: BlockNumberSchema,
15
+ blockHash: BlockHash.schema,
16
+ blockTimestamp: schemas.UInt64,
17
+ txHash: TxHash.schema,
18
+ txIndexWithinBlock: schemas.Integer,
19
+ logIndexWithinTx: schemas.Integer,
20
+ noteHashes: z.array(foundationSchemas.Fr).optional(),
21
+ nullifiers: z.array(foundationSchemas.Fr).optional()
22
+ });
23
+ /** Builds a random {@link LogResult} for tests. `includeEffects` populates `noteHashes` + `nullifiers`. */ export function randomLogResult(includeEffects = false) {
24
+ const base = {
25
+ logData: times(3, Fr.random),
26
+ blockNumber: BlockNumber(Math.floor(Math.random() * 100000) + 1),
27
+ blockHash: BlockHash.random(),
28
+ blockTimestamp: BigInt(Math.floor(Date.now() / 1000)),
29
+ txHash: TxHash.random(),
30
+ txIndexWithinBlock: Math.floor(Math.random() * 100),
31
+ logIndexWithinTx: Math.floor(Math.random() * 100)
32
+ };
33
+ if (includeEffects) {
34
+ return {
35
+ ...base,
36
+ noteHashes: times(3, Fr.random),
37
+ nullifiers: times(3, Fr.random)
38
+ };
39
+ }
40
+ return base;
41
+ }
42
+ /** Human-readable single-line representation, primarily for the CLI `get-logs` command. */ export function logResultToHumanReadable(log) {
43
+ const head = `block ${log.blockNumber} (${log.blockHash.toString()}) ` + `tx ${log.txHash.toString()} txIndex ${log.txIndexWithinBlock} logIndex ${log.logIndexWithinTx} ` + `ts ${log.blockTimestamp}`;
44
+ const data = `data [${log.logData.map((f)=>f.toString()).join(', ')}]`;
45
+ const parts = [
46
+ head,
47
+ data
48
+ ];
49
+ if (log.noteHashes !== undefined) {
50
+ parts.push(`noteHashes [${log.noteHashes.map((f)=>f.toString()).join(', ')}]`);
51
+ }
52
+ if (log.nullifiers !== undefined) {
53
+ parts.push(`nullifiers [${log.nullifiers.map((f)=>f.toString()).join(', ')}]`);
54
+ }
55
+ return parts.join(' | ');
56
+ }
@@ -0,0 +1,82 @@
1
+ import type { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { z } from 'zod';
3
+ import type { AztecAddress } from '../aztec-address/index.js';
4
+ import { BlockHash } from '../block/block_hash.js';
5
+ import { type ZodFor } from '../schemas/index.js';
6
+ import { TxHash } from '../tx/tx_hash.js';
7
+ import { LogCursor } from './log_cursor.js';
8
+ import { SiloedTag } from './siloed_tag.js';
9
+ import { Tag } from './tag.js';
10
+ /**
11
+ * A tag to query in {@link PrivateLogsQuery} / {@link PublicLogsQuery}, optionally resuming strictly
12
+ * after a previously-seen log via `afterLog`. The bare `T` form means "from the beginning".
13
+ */
14
+ export type TagQuery<T extends Tag | SiloedTag> = T | {
15
+ tag: T;
16
+ afterLog?: LogCursor;
17
+ };
18
+ /**
19
+ * Shared fields for {@link PrivateLogsQuery} and {@link PublicLogsQuery}.
20
+ */
21
+ export type LogsQueryBase = {
22
+ /** Lower block bound, inclusive. */
23
+ fromBlock?: BlockNumber;
24
+ /** Upper block bound, exclusive. */
25
+ toBlock?: BlockNumber;
26
+ /**
27
+ * Restrict results to logs emitted in this transaction. Mutually exclusive with `fromBlock`/`toBlock`
28
+ * (a txHash already pins a block). `txHash` + `afterLog` is allowed and paginates within the tx's logs
29
+ * for that tag.
30
+ */
31
+ txHash?: TxHash;
32
+ /**
33
+ * Reorg-safety anchor: the latest block hash the caller has synced to. If set and the block is no
34
+ * longer present, the call throws. Distinct from `toBlock`, which is a filter, not a safety check.
35
+ */
36
+ referenceBlock?: BlockHash;
37
+ /** When set, each log also carries `noteHashes` and all `nullifiers` for note-nonce discovery. */
38
+ includeEffects?: boolean;
39
+ /**
40
+ * Maximum number of logs returned per tag. Capped at {@link MAX_LOGS_PER_TAG} (rejected if higher).
41
+ * Defaults to {@link MAX_LOGS_PER_TAG} when unset. Mainly useful for tests that need to force
42
+ * pagination at a small page size.
43
+ */
44
+ limitPerTag?: number;
45
+ };
46
+ /**
47
+ * Query for {@link L2LogsSource.getPrivateLogsByTags}. Returns one inner array per element of `tags`,
48
+ * in input order.
49
+ */
50
+ export type PrivateLogsQuery = LogsQueryBase & {
51
+ /** Tags to query. Between 1 and {@link MAX_RPC_LEN} entries (inclusive). */
52
+ tags: TagQuery<SiloedTag>[];
53
+ };
54
+ /**
55
+ * Query for {@link L2LogsSource.getPublicLogsByTags}. Returns one inner array per element of `tags`,
56
+ * in input order.
57
+ */
58
+ export type PublicLogsQuery = LogsQueryBase & {
59
+ /** Contract address that emitted the logs. Required for public queries. */
60
+ contractAddress: AztecAddress;
61
+ /** Tags to query. Between 1 and {@link MAX_RPC_LEN} entries (inclusive). */
62
+ tags: TagQuery<Tag>[];
63
+ };
64
+ /** Minimal shape required by {@link refineTxHashAndRange}. */
65
+ type TxHashAndRangeFields = {
66
+ /** Tx hash filter. */
67
+ txHash?: TxHash;
68
+ /** Lower block bound. */
69
+ fromBlock?: BlockNumber;
70
+ /** Upper block bound (exclusive). */
71
+ toBlock?: BlockNumber;
72
+ };
73
+ /**
74
+ * Refinement: a `txHash` already pins a block, so combining it with a block range is contradictory.
75
+ * (`txHash` + `afterLog` is still allowed and is enforced per-tag inside `TagQuery`.) Exported so
76
+ * `aztec.js`'s wallet event-filter schemas can reuse the same rule.
77
+ */
78
+ export declare function refineTxHashAndRange<T extends TxHashAndRangeFields>(schema: z.ZodType<T>): z.ZodType<T, unknown, z.core.$ZodTypeInternals<T, unknown>>;
79
+ export declare const PrivateLogsQuerySchema: ZodFor<PrivateLogsQuery>;
80
+ export declare const PublicLogsQuerySchema: ZodFor<PublicLogsQuery>;
81
+ export {};
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nc19xdWVyeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvbG9nc19xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUUvQjs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sUUFBUSxDQUFDLENBQUMsU0FBUyxHQUFHLEdBQUcsU0FBUyxJQUFJLENBQUMsR0FBRztJQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUE7Q0FBRSxDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsR0FBRztJQUMxQixvQ0FBb0M7SUFDcEMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDO0lBQ3hCLG9DQUFvQztJQUNwQyxPQUFPLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDdEI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQjs7O09BR0c7SUFDSCxjQUFjLENBQUMsRUFBRSxTQUFTLENBQUM7SUFDM0Isa0dBQWtHO0lBQ2xHLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ3RCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxHQUFHO0lBQzdDLDRFQUE0RTtJQUM1RSxJQUFJLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Q0FDN0IsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sTUFBTSxlQUFlLEdBQUcsYUFBYSxHQUFHO0lBQzVDLDJFQUEyRTtJQUMzRSxlQUFlLEVBQUUsWUFBWSxDQUFDO0lBQzlCLDRFQUE0RTtJQUM1RSxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Q0FDdkIsQ0FBQztBQTBCRiw4REFBOEQ7QUFDOUQsS0FBSyxvQkFBb0IsR0FBRztJQUMxQixzQkFBc0I7SUFDdEIsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLHlCQUF5QjtJQUN6QixTQUFTLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDeEIscUNBQXFDO0lBQ3JDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsQ0FBQztDQUN2QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLCtEQUl4RjtBQUVELGVBQU8sTUFBTSxzQkFBc0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBVTNELENBQUM7QUFFRixlQUFPLE1BQU0scUJBQXFCLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FXekQsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs_query.d.ts","sourceRoot":"","sources":["../../src/logs/logs_query.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,GAAG,GAAG,SAAS,IAAI,CAAC,GAAG;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,oCAAoC;IACpC,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,oCAAoC;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,kGAAkG;IAClG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,4EAA4E;IAC5E,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,2EAA2E;IAC3E,eAAe,EAAE,YAAY,CAAC;IAC9B,4EAA4E;IAC5E,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;CACvB,CAAC;AA0BF,8DAA8D;AAC9D,KAAK,oBAAoB,GAAG;IAC1B,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,qCAAqC;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,oBAAoB,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,+DAIxF;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,CAU3D,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,eAAe,CAWzD,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { BlockNumberSchema } from '@aztec/foundation/branded-types';
2
+ import { z } from 'zod';
3
+ import { BlockHash } from '../block/block_hash.js';
4
+ import { MAX_LOGS_PER_TAG, MAX_RPC_LEN } from '../interfaces/api_limit.js';
5
+ import { schemas, zodFor } from '../schemas/index.js';
6
+ import { TxHash } from '../tx/tx_hash.js';
7
+ import { LogCursor } from './log_cursor.js';
8
+ import { SiloedTag } from './siloed_tag.js';
9
+ import { Tag } from './tag.js';
10
+ function tagQuerySchema(tagSchema) {
11
+ return z.union([
12
+ tagSchema,
13
+ z.object({
14
+ tag: tagSchema,
15
+ afterLog: LogCursor.schema.optional()
16
+ })
17
+ ]);
18
+ }
19
+ const logsQueryBaseShape = {
20
+ fromBlock: BlockNumberSchema.optional(),
21
+ toBlock: BlockNumberSchema.optional(),
22
+ txHash: TxHash.schema.optional(),
23
+ referenceBlock: BlockHash.schema.optional(),
24
+ includeEffects: z.boolean().optional(),
25
+ limitPerTag: z.number().int().positive().max(MAX_LOGS_PER_TAG, {
26
+ message: `limitPerTag must be <= ${MAX_LOGS_PER_TAG}`
27
+ }).optional()
28
+ };
29
+ /**
30
+ * Refinement: a `txHash` already pins a block, so combining it with a block range is contradictory.
31
+ * (`txHash` + `afterLog` is still allowed and is enforced per-tag inside `TagQuery`.) Exported so
32
+ * `aztec.js`'s wallet event-filter schemas can reuse the same rule.
33
+ */ export function refineTxHashAndRange(schema) {
34
+ return schema.refine((q)=>!(q.txHash !== undefined && (q.fromBlock !== undefined || q.toBlock !== undefined)), {
35
+ message: '`txHash` is mutually exclusive with `fromBlock`/`toBlock`'
36
+ });
37
+ }
38
+ export const PrivateLogsQuerySchema = refineTxHashAndRange(zodFor()(z.object({
39
+ ...logsQueryBaseShape,
40
+ tags: z.array(tagQuerySchema(SiloedTag.schema)).min(1).max(MAX_RPC_LEN, {
41
+ message: `tags must have at most ${MAX_RPC_LEN} entries`
42
+ })
43
+ })));
44
+ export const PublicLogsQuerySchema = refineTxHashAndRange(zodFor()(z.object({
45
+ ...logsQueryBaseShape,
46
+ contractAddress: schemas.AztecAddress,
47
+ tags: z.array(tagQuerySchema(Tag.schema)).min(1).max(MAX_RPC_LEN, {
48
+ message: `tags must have at most ${MAX_RPC_LEN} entries`
49
+ })
50
+ })));
@@ -1,7 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { AztecAddress } from '../aztec-address/index.js';
3
- import type { TxEffect } from '../tx/tx_effect.js';
4
- import type { TxHash } from '../tx/tx_hash.js';
2
+ import { TxHash } from '../tx/tx_hash.js';
5
3
  /**
6
4
  * Additional information needed to process a message.
7
5
  *
@@ -15,15 +13,15 @@ export declare class MessageContext {
15
13
  txHash: TxHash;
16
14
  uniqueNoteHashesInTx: Fr[];
17
15
  firstNullifierInTx: Fr;
18
- recipient: AztecAddress;
19
- constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress);
16
+ constructor(txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
20
17
  toFields(): Fr[];
21
18
  toNoirStruct(): {
22
19
  tx_hash: Fr;
23
20
  unique_note_hashes_in_tx: Fr[];
24
21
  first_nullifier_in_tx: Fr;
25
- recipient: AztecAddress;
26
22
  };
27
- static fromTxEffectAndRecipient(txEffect: TxEffect, recipient: AztecAddress): MessageContext;
23
+ static empty(): MessageContext;
24
+ static toEmptyFields(): Fr[];
25
+ static toSerializedOption(response: MessageContext | null): Fr[];
28
26
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DOzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsY0FBYztJQUVoQixNQUFNLEVBQUUsTUFBTTtJQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRTtJQUMxQixrQkFBa0IsRUFBRSxFQUFFO0lBQ3RCLFNBQVMsRUFBRSxZQUFZO0lBSmhDLFlBQ1MsTUFBTSxFQUFFLE1BQU0sRUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsRUFDMUIsa0JBQWtCLEVBQUUsRUFBRSxFQUN0QixTQUFTLEVBQUUsWUFBWSxFQUM1QjtJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FPZjtJQUVELFlBQVk7Ozs7O01BU1g7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxHQUFHLGNBQWMsQ0FFM0Y7Q0FDRiJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9tZXNzYWdlX2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7Ozs7Ozs7R0FRRztBQUNILHFCQUFhLGNBQWM7SUFFaEIsTUFBTSxFQUFFLE1BQU07SUFDZCxvQkFBb0IsRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0JBQWtCLEVBQUUsRUFBRTtJQUgvQixZQUNTLE1BQU0sRUFBRSxNQUFNLEVBQ2Qsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLEVBQzFCLGtCQUFrQixFQUFFLEVBQUUsRUFDM0I7SUFFSixRQUFRLElBQUksRUFBRSxFQUFFLENBTWY7SUFFRCxZQUFZOzs7O01BUVg7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FFN0I7SUFFRCxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsRUFBRSxDQUkzQjtJQUVELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsY0FBYyxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUUsQ0FNL0Q7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IACtB,SAAS,EAAE,YAAY;IAJhC,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EACtB,SAAS,EAAE,YAAY,EAC5B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAOf;IAED,YAAY;;;;;MASX;IAED,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,cAAc,CAE3F;CACF"}
1
+ {"version":3,"file":"message_context.d.ts","sourceRoot":"","sources":["../../src/logs/message_context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;;;;;GAQG;AACH,qBAAa,cAAc;IAEhB,MAAM,EAAE,MAAM;IACd,oBAAoB,EAAE,EAAE,EAAE;IAC1B,kBAAkB,EAAE,EAAE;IAH/B,YACS,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,EAAE,EAAE,EAC1B,kBAAkB,EAAE,EAAE,EAC3B;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAMf;IAED,YAAY;;;;MAQX;IAED,MAAM,CAAC,KAAK,IAAI,cAAc,CAE7B;IAED,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,CAI3B;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,EAAE,EAAE,CAM/D;CACF"}
@@ -1,5 +1,7 @@
1
1
  import { MAX_NOTE_HASHES_PER_TX } from '@aztec/constants';
2
+ import { range } from '@aztec/foundation/array';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { TxHash } from '../tx/tx_hash.js';
3
5
  /**
4
6
  * Additional information needed to process a message.
5
7
  *
@@ -12,31 +14,44 @@ import { Fr } from '@aztec/foundation/curves/bn254';
12
14
  txHash;
13
15
  uniqueNoteHashesInTx;
14
16
  firstNullifierInTx;
15
- recipient;
16
- constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx, recipient){
17
+ constructor(txHash, uniqueNoteHashesInTx, firstNullifierInTx){
17
18
  this.txHash = txHash;
18
19
  this.uniqueNoteHashesInTx = uniqueNoteHashesInTx;
19
20
  this.firstNullifierInTx = firstNullifierInTx;
20
- this.recipient = recipient;
21
21
  }
22
22
  toFields() {
23
23
  return [
24
24
  this.txHash.hash,
25
25
  ...serializeBoundedVec(this.uniqueNoteHashesInTx, MAX_NOTE_HASHES_PER_TX),
26
- this.firstNullifierInTx,
27
- this.recipient.toField()
26
+ this.firstNullifierInTx
28
27
  ];
29
28
  }
30
29
  toNoirStruct() {
31
30
  /* eslint-disable camelcase */ return {
32
31
  tx_hash: this.txHash.hash,
33
32
  unique_note_hashes_in_tx: this.uniqueNoteHashesInTx,
34
- first_nullifier_in_tx: this.firstNullifierInTx,
35
- recipient: this.recipient
33
+ first_nullifier_in_tx: this.firstNullifierInTx
36
34
  };
37
35
  /* eslint-enable camelcase */ }
38
- static fromTxEffectAndRecipient(txEffect, recipient) {
39
- return new MessageContext(txEffect.txHash, txEffect.noteHashes, txEffect.nullifiers[0], recipient);
36
+ static empty() {
37
+ return new MessageContext(TxHash.zero(), [], Fr.ZERO);
38
+ }
39
+ static toEmptyFields() {
40
+ const serializationLen = 1 /* txHash */ + MAX_NOTE_HASHES_PER_TX + 1 /* uniqueNoteHashesInTx BVec */ + 1; /* firstNullifierInTx */
41
+ return range(serializationLen).map((_)=>Fr.zero());
42
+ }
43
+ static toSerializedOption(response) {
44
+ if (response) {
45
+ return [
46
+ new Fr(1),
47
+ ...response.toFields()
48
+ ];
49
+ } else {
50
+ return [
51
+ new Fr(0),
52
+ ...MessageContext.toEmptyFields()
53
+ ];
54
+ }
40
55
  }
41
56
  }
42
57
  /**
@@ -46,6 +61,9 @@ import { Fr } from '@aztec/foundation/curves/bn254';
46
61
  * @returns The serialized bounded vector as Fr[]
47
62
  * @dev Copied over from pending_tagged_log.ts.
48
63
  */ function serializeBoundedVec(values, maxLength) {
64
+ if (values.length > maxLength) {
65
+ throw new Error(`Attempted to serialize ${values} values into a BoundedVec with max length ${maxLength}`);
66
+ }
49
67
  const lengthDiff = maxLength - values.length;
50
68
  const zeroPaddingArray = Array(lengthDiff).fill(Fr.ZERO);
51
69
  const storage = values.concat(zeroPaddingArray);
@@ -1,5 +1,4 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import type { AztecAddress } from '../aztec-address/index.js';
3
2
  import type { TxHash } from '../tx/tx_hash.js';
4
3
  /**
5
4
  * Represents a pending tagged log as it is stored in the pending tagged log array to which the fetchTaggedLogs oracle
@@ -8,7 +7,7 @@ import type { TxHash } from '../tx/tx_hash.js';
8
7
  export declare class PendingTaggedLog {
9
8
  log: Fr[];
10
9
  private context;
11
- constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr, recipient: AztecAddress);
10
+ constructor(log: Fr[], txHash: TxHash, uniqueNoteHashesInTx: Fr[], firstNullifierInTx: Fr);
12
11
  toFields(): Fr[];
13
12
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBQ3RCLFNBQVMsRUFBRSxZQUFZLEVBR3hCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZ190YWdnZWRfbG9nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9wZW5kaW5nX3RhZ2dlZF9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRy9DOzs7R0FHRztBQUNILHFCQUFhLGdCQUFnQjtJQUlsQixHQUFHLEVBQUUsRUFBRSxFQUFFO0lBSGxCLE9BQU8sQ0FBQyxPQUFPLENBQWlCO0lBRWhDLFlBQ1MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUMxQixrQkFBa0IsRUFBRSxFQUFFLEVBR3ZCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0NBQ0YifQ==