@aztec/stdlib 3.0.3 → 3.9.9-nightly.20260312

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 (859) hide show
  1. package/dest/abi/abi.d.ts +602 -4
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +7 -7
  4. package/dest/abi/contract_artifact.d.ts +2 -2
  5. package/dest/abi/contract_artifact.d.ts.map +1 -1
  6. package/dest/abi/contract_artifact.js +1 -1
  7. package/dest/abi/decoder.d.ts +2 -2
  8. package/dest/abi/decoder.d.ts.map +1 -1
  9. package/dest/abi/decoder.js +7 -5
  10. package/dest/abi/encoder.d.ts +1 -1
  11. package/dest/abi/encoder.d.ts.map +1 -1
  12. package/dest/abi/encoder.js +37 -6
  13. package/dest/abi/event_metadata_definition.d.ts +3 -1
  14. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  15. package/dest/abi/event_metadata_definition.js +1 -1
  16. package/dest/abi/function_call.d.ts +47 -9
  17. package/dest/abi/function_call.d.ts.map +1 -1
  18. package/dest/abi/function_call.js +20 -3
  19. package/dest/abi/function_selector.d.ts +2 -1
  20. package/dest/abi/function_selector.d.ts.map +1 -1
  21. package/dest/abi/function_selector.js +7 -0
  22. package/dest/abi/selector.js +3 -1
  23. package/dest/abi/utils.d.ts +20 -1
  24. package/dest/abi/utils.d.ts.map +1 -1
  25. package/dest/abi/utils.js +22 -0
  26. package/dest/auth_witness/auth_witness.d.ts +2 -1
  27. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  28. package/dest/auth_witness/auth_witness.js +3 -3
  29. package/dest/avm/avm.d.ts +362 -362
  30. package/dest/avm/avm.js +1 -1
  31. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  32. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  33. package/dest/avm/avm_accumulated_data.js +5 -2
  34. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  35. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  36. package/dest/avm/avm_proving_request.d.ts +465 -465
  37. package/dest/avm/contract_storage_read.d.ts +13 -1
  38. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  39. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  40. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  41. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  42. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  43. package/dest/avm/public_data_read.d.ts +10 -1
  44. package/dest/avm/public_data_read.d.ts.map +1 -1
  45. package/dest/avm/public_data_update_request.d.ts +10 -1
  46. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  47. package/dest/avm/public_data_update_request.js +3 -1
  48. package/dest/avm/public_data_write.d.ts +7 -1
  49. package/dest/avm/public_data_write.d.ts.map +1 -1
  50. package/dest/avm/public_inner_call_request.d.ts +4 -1
  51. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  52. package/dest/avm/public_inner_call_request.js +3 -1
  53. package/dest/avm/revert_code.d.ts +19 -4
  54. package/dest/avm/revert_code.d.ts.map +1 -1
  55. package/dest/avm/revert_code.js +18 -6
  56. package/dest/aztec-address/index.js +4 -2
  57. package/dest/block/attestation_info.d.ts +5 -5
  58. package/dest/block/attestation_info.d.ts.map +1 -1
  59. package/dest/block/attestation_info.js +4 -4
  60. package/dest/block/block_data.d.ts +52 -0
  61. package/dest/block/block_data.d.ts.map +1 -0
  62. package/dest/block/block_data.js +12 -0
  63. package/dest/block/block_hash.d.ts +18 -14
  64. package/dest/block/block_hash.d.ts.map +1 -1
  65. package/dest/block/block_hash.js +22 -20
  66. package/dest/block/block_parameter.d.ts +4 -3
  67. package/dest/block/block_parameter.d.ts.map +1 -1
  68. package/dest/block/block_parameter.js +2 -0
  69. package/dest/block/body.d.ts +1 -1
  70. package/dest/block/body.d.ts.map +1 -1
  71. package/dest/block/body.js +5 -2
  72. package/dest/block/checkpointed_l2_block.d.ts +150 -0
  73. package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
  74. package/dest/block/checkpointed_l2_block.js +46 -0
  75. package/dest/block/in_block.d.ts +9 -9
  76. package/dest/block/in_block.d.ts.map +1 -1
  77. package/dest/block/in_block.js +5 -5
  78. package/dest/block/index.d.ts +3 -4
  79. package/dest/block/index.d.ts.map +1 -1
  80. package/dest/block/index.js +2 -3
  81. package/dest/block/l2_block.d.ts +65 -57
  82. package/dest/block/l2_block.d.ts.map +1 -1
  83. package/dest/block/l2_block.js +73 -107
  84. package/dest/block/l2_block_source.d.ts +372 -92
  85. package/dest/block/l2_block_source.d.ts.map +1 -1
  86. package/dest/block/l2_block_source.js +25 -6
  87. package/dest/block/l2_block_stream/index.d.ts +2 -1
  88. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/index.js +1 -0
  90. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  91. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_block_stream.d.ts +13 -3
  93. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  94. package/dest/block/l2_block_stream/l2_block_stream.js +125 -32
  95. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  96. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  97. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  98. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  99. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  100. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  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 +478 -41
  104. package/dest/block/validate_block_result.d.ts +24 -24
  105. package/dest/block/validate_block_result.d.ts.map +1 -1
  106. package/dest/block/validate_block_result.js +18 -17
  107. package/dest/checkpoint/checkpoint.d.ts +58 -18
  108. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint.js +83 -16
  110. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  111. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  112. package/dest/checkpoint/checkpoint_data.js +26 -0
  113. package/dest/checkpoint/checkpoint_info.d.ts +38 -0
  114. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
  115. package/dest/checkpoint/checkpoint_info.js +34 -0
  116. package/dest/checkpoint/index.d.ts +4 -1
  117. package/dest/checkpoint/index.d.ts.map +1 -1
  118. package/dest/checkpoint/index.js +3 -0
  119. package/dest/checkpoint/published_checkpoint.d.ts +46 -23
  120. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  121. package/dest/checkpoint/published_checkpoint.js +15 -5
  122. package/dest/checkpoint/validate.d.ts +36 -0
  123. package/dest/checkpoint/validate.d.ts.map +1 -0
  124. package/dest/checkpoint/validate.js +120 -0
  125. package/dest/config/index.d.ts +2 -1
  126. package/dest/config/index.d.ts.map +1 -1
  127. package/dest/config/index.js +1 -0
  128. package/dest/config/node-rpc-config.js +1 -1
  129. package/dest/config/sequencer-config.d.ts +10 -0
  130. package/dest/config/sequencer-config.d.ts.map +1 -0
  131. package/dest/config/sequencer-config.js +23 -0
  132. package/dest/contract/complete_address.d.ts +4 -1
  133. package/dest/contract/complete_address.d.ts.map +1 -1
  134. package/dest/contract/contract_address.js +4 -4
  135. package/dest/contract/contract_class.d.ts +2 -3
  136. package/dest/contract/contract_class.d.ts.map +1 -1
  137. package/dest/contract/contract_class_id.d.ts +2 -2
  138. package/dest/contract/contract_class_id.d.ts.map +1 -1
  139. package/dest/contract/contract_class_id.js +6 -5
  140. package/dest/contract/contract_deployment_data.d.ts +5 -5
  141. package/dest/contract/index.d.ts +1 -3
  142. package/dest/contract/index.d.ts.map +1 -1
  143. package/dest/contract/index.js +0 -2
  144. package/dest/contract/interfaces/contract_class.d.ts +11 -13
  145. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  146. package/dest/contract/interfaces/contract_class.js +18 -18
  147. package/dest/contract/interfaces/contract_instance.d.ts +28 -29
  148. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  149. package/dest/contract/interfaces/contract_instance.js +5 -5
  150. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -7
  151. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  152. package/dest/contract/interfaces/contract_instance_update.js +5 -5
  153. package/dest/contract/interfaces/node-info.d.ts +3 -1
  154. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  155. package/dest/contract/interfaces/node-info.js +2 -1
  156. package/dest/contract/private_function.d.ts +1 -1
  157. package/dest/contract/private_function.d.ts.map +1 -1
  158. package/dest/contract/private_function.js +3 -4
  159. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  160. package/dest/contract/private_function_membership_proof.js +1 -1
  161. package/dest/database-version/database_version.d.ts +58 -0
  162. package/dest/database-version/database_version.d.ts.map +1 -0
  163. package/dest/database-version/database_version.js +69 -0
  164. package/dest/database-version/version_manager.d.ts +3 -49
  165. package/dest/database-version/version_manager.d.ts.map +1 -1
  166. package/dest/database-version/version_manager.js +1 -64
  167. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  168. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  169. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  170. package/dest/deserialization/index.d.ts +11 -0
  171. package/dest/deserialization/index.d.ts.map +1 -0
  172. package/dest/deserialization/index.js +10 -0
  173. package/dest/epoch-helpers/index.d.ts +11 -1
  174. package/dest/epoch-helpers/index.d.ts.map +1 -1
  175. package/dest/epoch-helpers/index.js +14 -6
  176. package/dest/errors/proving_error.d.ts +2 -2
  177. package/dest/errors/proving_error.d.ts.map +1 -1
  178. package/dest/file-store/local.d.ts +3 -3
  179. package/dest/file-store/local.d.ts.map +1 -1
  180. package/dest/file-store/local.js +13 -4
  181. package/dest/file-store/s3.d.ts +1 -1
  182. package/dest/file-store/s3.d.ts.map +1 -1
  183. package/dest/file-store/s3.js +11 -3
  184. package/dest/gas/gas.js +3 -1
  185. package/dest/gas/gas_fees.js +3 -1
  186. package/dest/hash/hash.d.ts +2 -9
  187. package/dest/hash/hash.d.ts.map +1 -1
  188. package/dest/hash/hash.js +14 -20
  189. package/dest/hash/map_slot.d.ts +1 -1
  190. package/dest/hash/map_slot.d.ts.map +1 -1
  191. package/dest/hash/map_slot.js +4 -3
  192. package/dest/interfaces/allowed_element.d.ts +30 -25
  193. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  194. package/dest/interfaces/allowed_element.js +11 -11
  195. package/dest/interfaces/api_limit.d.ts +3 -1
  196. package/dest/interfaces/api_limit.d.ts.map +1 -1
  197. package/dest/interfaces/api_limit.js +2 -0
  198. package/dest/interfaces/archiver.d.ts +6 -6
  199. package/dest/interfaces/archiver.d.ts.map +1 -1
  200. package/dest/interfaces/archiver.js +33 -17
  201. package/dest/interfaces/aztec-node-admin.d.ts +202 -65
  202. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  203. package/dest/interfaces/aztec-node-admin.js +15 -7
  204. package/dest/interfaces/aztec-node.d.ts +86 -83
  205. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  206. package/dest/interfaces/aztec-node.js +18 -18
  207. package/dest/interfaces/block-builder.d.ts +27 -15
  208. package/dest/interfaces/block-builder.d.ts.map +1 -1
  209. package/dest/interfaces/block-builder.js +24 -1
  210. package/dest/interfaces/configs.d.ts +132 -53
  211. package/dest/interfaces/configs.d.ts.map +1 -1
  212. package/dest/interfaces/configs.js +22 -8
  213. package/dest/interfaces/get_logs_response.d.ts +27 -5
  214. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  215. package/dest/interfaces/get_logs_response.js +5 -4
  216. package/dest/interfaces/l2_logs_source.d.ts +21 -8
  217. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  218. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  219. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  220. package/dest/interfaces/p2p.d.ts +9 -16
  221. package/dest/interfaces/p2p.d.ts.map +1 -1
  222. package/dest/interfaces/p2p.js +3 -4
  223. package/dest/interfaces/prover-broker.d.ts +16 -1
  224. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  225. package/dest/interfaces/prover-broker.js +4 -1
  226. package/dest/interfaces/prover-client.d.ts +24 -3
  227. package/dest/interfaces/prover-client.d.ts.map +1 -1
  228. package/dest/interfaces/prover-client.js +22 -4
  229. package/dest/interfaces/proving-job.d.ts +218 -218
  230. package/dest/interfaces/proving-job.d.ts.map +1 -1
  231. package/dest/interfaces/proving-job.js +1 -7
  232. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  233. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  234. package/dest/interfaces/slasher.d.ts +9 -1
  235. package/dest/interfaces/slasher.d.ts.map +1 -1
  236. package/dest/interfaces/slasher.js +5 -3
  237. package/dest/interfaces/tx_provider.d.ts +3 -3
  238. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  239. package/dest/interfaces/validator.d.ts +224 -47
  240. package/dest/interfaces/validator.d.ts.map +1 -1
  241. package/dest/interfaces/validator.js +17 -8
  242. package/dest/interfaces/world_state.d.ts +17 -8
  243. package/dest/interfaces/world_state.d.ts.map +1 -1
  244. package/dest/kernel/claimed_length_array.js +3 -1
  245. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +7 -6
  246. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  247. package/dest/kernel/hints/build_note_hash_read_request_hints.js +31 -19
  248. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  249. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  250. package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
  251. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  252. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  253. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  254. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  255. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  256. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
  257. package/dest/kernel/hints/index.d.ts +2 -2
  258. package/dest/kernel/hints/index.js +2 -2
  259. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  260. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  261. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  262. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  263. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  264. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  265. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  266. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  267. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  268. package/dest/kernel/hints/read_request.d.ts +7 -1
  269. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  270. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  271. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  272. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  273. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  274. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  275. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  276. package/dest/kernel/log_hash.js +3 -1
  277. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  278. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  279. package/dest/kernel/private_call_data.d.ts +25 -1
  280. package/dest/kernel/private_call_data.d.ts.map +1 -1
  281. package/dest/kernel/private_call_request.d.ts +16 -1
  282. package/dest/kernel/private_call_request.d.ts.map +1 -1
  283. package/dest/kernel/private_circuit_public_inputs.d.ts +126 -53
  284. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  285. package/dest/kernel/private_circuit_public_inputs.js +71 -71
  286. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
  287. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  288. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  289. package/dest/kernel/private_kernel_data.d.ts +7 -1
  290. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  291. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  292. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  293. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  294. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  295. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  296. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  297. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  298. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  299. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  300. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +26 -3
  301. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  302. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  303. package/dest/kernel/private_log_data.js +5 -2
  304. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  305. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  306. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  307. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  308. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  309. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  310. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  311. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  312. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  313. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
  314. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  315. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  316. package/dest/kernel/private_validation_requests.d.ts +13 -4
  317. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  318. package/dest/kernel/private_validation_requests.js +12 -10
  319. package/dest/kernel/public_call_request.d.ts +22 -1
  320. package/dest/kernel/public_call_request.d.ts.map +1 -1
  321. package/dest/kernel/public_call_request.js +5 -2
  322. package/dest/kernel/utils/optional_number.d.ts +7 -1
  323. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  324. package/dest/keys/derivation.d.ts +3 -3
  325. package/dest/keys/derivation.js +15 -15
  326. package/dest/keys/key_types.d.ts +3 -3
  327. package/dest/keys/key_types.d.ts.map +1 -1
  328. package/dest/keys/public_keys.d.ts +5 -1
  329. package/dest/keys/public_keys.d.ts.map +1 -1
  330. package/dest/keys/public_keys.js +2 -2
  331. package/dest/keys/utils.d.ts +1 -1
  332. package/dest/keys/utils.d.ts.map +1 -1
  333. package/dest/keys/utils.js +8 -4
  334. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  335. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  336. package/dest/l1-contracts/slash_factory.js +1 -0
  337. package/dest/logs/contract_class_log.js +3 -1
  338. package/dest/logs/debug_log_store.d.ts +30 -0
  339. package/dest/logs/debug_log_store.d.ts.map +1 -0
  340. package/dest/logs/debug_log_store.js +30 -0
  341. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  342. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  343. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  344. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  345. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  346. package/dest/logs/extended_public_log.d.ts +17 -3
  347. package/dest/logs/extended_public_log.d.ts.map +1 -1
  348. package/dest/logs/index.d.ts +5 -3
  349. package/dest/logs/index.d.ts.map +1 -1
  350. package/dest/logs/index.js +4 -2
  351. package/dest/logs/log_id.d.ts +22 -7
  352. package/dest/logs/log_id.d.ts.map +1 -1
  353. package/dest/logs/log_id.js +23 -13
  354. package/dest/logs/pre_tag.d.ts +16 -11
  355. package/dest/logs/pre_tag.d.ts.map +1 -1
  356. package/dest/logs/pre_tag.js +2 -2
  357. package/dest/logs/private_log.d.ts +2 -2
  358. package/dest/logs/private_log.d.ts.map +1 -1
  359. package/dest/logs/private_log.js +5 -2
  360. package/dest/logs/public_log.d.ts +4 -3
  361. package/dest/logs/public_log.d.ts.map +1 -1
  362. package/dest/logs/public_log.js +5 -2
  363. package/dest/logs/siloed_tag.d.ts +25 -0
  364. package/dest/logs/siloed_tag.d.ts.map +1 -0
  365. package/dest/logs/siloed_tag.js +32 -0
  366. package/dest/logs/tag.d.ts +21 -0
  367. package/dest/logs/tag.d.ts.map +1 -0
  368. package/dest/logs/tag.js +30 -0
  369. package/dest/logs/tx_scoped_l2_log.d.ts +24 -33
  370. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  371. package/dest/logs/tx_scoped_l2_log.js +37 -43
  372. package/dest/messaging/in_hash.d.ts +4 -2
  373. package/dest/messaging/in_hash.d.ts.map +1 -1
  374. package/dest/messaging/in_hash.js +3 -1
  375. package/dest/messaging/inbox_leaf.d.ts +3 -1
  376. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  377. package/dest/messaging/l1_actor.d.ts +7 -1
  378. package/dest/messaging/l1_actor.d.ts.map +1 -1
  379. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  380. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  381. package/dest/messaging/l2_actor.d.ts +7 -1
  382. package/dest/messaging/l2_actor.d.ts.map +1 -1
  383. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  384. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  385. package/dest/messaging/l2_to_l1_membership.js +160 -42
  386. package/dest/messaging/out_hash.d.ts +41 -3
  387. package/dest/messaging/out_hash.d.ts.map +1 -1
  388. package/dest/messaging/out_hash.js +54 -19
  389. package/dest/note/index.d.ts +1 -2
  390. package/dest/note/index.d.ts.map +1 -1
  391. package/dest/note/index.js +0 -1
  392. package/dest/note/note_dao.d.ts +36 -5
  393. package/dest/note/note_dao.d.ts.map +1 -1
  394. package/dest/note/note_dao.js +15 -12
  395. package/dest/p2p/attestation_utils.d.ts +13 -3
  396. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  397. package/dest/p2p/attestation_utils.js +46 -1
  398. package/dest/p2p/block_proposal.d.ts +102 -23
  399. package/dest/p2p/block_proposal.d.ts.map +1 -1
  400. package/dest/p2p/block_proposal.js +138 -39
  401. package/dest/p2p/checkpoint_attestation.d.ts +82 -0
  402. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  403. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  404. package/dest/p2p/checkpoint_proposal.d.ts +174 -0
  405. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  406. package/dest/p2p/checkpoint_proposal.js +231 -0
  407. package/dest/p2p/client_type.d.ts +2 -5
  408. package/dest/p2p/client_type.d.ts.map +1 -1
  409. package/dest/p2p/client_type.js +0 -7
  410. package/dest/p2p/consensus_payload.d.ts +20 -11
  411. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  412. package/dest/p2p/consensus_payload.js +24 -19
  413. package/dest/p2p/constants.d.ts +5 -0
  414. package/dest/p2p/constants.d.ts.map +1 -0
  415. package/dest/p2p/constants.js +3 -0
  416. package/dest/p2p/gossipable.d.ts +4 -3
  417. package/dest/p2p/gossipable.d.ts.map +1 -1
  418. package/dest/p2p/gossipable.js +16 -5
  419. package/dest/p2p/index.d.ts +5 -3
  420. package/dest/p2p/index.d.ts.map +1 -1
  421. package/dest/p2p/index.js +4 -2
  422. package/dest/p2p/message_validator.d.ts +18 -3
  423. package/dest/p2p/message_validator.d.ts.map +1 -1
  424. package/dest/p2p/message_validator.js +2 -1
  425. package/dest/p2p/peer_error.d.ts +3 -1
  426. package/dest/p2p/peer_error.d.ts.map +1 -1
  427. package/dest/p2p/peer_error.js +5 -0
  428. package/dest/p2p/signature_utils.d.ts +5 -3
  429. package/dest/p2p/signature_utils.d.ts.map +1 -1
  430. package/dest/p2p/signature_utils.js +3 -1
  431. package/dest/p2p/signed_txs.d.ts +42 -0
  432. package/dest/p2p/signed_txs.d.ts.map +1 -0
  433. package/dest/p2p/signed_txs.js +75 -0
  434. package/dest/p2p/topic_type.d.ts +5 -5
  435. package/dest/p2p/topic_type.d.ts.map +1 -1
  436. package/dest/p2p/topic_type.js +9 -19
  437. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  438. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  439. package/dest/parity/parity_public_inputs.d.ts +4 -1
  440. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  441. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  442. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  443. package/dest/proofs/chonk_proof.d.ts +1 -1
  444. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  445. package/dest/proofs/chonk_proof.js +9 -4
  446. package/dest/proofs/proof.d.ts +4 -1
  447. package/dest/proofs/proof.d.ts.map +1 -1
  448. package/dest/proofs/recursive_proof.d.ts +10 -1
  449. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  450. package/dest/rollup/avm_proof_data.d.ts +1 -3
  451. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  452. package/dest/rollup/avm_proof_data.js +1 -9
  453. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  454. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  455. package/dest/rollup/block_constant_data.d.ts +12 -1
  456. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  457. package/dest/rollup/block_headers_hash.js +1 -1
  458. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  459. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  460. package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
  461. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  462. package/dest/rollup/block_rollup_public_inputs.js +8 -12
  463. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  464. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  465. package/dest/rollup/checkpoint_constant_data.d.ts +11 -1
  466. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  467. package/dest/rollup/checkpoint_constant_data.js +4 -1
  468. package/dest/rollup/checkpoint_header.d.ts +46 -12
  469. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  470. package/dest/rollup/checkpoint_header.js +53 -20
  471. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  472. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  473. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +46 -6
  474. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  475. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -3
  476. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  477. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  478. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  479. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  480. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  481. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  482. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  483. package/dest/rollup/root_rollup_public_inputs.d.ts +21 -6
  484. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  485. package/dest/rollup/root_rollup_public_inputs.js +10 -4
  486. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  487. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  488. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  489. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  490. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  491. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  492. package/dest/schemas/schemas.d.ts +5 -3
  493. package/dest/schemas/schemas.d.ts.map +1 -1
  494. package/dest/schemas/schemas.js +2 -1
  495. package/dest/slashing/empire.d.ts +1 -1
  496. package/dest/slashing/empire.d.ts.map +1 -1
  497. package/dest/slashing/empire.js +2 -0
  498. package/dest/slashing/helpers.d.ts +2 -2
  499. package/dest/slashing/helpers.d.ts.map +1 -1
  500. package/dest/slashing/helpers.js +6 -0
  501. package/dest/slashing/tally.d.ts +8 -2
  502. package/dest/slashing/tally.d.ts.map +1 -1
  503. package/dest/slashing/tally.js +35 -3
  504. package/dest/slashing/types.d.ts +10 -7
  505. package/dest/slashing/types.d.ts.map +1 -1
  506. package/dest/slashing/types.js +18 -6
  507. package/dest/snapshots/types.d.ts +1 -1
  508. package/dest/snapshots/types.d.ts.map +1 -1
  509. package/dest/snapshots/types.js +5 -5
  510. package/dest/stats/stats.d.ts +10 -8
  511. package/dest/stats/stats.d.ts.map +1 -1
  512. package/dest/tests/factories.d.ts +41 -10
  513. package/dest/tests/factories.d.ts.map +1 -1
  514. package/dest/tests/factories.js +99 -36
  515. package/dest/tests/jest.js +1 -1
  516. package/dest/tests/mocks.d.ts +81 -20
  517. package/dest/tests/mocks.d.ts.map +1 -1
  518. package/dest/tests/mocks.js +160 -71
  519. package/dest/timetable/index.d.ts +37 -0
  520. package/dest/timetable/index.d.ts.map +1 -0
  521. package/dest/timetable/index.js +39 -0
  522. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  523. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  524. package/dest/trees/append_only_tree_snapshot.js +3 -1
  525. package/dest/trees/nullifier_leaf.d.ts +13 -1
  526. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  527. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  528. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  529. package/dest/trees/public_data_leaf.d.ts +17 -1
  530. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  531. package/dest/trees/public_data_leaf.js +7 -6
  532. package/dest/trees/public_data_witness.d.ts +11 -1
  533. package/dest/trees/public_data_witness.d.ts.map +1 -1
  534. package/dest/tx/block_header.d.ts +23 -8
  535. package/dest/tx/block_header.d.ts.map +1 -1
  536. package/dest/tx/block_header.js +17 -3
  537. package/dest/tx/call_context.d.ts +13 -1
  538. package/dest/tx/call_context.d.ts.map +1 -1
  539. package/dest/tx/call_context.js +3 -1
  540. package/dest/tx/capsule.d.ts +4 -1
  541. package/dest/tx/capsule.d.ts.map +1 -1
  542. package/dest/tx/execution_payload.d.ts +9 -1
  543. package/dest/tx/execution_payload.d.ts.map +1 -1
  544. package/dest/tx/function_data.d.ts +4 -2
  545. package/dest/tx/function_data.d.ts.map +1 -1
  546. package/dest/tx/global_variable_builder.d.ts +5 -3
  547. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  548. package/dest/tx/global_variables.d.ts +14 -1
  549. package/dest/tx/global_variables.d.ts.map +1 -1
  550. package/dest/tx/global_variables.js +3 -1
  551. package/dest/tx/hashed_values.d.ts +7 -1
  552. package/dest/tx/hashed_values.d.ts.map +1 -1
  553. package/dest/tx/in_tx.d.ts +4 -4
  554. package/dest/tx/index.d.ts +1 -2
  555. package/dest/tx/index.d.ts.map +1 -1
  556. package/dest/tx/index.js +0 -1
  557. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  558. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  559. package/dest/tx/indexed_tx_effect.js +3 -2
  560. package/dest/tx/partial_state_reference.d.ts +4 -1
  561. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  562. package/dest/tx/private_execution_result.d.ts +24 -7
  563. package/dest/tx/private_execution_result.d.ts.map +1 -1
  564. package/dest/tx/private_execution_result.js +4 -21
  565. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  566. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  567. package/dest/tx/profiling.d.ts +152 -29
  568. package/dest/tx/profiling.d.ts.map +1 -1
  569. package/dest/tx/profiling.js +47 -10
  570. package/dest/tx/protocol_contracts.d.ts +2 -2
  571. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  572. package/dest/tx/protocol_contracts.js +2 -2
  573. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  574. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  575. package/dest/tx/public_call_request_with_calldata.js +3 -1
  576. package/dest/tx/public_simulation_output.d.ts +4 -2
  577. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  578. package/dest/tx/public_simulation_output.js +7 -3
  579. package/dest/tx/simulated_tx.d.ts +1035 -8
  580. package/dest/tx/simulated_tx.d.ts.map +1 -1
  581. package/dest/tx/simulated_tx.js +4 -1
  582. package/dest/tx/state_reference.d.ts +3 -1
  583. package/dest/tx/state_reference.d.ts.map +1 -1
  584. package/dest/tx/state_reference.js +3 -1
  585. package/dest/tx/tree_snapshots.js +3 -1
  586. package/dest/tx/tx.d.ts +38 -7
  587. package/dest/tx/tx.d.ts.map +1 -1
  588. package/dest/tx/tx.js +36 -12
  589. package/dest/tx/tx_context.d.ts +2 -1
  590. package/dest/tx/tx_context.d.ts.map +1 -1
  591. package/dest/tx/tx_effect.d.ts +32 -6
  592. package/dest/tx/tx_effect.d.ts.map +1 -1
  593. package/dest/tx/tx_effect.js +6 -9
  594. package/dest/tx/tx_execution_request.d.ts +30 -1
  595. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  596. package/dest/tx/tx_execution_request.js +6 -2
  597. package/dest/tx/tx_hash.d.ts +2 -1
  598. package/dest/tx/tx_hash.d.ts.map +1 -1
  599. package/dest/tx/tx_receipt.d.ts +62 -14
  600. package/dest/tx/tx_receipt.d.ts.map +1 -1
  601. package/dest/tx/tx_receipt.js +55 -16
  602. package/dest/tx/tx_request.d.ts +6 -1
  603. package/dest/tx/tx_request.d.ts.map +1 -1
  604. package/dest/tx/tx_request.js +2 -2
  605. package/dest/tx/validator/empty_validator.d.ts +2 -2
  606. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  607. package/dest/tx/validator/error_texts.d.ts +7 -2
  608. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  609. package/dest/tx/validator/error_texts.js +7 -1
  610. package/dest/tx/validator/tx_validator.d.ts +2 -5
  611. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  612. package/dest/tx/validator/tx_validator.js +4 -4
  613. package/dest/types/shared.d.ts +4 -1
  614. package/dest/types/shared.d.ts.map +1 -1
  615. package/dest/update-checker/index.d.ts +3 -2
  616. package/dest/update-checker/index.d.ts.map +1 -1
  617. package/dest/update-checker/index.js +2 -1
  618. package/dest/update-checker/package_version.d.ts +3 -0
  619. package/dest/update-checker/package_version.d.ts.map +1 -0
  620. package/dest/update-checker/package_version.js +24 -0
  621. package/dest/update-checker/version_checker.d.ts +25 -0
  622. package/dest/update-checker/version_checker.d.ts.map +1 -0
  623. package/dest/update-checker/version_checker.js +50 -0
  624. package/dest/validators/errors.d.ts +6 -1
  625. package/dest/validators/errors.d.ts.map +1 -1
  626. package/dest/validators/errors.js +7 -0
  627. package/dest/validators/schemas.d.ts +38 -38
  628. package/dest/validators/schemas.d.ts.map +1 -1
  629. package/dest/validators/schemas.js +17 -16
  630. package/dest/validators/types.d.ts +3 -3
  631. package/dest/validators/types.d.ts.map +1 -1
  632. package/dest/vks/verification_key.d.ts +22 -1
  633. package/dest/vks/verification_key.d.ts.map +1 -1
  634. package/dest/vks/vk_data.d.ts +7 -1
  635. package/dest/vks/vk_data.d.ts.map +1 -1
  636. package/dest/zkpassport/index.d.ts +3 -4
  637. package/dest/zkpassport/index.d.ts.map +1 -1
  638. package/dest/zkpassport/index.js +9 -9
  639. package/package.json +28 -14
  640. package/src/abi/abi.ts +39 -33
  641. package/src/abi/contract_artifact.ts +10 -10
  642. package/src/abi/decoder.ts +15 -6
  643. package/src/abi/encoder.ts +49 -6
  644. package/src/abi/event_metadata_definition.ts +2 -0
  645. package/src/abi/function_call.ts +25 -3
  646. package/src/abi/function_selector.ts +8 -0
  647. package/src/abi/utils.ts +42 -0
  648. package/src/auth_witness/auth_witness.ts +3 -3
  649. package/src/avm/avm.ts +1 -1
  650. package/src/avm/revert_code.ts +15 -0
  651. package/src/block/attestation_info.ts +9 -6
  652. package/src/block/block_data.ts +26 -0
  653. package/src/block/block_hash.ts +26 -25
  654. package/src/block/block_parameter.ts +4 -2
  655. package/src/block/body.ts +2 -1
  656. package/src/block/checkpointed_l2_block.ts +70 -0
  657. package/src/block/in_block.ts +6 -6
  658. package/src/block/index.ts +2 -3
  659. package/src/block/l2_block.ts +112 -147
  660. package/src/block/l2_block_source.ts +207 -70
  661. package/src/block/l2_block_stream/index.ts +1 -0
  662. package/src/block/l2_block_stream/interfaces.ts +15 -4
  663. package/src/block/l2_block_stream/l2_block_stream.ts +160 -39
  664. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  665. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  666. package/src/block/test/l2_tips_store_test_suite.ts +480 -35
  667. package/src/block/validate_block_result.ts +40 -35
  668. package/src/checkpoint/checkpoint.ts +120 -23
  669. package/src/checkpoint/checkpoint_data.ts +51 -0
  670. package/src/checkpoint/checkpoint_info.ts +52 -0
  671. package/src/checkpoint/index.ts +3 -0
  672. package/src/checkpoint/published_checkpoint.ts +25 -8
  673. package/src/checkpoint/validate.ts +230 -0
  674. package/src/config/index.ts +1 -0
  675. package/src/config/node-rpc-config.ts +1 -1
  676. package/src/config/sequencer-config.ts +34 -0
  677. package/src/contract/contract_address.ts +4 -4
  678. package/src/contract/contract_class.ts +3 -3
  679. package/src/contract/contract_class_id.ts +6 -5
  680. package/src/contract/index.ts +0 -2
  681. package/src/contract/interfaces/contract_class.ts +59 -46
  682. package/src/contract/interfaces/contract_instance.ts +15 -13
  683. package/src/contract/interfaces/contract_instance_update.ts +11 -9
  684. package/src/contract/interfaces/node-info.ts +3 -0
  685. package/src/contract/private_function.ts +3 -4
  686. package/src/contract/private_function_membership_proof.ts +1 -1
  687. package/src/database-version/database_version.ts +87 -0
  688. package/src/database-version/version_manager.ts +1 -77
  689. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  690. package/src/deserialization/index.ts +21 -0
  691. package/src/epoch-helpers/index.ts +27 -10
  692. package/src/file-store/local.ts +15 -5
  693. package/src/file-store/s3.ts +12 -3
  694. package/src/hash/hash.ts +12 -19
  695. package/src/hash/map_slot.ts +3 -2
  696. package/src/interfaces/allowed_element.ts +34 -12
  697. package/src/interfaces/api_limit.ts +2 -0
  698. package/src/interfaces/archiver.ts +41 -25
  699. package/src/interfaces/aztec-node-admin.ts +33 -6
  700. package/src/interfaces/aztec-node.ts +133 -139
  701. package/src/interfaces/block-builder.ts +76 -25
  702. package/src/interfaces/configs.ts +104 -37
  703. package/src/interfaces/get_logs_response.ts +13 -9
  704. package/src/interfaces/l2_logs_source.ts +25 -7
  705. package/src/interfaces/merkle_tree_operations.ts +4 -1
  706. package/src/interfaces/p2p.ts +10 -25
  707. package/src/interfaces/prover-broker.ts +22 -0
  708. package/src/interfaces/prover-client.ts +43 -10
  709. package/src/interfaces/proving-job.ts +2 -11
  710. package/src/interfaces/server_circuit_prover.ts +3 -3
  711. package/src/interfaces/slasher.ts +28 -22
  712. package/src/interfaces/tx_provider.ts +2 -2
  713. package/src/interfaces/validator.ts +110 -32
  714. package/src/interfaces/world_state.ts +16 -9
  715. package/src/kernel/hints/build_note_hash_read_request_hints.ts +34 -30
  716. package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
  717. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  718. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
  719. package/src/kernel/hints/index.ts +2 -2
  720. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  721. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  722. package/src/kernel/private_circuit_public_inputs.ts +99 -99
  723. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  724. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  725. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  726. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  727. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  728. package/src/kernel/private_validation_requests.ts +8 -8
  729. package/src/keys/derivation.ts +15 -15
  730. package/src/keys/key_types.ts +6 -2
  731. package/src/keys/public_keys.ts +2 -2
  732. package/src/keys/utils.ts +8 -4
  733. package/src/l1-contracts/slash_factory.ts +1 -0
  734. package/src/logs/debug_log_store.ts +54 -0
  735. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  736. package/src/logs/index.ts +4 -2
  737. package/src/logs/log_id.ts +26 -12
  738. package/src/logs/pre_tag.ts +5 -5
  739. package/src/logs/private_log.ts +2 -1
  740. package/src/logs/public_log.ts +4 -2
  741. package/src/logs/siloed_tag.ts +50 -0
  742. package/src/logs/tag.ts +42 -0
  743. package/src/logs/tx_scoped_l2_log.ts +45 -43
  744. package/src/messaging/in_hash.ts +3 -1
  745. package/src/messaging/l1_to_l2_message.ts +1 -0
  746. package/src/messaging/l2_to_l1_membership.ts +178 -52
  747. package/src/messaging/out_hash.ts +62 -21
  748. package/src/note/index.ts +0 -1
  749. package/src/note/note_dao.ts +18 -13
  750. package/src/p2p/attestation_utils.ts +59 -3
  751. package/src/p2p/block_proposal.ts +211 -46
  752. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +36 -25
  753. package/src/p2p/checkpoint_proposal.ts +370 -0
  754. package/src/p2p/client_type.ts +0 -6
  755. package/src/p2p/consensus_payload.ts +29 -18
  756. package/src/p2p/constants.ts +6 -0
  757. package/src/p2p/gossipable.ts +14 -4
  758. package/src/p2p/index.ts +4 -2
  759. package/src/p2p/message_validator.ts +14 -2
  760. package/src/p2p/peer_error.ts +7 -0
  761. package/src/p2p/signature_utils.ts +3 -1
  762. package/src/p2p/signed_txs.ts +88 -0
  763. package/src/p2p/topic_type.ts +10 -16
  764. package/src/proofs/chonk_proof.ts +9 -5
  765. package/src/rollup/avm_proof_data.ts +0 -7
  766. package/src/rollup/block_headers_hash.ts +1 -1
  767. package/src/rollup/block_rollup_public_inputs.ts +5 -11
  768. package/src/rollup/checkpoint_constant_data.ts +1 -0
  769. package/src/rollup/checkpoint_header.ts +67 -20
  770. package/src/rollup/checkpoint_rollup_public_inputs.ts +17 -5
  771. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  772. package/src/rollup/root_rollup_public_inputs.ts +16 -7
  773. package/src/schemas/schemas.ts +4 -0
  774. package/src/slashing/empire.ts +3 -1
  775. package/src/slashing/helpers.ts +8 -0
  776. package/src/slashing/tally.ts +41 -2
  777. package/src/slashing/types.ts +38 -20
  778. package/src/snapshots/types.ts +33 -29
  779. package/src/stats/stats.ts +10 -7
  780. package/src/tests/factories.ts +124 -54
  781. package/src/tests/jest.ts +1 -1
  782. package/src/tests/mocks.ts +260 -100
  783. package/src/timetable/index.ts +66 -0
  784. package/src/trees/public_data_leaf.ts +11 -5
  785. package/src/tx/block_header.ts +28 -9
  786. package/src/tx/global_variable_builder.ts +9 -2
  787. package/src/tx/global_variables.ts +6 -0
  788. package/src/tx/index.ts +0 -1
  789. package/src/tx/indexed_tx_effect.ts +3 -2
  790. package/src/tx/private_execution_result.ts +2 -17
  791. package/src/tx/profiling.ts +51 -9
  792. package/src/tx/protocol_contracts.ts +2 -2
  793. package/src/tx/public_simulation_output.ts +4 -0
  794. package/src/tx/simulated_tx.ts +8 -1
  795. package/src/tx/tx.ts +39 -22
  796. package/src/tx/tx_effect.ts +3 -10
  797. package/src/tx/tx_execution_request.ts +2 -0
  798. package/src/tx/tx_receipt.ts +85 -18
  799. package/src/tx/tx_request.ts +2 -2
  800. package/src/tx/validator/empty_validator.ts +1 -1
  801. package/src/tx/validator/error_texts.ts +8 -1
  802. package/src/tx/validator/tx_validator.ts +9 -7
  803. package/src/update-checker/index.ts +2 -1
  804. package/src/update-checker/package_version.ts +30 -0
  805. package/src/update-checker/version_checker.ts +65 -0
  806. package/src/validators/errors.ts +9 -0
  807. package/src/validators/schemas.ts +61 -48
  808. package/src/validators/types.ts +5 -4
  809. package/src/zkpassport/index.ts +11 -12
  810. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  811. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  812. package/dest/block/l2_block_code_to_purge.js +0 -61
  813. package/dest/block/l2_block_header.d.ts +0 -98
  814. package/dest/block/l2_block_header.d.ts.map +0 -1
  815. package/dest/block/l2_block_header.js +0 -153
  816. package/dest/block/l2_block_new.d.ts +0 -130
  817. package/dest/block/l2_block_new.d.ts.map +0 -1
  818. package/dest/block/l2_block_new.js +0 -151
  819. package/dest/block/published_l2_block.d.ts +0 -130
  820. package/dest/block/published_l2_block.d.ts.map +0 -1
  821. package/dest/block/published_l2_block.js +0 -48
  822. package/dest/contract/contract_class_metadata.d.ts +0 -8
  823. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  824. package/dest/contract/contract_class_metadata.js +0 -1
  825. package/dest/contract/contract_metadata.d.ts +0 -7
  826. package/dest/contract/contract_metadata.d.ts.map +0 -1
  827. package/dest/contract/contract_metadata.js +0 -1
  828. package/dest/database-version/index.d.ts +0 -2
  829. package/dest/database-version/index.d.ts.map +0 -1
  830. package/dest/database-version/index.js +0 -1
  831. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  832. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  833. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  834. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  835. package/dest/logs/log_with_tx_data.d.ts +0 -19
  836. package/dest/logs/log_with_tx_data.d.ts.map +0 -1
  837. package/dest/logs/log_with_tx_data.js +0 -49
  838. package/dest/note/notes_filter.d.ts +0 -27
  839. package/dest/note/notes_filter.d.ts.map +0 -1
  840. package/dest/note/notes_filter.js +0 -11
  841. package/dest/p2p/block_attestation.d.ts +0 -80
  842. package/dest/p2p/block_attestation.d.ts.map +0 -1
  843. package/dest/tx/content_commitment.d.ts +0 -49
  844. package/dest/tx/content_commitment.d.ts.map +0 -1
  845. package/dest/tx/content_commitment.js +0 -90
  846. package/dest/update-checker/update-checker.d.ts +0 -49
  847. package/dest/update-checker/update-checker.d.ts.map +0 -1
  848. package/dest/update-checker/update-checker.js +0 -130
  849. package/src/block/l2_block_code_to_purge.ts +0 -88
  850. package/src/block/l2_block_header.ts +0 -246
  851. package/src/block/l2_block_new.ts +0 -197
  852. package/src/block/published_l2_block.ts +0 -65
  853. package/src/contract/contract_class_metadata.ts +0 -8
  854. package/src/contract/contract_metadata.ts +0 -7
  855. package/src/database-version/index.ts +0 -1
  856. package/src/logs/log_with_tx_data.ts +0 -46
  857. package/src/note/notes_filter.ts +0 -38
  858. package/src/tx/content_commitment.ts +0 -113
  859. package/src/update-checker/update-checker.ts +0 -166
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
3
3
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { sha512ToGrumpkinScalar } from '@aztec/foundation/crypto/sha512';
@@ -10,8 +10,8 @@ import type { KeyPrefix } from './key_types.js';
10
10
  import { PublicKeys } from './public_keys.js';
11
11
  import { getKeyGenerator } from './utils.js';
12
12
 
13
- export function computeAppNullifierSecretKey(masterNullifierSecretKey: GrumpkinScalar, app: AztecAddress): Promise<Fr> {
14
- return computeAppSecretKey(masterNullifierSecretKey, app, 'n'); // 'n' is the key prefix for nullifier secret key
13
+ export function computeAppNullifierHidingKey(masterNullifierHidingKey: GrumpkinScalar, app: AztecAddress): Promise<Fr> {
14
+ return computeAppSecretKey(masterNullifierHidingKey, app, 'n'); // 'n' is the key prefix for nullifier hiding key
15
15
  }
16
16
 
17
17
  export function computeAppSecretKey(skM: GrumpkinScalar, app: AztecAddress, keyPrefix: KeyPrefix): Promise<Fr> {
@@ -26,30 +26,30 @@ export async function computeOvskApp(ovsk: GrumpkinScalar, app: AztecAddress): P
26
26
  return GrumpkinScalar.fromBuffer(ovskAppFr.toBuffer());
27
27
  }
28
28
 
29
- export function deriveMasterNullifierSecretKey(secretKey: Fr): GrumpkinScalar {
30
- return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.NSK_M]);
29
+ export function deriveMasterNullifierHidingKey(secretKey: Fr): GrumpkinScalar {
30
+ return sha512ToGrumpkinScalar([secretKey, DomainSeparator.NHK_M]);
31
31
  }
32
32
 
33
33
  export function deriveMasterIncomingViewingSecretKey(secretKey: Fr): GrumpkinScalar {
34
- return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.IVSK_M]);
34
+ return sha512ToGrumpkinScalar([secretKey, DomainSeparator.IVSK_M]);
35
35
  }
36
36
 
37
37
  export function deriveMasterOutgoingViewingSecretKey(secretKey: Fr): GrumpkinScalar {
38
- return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.OVSK_M]);
38
+ return sha512ToGrumpkinScalar([secretKey, DomainSeparator.OVSK_M]);
39
39
  }
40
40
 
41
41
  export function deriveSigningKey(secretKey: Fr): GrumpkinScalar {
42
42
  // TODO(#5837): come up with a standard signing key derivation scheme instead of using ivsk_m as signing keys here
43
- return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.IVSK_M]);
43
+ return sha512ToGrumpkinScalar([secretKey, DomainSeparator.IVSK_M]);
44
44
  }
45
45
 
46
46
  export function computePreaddress(publicKeysHash: Fr, partialAddress: Fr) {
47
- return poseidon2HashWithSeparator([publicKeysHash, partialAddress], GeneratorIndex.CONTRACT_ADDRESS_V1);
47
+ return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1);
48
48
  }
49
49
 
50
50
  export async function computeAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<AztecAddress> {
51
51
  // Given public keys and a partial address, we can compute our address in the following steps.
52
- // 1. preaddress = poseidon2([publicKeysHash, partialAddress], GeneratorIndex.CONTRACT_ADDRESS_V1);
52
+ // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1);
53
53
  // 2. addressPoint = (preaddress * G) + ivpk_m
54
54
  // 3. address = addressPoint.x
55
55
  const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
@@ -93,15 +93,15 @@ export function derivePublicKeyFromSecretKey(secretKey: Fq) {
93
93
  * @returns The derived keys.
94
94
  */
95
95
  export async function deriveKeys(secretKey: Fr) {
96
- // First we derive master secret keys - we use sha512 here because this derivation will never take place
96
+ // First we derive master secret/hiding keys - we use sha512 here because this derivation will never take place
97
97
  // in a circuit
98
- const masterNullifierSecretKey = deriveMasterNullifierSecretKey(secretKey);
98
+ const masterNullifierHidingKey = deriveMasterNullifierHidingKey(secretKey);
99
99
  const masterIncomingViewingSecretKey = deriveMasterIncomingViewingSecretKey(secretKey);
100
100
  const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
101
- const masterTaggingSecretKey = sha512ToGrumpkinScalar([secretKey, GeneratorIndex.TSK_M]);
101
+ const masterTaggingSecretKey = sha512ToGrumpkinScalar([secretKey, DomainSeparator.TSK_M]);
102
102
 
103
103
  // Then we derive master public keys
104
- const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierSecretKey);
104
+ const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
105
105
  const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
106
106
  const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
107
107
  const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey);
@@ -115,7 +115,7 @@ export async function deriveKeys(secretKey: Fr) {
115
115
  );
116
116
 
117
117
  return {
118
- masterNullifierSecretKey,
118
+ masterNullifierHidingKey,
119
119
  masterIncomingViewingSecretKey,
120
120
  masterOutgoingViewingSecretKey,
121
121
  masterTaggingSecretKey,
@@ -1,5 +1,9 @@
1
- import type { GeneratorIndex } from '@aztec/constants';
1
+ import type { DomainSeparator } from '@aztec/constants';
2
2
 
3
- export type KeyGenerator = GeneratorIndex.NSK_M | GeneratorIndex.IVSK_M | GeneratorIndex.OVSK_M | GeneratorIndex.TSK_M;
3
+ export type KeyGenerator =
4
+ | DomainSeparator.NHK_M
5
+ | DomainSeparator.IVSK_M
6
+ | DomainSeparator.OVSK_M
7
+ | DomainSeparator.TSK_M;
4
8
  export type KeyPrefix = 'n' | 'iv' | 'ov' | 't';
5
9
  export const KEY_PREFIXES: KeyPrefix[] = ['n', 'iv', 'ov', 't'];
@@ -7,7 +7,7 @@ import {
7
7
  DEFAULT_OVPK_M_Y,
8
8
  DEFAULT_TPK_M_X,
9
9
  DEFAULT_TPK_M_Y,
10
- GeneratorIndex,
10
+ DomainSeparator,
11
11
  } from '@aztec/constants';
12
12
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
13
13
  import { Fr } from '@aztec/foundation/curves/bn254';
@@ -82,7 +82,7 @@ export class PublicKeys {
82
82
  this.masterOutgoingViewingPublicKey,
83
83
  this.masterTaggingPublicKey,
84
84
  ],
85
- GeneratorIndex.PUBLIC_KEYS_HASH,
85
+ DomainSeparator.PUBLIC_KEYS_HASH,
86
86
  );
87
87
  }
88
88
 
package/src/keys/utils.ts CHANGED
@@ -1,9 +1,13 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
 
3
3
  import type { KeyGenerator, KeyPrefix } from './key_types.js';
4
4
 
5
5
  export function getKeyGenerator(prefix: KeyPrefix): KeyGenerator {
6
- // We get enum key by capitalizing key prefix and concatenating it with 'SK_M'
7
- const enumKey = `${prefix.toUpperCase()}SK_M`;
8
- return GeneratorIndex[enumKey as keyof typeof GeneratorIndex] as KeyGenerator;
6
+ const map: Record<KeyPrefix, KeyGenerator> = {
7
+ n: DomainSeparator.NHK_M,
8
+ iv: DomainSeparator.IVSK_M,
9
+ ov: DomainSeparator.OVSK_M,
10
+ t: DomainSeparator.TSK_M,
11
+ };
12
+ return map[prefix];
9
13
  }
@@ -41,6 +41,7 @@ export class SlashFactoryContract {
41
41
 
42
42
  return {
43
43
  to: this.contract.address,
44
+ abi: SlashFactoryAbi,
44
45
  data: encodeFunctionData({
45
46
  abi: SlashFactoryAbi,
46
47
  functionName: 'createSlashPayload',
@@ -0,0 +1,54 @@
1
+ import type { TxReceipt } from '../tx/tx_receipt.js';
2
+ import type { DebugLog } from './debug_log.js';
3
+
4
+ /**
5
+ * Store for debug logs emitted by public functions during transaction execution.
6
+ *
7
+ * Uses the Null Object pattern: production code uses NullDebugLogStore (no-op), while test mode uses
8
+ * InMemoryDebugLogStore (stores and serves logs).
9
+ */
10
+ export interface DebugLogStore {
11
+ /** Store debug logs for a processed transaction. */
12
+ storeLogs(txHash: string, logs: DebugLog[]): void;
13
+ /** Decorate a TxReceipt with any stored debug logs for the given tx. */
14
+ decorateReceiptWithLogs(txHash: string, receipt: TxReceipt): void;
15
+ /** Whether debug log collection is enabled. */
16
+ readonly isEnabled: boolean;
17
+ }
18
+
19
+ /** No-op implementation for production mode. */
20
+ export class NullDebugLogStore implements DebugLogStore {
21
+ storeLogs(_txHash: string, _logs: DebugLog[]): void {
22
+ return;
23
+ }
24
+ decorateReceiptWithLogs(_txHash: string, _receipt: TxReceipt): void {
25
+ return;
26
+ }
27
+ get isEnabled(): boolean {
28
+ return false;
29
+ }
30
+ }
31
+
32
+ /** In-memory implementation for test mode that stores and serves debug logs. */
33
+ export class InMemoryDebugLogStore implements DebugLogStore {
34
+ private map = new Map<string, DebugLog[]>();
35
+
36
+ storeLogs(txHash: string, logs: DebugLog[]): void {
37
+ if (logs.length > 0) {
38
+ this.map.set(txHash, logs);
39
+ }
40
+ }
41
+
42
+ decorateReceiptWithLogs(txHash: string, receipt: TxReceipt): void {
43
+ if (receipt.isMined()) {
44
+ const debugLogs = this.map.get(txHash);
45
+ if (debugLogs) {
46
+ receipt.debugLogs = debugLogs;
47
+ }
48
+ }
49
+ }
50
+
51
+ get isEnabled(): boolean {
52
+ return true;
53
+ }
54
+ }
@@ -5,22 +5,28 @@ import type { Point } from '@aztec/foundation/curves/grumpkin';
5
5
 
6
6
  import { z } from 'zod';
7
7
 
8
- import type { AztecAddress } from '../aztec-address/index.js';
8
+ import { AztecAddress } from '../aztec-address/index.js';
9
9
  import type { CompleteAddress } from '../contract/complete_address.js';
10
10
  import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
11
11
 
12
12
  /**
13
- * Directional application tagging secret used for log tagging.
13
+ * Extended directional application tagging secret used for log tagging.
14
14
  *
15
- * "Directional" because the derived secret is bound to the recipient
16
- * address: A→B differs from B→A even with the same participants and app.
15
+ * "Extended" because it bundles the directional app tagging secret with the app (contract) address. This bundling was
16
+ * done because where this type is used we commonly need access to both the secret and the address.
17
17
  *
18
- * Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides
19
- * in `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types
20
- * in stdlib hence there doesn't seem to be a good way around this.
18
+ * "Directional" because the derived secret is bound to the recipient address: A→B differs from B→A even with the same
19
+ * participants and app.
20
+ *
21
+ * Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides in
22
+ * `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types in stdlib hence there
23
+ * doesn't seem to be a good way around this.
21
24
  */
22
- export class DirectionalAppTaggingSecret {
23
- private constructor(public readonly value: Fr) {}
25
+ export class ExtendedDirectionalAppTaggingSecret {
26
+ private constructor(
27
+ public readonly secret: Fr,
28
+ public readonly app: AztecAddress,
29
+ ) {}
24
30
 
25
31
  /**
26
32
  * Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
@@ -39,20 +45,21 @@ export class DirectionalAppTaggingSecret {
39
45
  externalAddress: AztecAddress,
40
46
  app: AztecAddress,
41
47
  recipient: AztecAddress,
42
- ): Promise<DirectionalAppTaggingSecret> {
48
+ ): Promise<ExtendedDirectionalAppTaggingSecret> {
43
49
  const taggingSecretPoint = await computeSharedTaggingSecret(localAddress, localIvsk, externalAddress);
44
50
  const appTaggingSecret = await poseidon2Hash([taggingSecretPoint.x, taggingSecretPoint.y, app]);
45
51
  const directionalAppTaggingSecret = await poseidon2Hash([appTaggingSecret, recipient]);
46
52
 
47
- return new DirectionalAppTaggingSecret(directionalAppTaggingSecret);
53
+ return new ExtendedDirectionalAppTaggingSecret(directionalAppTaggingSecret, app);
48
54
  }
49
55
 
50
56
  toString(): string {
51
- return this.value.toString();
57
+ return `${this.secret.toString()}:${this.app.toString()}`;
52
58
  }
53
59
 
54
- static fromString(str: string): DirectionalAppTaggingSecret {
55
- return new DirectionalAppTaggingSecret(Fr.fromString(str));
60
+ static fromString(str: string): ExtendedDirectionalAppTaggingSecret {
61
+ const [secretStr, appStr] = str.split(':');
62
+ return new ExtendedDirectionalAppTaggingSecret(Fr.fromString(secretStr), AztecAddress.fromString(appStr));
56
63
  }
57
64
  }
58
65
 
@@ -74,6 +81,7 @@ async function computeSharedTaggingSecret(
74
81
  return Grumpkin.mul(externalAddressPoint, await computeAddressSecret(knownPreaddress, localIvsk));
75
82
  }
76
83
 
77
- export const DirectionalAppTaggingSecretSchema = z.object({
78
- value: Fr.schema,
84
+ export const ExtendedDirectionalAppTaggingSecretSchema = z.object({
85
+ secret: Fr.schema,
86
+ app: AztecAddress.schema,
79
87
  });
package/src/logs/index.ts CHANGED
@@ -1,5 +1,4 @@
1
- export * from './log_with_tx_data.js';
2
- export * from './directional_app_tagging_secret.js';
1
+ export * from './extended_directional_app_tagging_secret.js';
3
2
  export * from './pre_tag.js';
4
3
  export * from './contract_class_log.js';
5
4
  export * from './public_log.js';
@@ -13,3 +12,6 @@ export * from './shared_secret_derivation.js';
13
12
  export * from './tx_scoped_l2_log.js';
14
13
  export * from './message_context.js';
15
14
  export * from './debug_log.js';
15
+ export * from './debug_log_store.js';
16
+ export * from './tag.js';
17
+ export * from './siloed_tag.js';
@@ -1,23 +1,24 @@
1
1
  import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
2
2
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
3
3
  import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
5
  import { BufferReader } from '@aztec/foundation/serialize';
5
6
 
6
7
  import { z } from 'zod';
7
8
 
9
+ import { BlockHash } from '../block/block_hash.js';
8
10
  import { schemas } from '../schemas/index.js';
11
+ import { TxHash } from '../tx/tx_hash.js';
9
12
 
10
13
  /** A globally unique log id. */
11
14
  export class LogId {
12
- /**
13
- * Parses a log id from a string.
14
- * @param blockNumber - The block number.
15
- * @param txIndex - The transaction index.
16
- * @param logIndex - The log index.
17
- */
18
15
  constructor(
19
16
  /** The block number the log was emitted in. */
20
17
  public readonly blockNumber: BlockNumber,
18
+ /** The hash of the block the log was emitted in. */
19
+ public readonly blockHash: BlockHash,
20
+ /** The hash of the transaction the log was emitted in. */
21
+ public readonly txHash: TxHash,
21
22
  /** The index of a tx in a block the log was emitted in. */
22
23
  public readonly txIndex: number,
23
24
  /** The index of a log the tx was emitted in. */
@@ -37,6 +38,8 @@ export class LogId {
37
38
  static random() {
38
39
  return new LogId(
39
40
  BlockNumber(Math.floor(Math.random() * 1000) + 1),
41
+ BlockHash.random(),
42
+ TxHash.random(),
40
43
  Math.floor(Math.random() * 1000),
41
44
  Math.floor(Math.random() * 100),
42
45
  );
@@ -46,10 +49,15 @@ export class LogId {
46
49
  return z
47
50
  .object({
48
51
  blockNumber: BlockNumberSchema,
52
+ blockHash: BlockHash.schema,
53
+ txHash: TxHash.schema,
49
54
  txIndex: schemas.Integer,
50
55
  logIndex: schemas.Integer,
51
56
  })
52
- .transform(({ blockNumber, txIndex, logIndex }) => new LogId(blockNumber, txIndex, logIndex));
57
+ .transform(
58
+ ({ blockNumber, blockHash, txHash, txIndex, logIndex }) =>
59
+ new LogId(blockNumber, blockHash, txHash, txIndex, logIndex),
60
+ );
53
61
  }
54
62
 
55
63
  /**
@@ -59,6 +67,8 @@ export class LogId {
59
67
  public toBuffer(): Buffer {
60
68
  return Buffer.concat([
61
69
  toBufferBE(BigInt(this.blockNumber), 4),
70
+ this.blockHash.toBuffer(),
71
+ this.txHash.toBuffer(),
62
72
  toBufferBE(BigInt(this.txIndex), 4),
63
73
  toBufferBE(BigInt(this.logIndex), 4),
64
74
  ]);
@@ -73,10 +83,12 @@ export class LogId {
73
83
  const reader = BufferReader.asReader(buffer);
74
84
 
75
85
  const blockNumber = BlockNumber(reader.readNumber());
86
+ const blockHash = new BlockHash(reader.readObject(Fr));
87
+ const txHash = reader.readObject(TxHash);
76
88
  const txIndex = reader.readNumber();
77
89
  const logIndex = reader.readNumber();
78
90
 
79
- return new LogId(blockNumber, txIndex, logIndex);
91
+ return new LogId(blockNumber, blockHash, txHash, txIndex, logIndex);
80
92
  }
81
93
 
82
94
  /**
@@ -84,7 +96,7 @@ export class LogId {
84
96
  * @returns A string representation of the log id.
85
97
  */
86
98
  public toString(): string {
87
- return `${this.blockNumber}-${this.txIndex}-${this.logIndex}`;
99
+ return `${this.blockNumber}-${this.txIndex}-${this.logIndex}-${this.blockHash.toString()}-${this.txHash.toString()}`;
88
100
  }
89
101
 
90
102
  /**
@@ -93,12 +105,14 @@ export class LogId {
93
105
  * @returns A log id.
94
106
  */
95
107
  static fromString(data: string): LogId {
96
- const [rawBlockNumber, rawTxIndex, rawLogIndex] = data.split('-');
108
+ const [rawBlockNumber, rawTxIndex, rawLogIndex, rawBlockHash, rawTxHash] = data.split('-');
97
109
  const blockNumber = BlockNumber(Number(rawBlockNumber));
110
+ const blockHash = BlockHash.fromString(rawBlockHash);
111
+ const txHash = TxHash.fromString(rawTxHash);
98
112
  const txIndex = Number(rawTxIndex);
99
113
  const logIndex = Number(rawLogIndex);
100
114
 
101
- return new LogId(blockNumber, txIndex, logIndex);
115
+ return new LogId(blockNumber, blockHash, txHash, txIndex, logIndex);
102
116
  }
103
117
 
104
118
  /**
@@ -106,6 +120,6 @@ export class LogId {
106
120
  * @returns A human readable representation of the log id.
107
121
  */
108
122
  public toHumanReadable(): string {
109
- return `logId: (blockNumber: ${this.blockNumber}, txIndex: ${this.txIndex}, logIndex: ${this.logIndex})`;
123
+ return `logId: (blockNumber: ${this.blockNumber}, blockHash: ${this.blockHash.toString()}, txHash: ${this.txHash.toString()}, txIndex: ${this.txIndex}, logIndex: ${this.logIndex})`;
110
124
  }
111
125
  }
@@ -3,9 +3,9 @@ import { schemas } from '@aztec/foundation/schemas';
3
3
  import { z } from 'zod';
4
4
 
5
5
  import {
6
- type DirectionalAppTaggingSecret,
7
- DirectionalAppTaggingSecretSchema,
8
- } from './directional_app_tagging_secret.js';
6
+ type ExtendedDirectionalAppTaggingSecret,
7
+ ExtendedDirectionalAppTaggingSecretSchema,
8
+ } from './extended_directional_app_tagging_secret.js';
9
9
 
10
10
  /**
11
11
  * Represents a preimage of a private log tag (see `Tag` in `pxe/src/tagging`).
@@ -15,11 +15,11 @@ import {
15
15
  * around this.
16
16
  */
17
17
  export type PreTag = {
18
- secret: DirectionalAppTaggingSecret;
18
+ extendedSecret: ExtendedDirectionalAppTaggingSecret;
19
19
  index: number;
20
20
  };
21
21
 
22
22
  export const PreTagSchema = z.object({
23
- secret: DirectionalAppTaggingSecretSchema,
23
+ extendedSecret: ExtendedDirectionalAppTaggingSecretSchema,
24
24
  index: schemas.Integer,
25
25
  });
@@ -59,7 +59,8 @@ export class PrivateLog {
59
59
  }
60
60
 
61
61
  isEmpty() {
62
- return this.fields.every(f => f.isZero());
62
+ // Faster to check emittedLength than compare all fields against zero
63
+ return this.emittedLength === 0;
63
64
  }
64
65
 
65
66
  static empty() {
@@ -120,8 +120,8 @@ export class FlatPublicLogs {
120
120
 
121
121
  export class PublicLog {
122
122
  constructor(
123
- public contractAddress: AztecAddress,
124
- public fields: Fr[],
123
+ public readonly contractAddress: AztecAddress,
124
+ public readonly fields: Fr[],
125
125
  ) {}
126
126
 
127
127
  static from(fields: FieldsOf<PublicLog>) {
@@ -146,7 +146,9 @@ export class PublicLog {
146
146
  return this.fields.length + PUBLIC_LOG_HEADER_LENGTH;
147
147
  }
148
148
 
149
+ /** Returns the serialized log (field as in noir field and not a struct field). */
149
150
  getEmittedFields() {
151
+ // We slice from 0 to return a shallow copy.
150
152
  return this.fields.slice(0);
151
153
  }
152
154
 
@@ -0,0 +1,50 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { ZodFor } from '@aztec/foundation/schemas';
3
+
4
+ import type { AztecAddress } from '../aztec-address/index.js';
5
+ import { computeSiloedPrivateLogFirstField } from '../hash/hash.js';
6
+ import { schemas } from '../schemas/schemas.js';
7
+ import type { PreTag } from './pre_tag.js';
8
+ import { Tag } from './tag.js';
9
+
10
+ /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
11
+
12
+ /** Branding to ensure fields are not interchangeable types. */
13
+ export interface SiloedTag {
14
+ /** Brand. */
15
+ _branding: 'SiloedTag';
16
+ }
17
+
18
+ /**
19
+ * Represents a tag used in private log as it "appears on the chain" - that is the tag is siloed with a contract
20
+ * address that emitted the log.
21
+ */
22
+ export class SiloedTag {
23
+ constructor(public readonly value: Fr) {}
24
+
25
+ static async compute(preTag: PreTag): Promise<SiloedTag> {
26
+ const tag = await Tag.compute(preTag);
27
+ return SiloedTag.computeFromTagAndApp(tag, preTag.extendedSecret.app);
28
+ }
29
+
30
+ static async computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag> {
31
+ const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
32
+ return new SiloedTag(siloedTag);
33
+ }
34
+
35
+ toString(): string {
36
+ return this.value.toString();
37
+ }
38
+
39
+ toJSON(): string {
40
+ return this.value.toString();
41
+ }
42
+
43
+ equals(other: SiloedTag): boolean {
44
+ return this.value.equals(other.value);
45
+ }
46
+
47
+ static get schema(): ZodFor<SiloedTag> {
48
+ return schemas.Fr.transform((fr: Fr) => new SiloedTag(fr));
49
+ }
50
+ }
@@ -0,0 +1,42 @@
1
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { ZodFor } from '@aztec/foundation/schemas';
4
+
5
+ import { schemas } from '../schemas/schemas.js';
6
+ import type { PreTag } from './pre_tag.js';
7
+
8
+ /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
9
+
10
+ export interface Tag {
11
+ /** Brand. */
12
+ _branding: 'Tag';
13
+ }
14
+
15
+ /**
16
+ * Represents a tag of a private log. This is not the tag that "appears" on the chain as this tag is first siloed
17
+ * with a contract address by kernels before being included in the final log.
18
+ */
19
+ export class Tag {
20
+ constructor(public readonly value: Fr) {}
21
+
22
+ static async compute(preTag: PreTag): Promise<Tag> {
23
+ const tag = await poseidon2Hash([preTag.extendedSecret.secret, preTag.index]);
24
+ return new Tag(tag);
25
+ }
26
+
27
+ toString(): string {
28
+ return this.value.toString();
29
+ }
30
+
31
+ toJSON(): string {
32
+ return this.value.toString();
33
+ }
34
+
35
+ equals(other: Tag): boolean {
36
+ return this.value.equals(other.value);
37
+ }
38
+
39
+ static get schema(): ZodFor<Tag> {
40
+ return schemas.Fr.transform((fr: Fr) => new Tag(fr));
41
+ }
42
+ }