@aztec/stdlib 3.0.3 → 4.0.0-devnet.1-patch.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 (720) 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/function_call.d.ts +47 -9
  8. package/dest/abi/function_call.d.ts.map +1 -1
  9. package/dest/abi/function_call.js +20 -3
  10. package/dest/abi/function_selector.d.ts +2 -1
  11. package/dest/abi/function_selector.d.ts.map +1 -1
  12. package/dest/abi/function_selector.js +7 -0
  13. package/dest/abi/selector.js +3 -1
  14. package/dest/abi/utils.d.ts +7 -1
  15. package/dest/abi/utils.d.ts.map +1 -1
  16. package/dest/abi/utils.js +7 -0
  17. package/dest/auth_witness/auth_witness.d.ts +2 -1
  18. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  19. package/dest/avm/avm.d.ts +62 -62
  20. package/dest/avm/avm.js +1 -1
  21. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  22. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  23. package/dest/avm/avm_accumulated_data.js +5 -2
  24. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  25. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  26. package/dest/avm/avm_proving_request.d.ts +299 -299
  27. package/dest/avm/contract_storage_read.d.ts +13 -1
  28. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  29. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  30. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  31. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  32. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  33. package/dest/avm/public_data_read.d.ts +10 -1
  34. package/dest/avm/public_data_read.d.ts.map +1 -1
  35. package/dest/avm/public_data_update_request.d.ts +10 -1
  36. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  37. package/dest/avm/public_data_update_request.js +3 -1
  38. package/dest/avm/public_data_write.d.ts +7 -1
  39. package/dest/avm/public_data_write.d.ts.map +1 -1
  40. package/dest/avm/public_inner_call_request.d.ts +4 -1
  41. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  42. package/dest/avm/public_inner_call_request.js +3 -1
  43. package/dest/avm/revert_code.d.ts +4 -4
  44. package/dest/avm/revert_code.d.ts.map +1 -1
  45. package/dest/avm/revert_code.js +3 -1
  46. package/dest/aztec-address/index.js +4 -2
  47. package/dest/block/attestation_info.d.ts +5 -5
  48. package/dest/block/attestation_info.d.ts.map +1 -1
  49. package/dest/block/attestation_info.js +4 -4
  50. package/dest/block/block_hash.d.ts +18 -14
  51. package/dest/block/block_hash.d.ts.map +1 -1
  52. package/dest/block/block_hash.js +22 -20
  53. package/dest/block/block_parameter.d.ts +4 -3
  54. package/dest/block/block_parameter.d.ts.map +1 -1
  55. package/dest/block/block_parameter.js +2 -0
  56. package/dest/block/body.d.ts +1 -1
  57. package/dest/block/body.d.ts.map +1 -1
  58. package/dest/block/body.js +5 -2
  59. package/dest/block/checkpointed_l2_block.d.ts +150 -0
  60. package/dest/block/checkpointed_l2_block.d.ts.map +1 -0
  61. package/dest/block/checkpointed_l2_block.js +46 -0
  62. package/dest/block/in_block.d.ts +9 -9
  63. package/dest/block/in_block.d.ts.map +1 -1
  64. package/dest/block/in_block.js +5 -5
  65. package/dest/block/index.d.ts +2 -4
  66. package/dest/block/index.d.ts.map +1 -1
  67. package/dest/block/index.js +1 -3
  68. package/dest/block/l2_block.d.ts +57 -57
  69. package/dest/block/l2_block.d.ts.map +1 -1
  70. package/dest/block/l2_block.js +64 -108
  71. package/dest/block/l2_block_source.d.ts +344 -90
  72. package/dest/block/l2_block_source.d.ts.map +1 -1
  73. package/dest/block/l2_block_source.js +25 -6
  74. package/dest/block/l2_block_stream/index.d.ts +2 -1
  75. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  76. package/dest/block/l2_block_stream/index.js +1 -0
  77. package/dest/block/l2_block_stream/interfaces.d.ts +15 -5
  78. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  79. package/dest/block/l2_block_stream/l2_block_stream.d.ts +13 -3
  80. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  81. package/dest/block/l2_block_stream/l2_block_stream.js +115 -32
  82. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  83. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  84. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  85. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  86. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  87. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  88. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  89. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  90. package/dest/block/test/l2_tips_store_test_suite.js +478 -41
  91. package/dest/block/validate_block_result.d.ts +24 -24
  92. package/dest/block/validate_block_result.d.ts.map +1 -1
  93. package/dest/block/validate_block_result.js +18 -17
  94. package/dest/checkpoint/checkpoint.d.ts +45 -20
  95. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  96. package/dest/checkpoint/checkpoint.js +59 -8
  97. package/dest/checkpoint/checkpoint_info.d.ts +38 -0
  98. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -0
  99. package/dest/checkpoint/checkpoint_info.js +34 -0
  100. package/dest/checkpoint/index.d.ts +2 -1
  101. package/dest/checkpoint/index.d.ts.map +1 -1
  102. package/dest/checkpoint/index.js +1 -0
  103. package/dest/checkpoint/published_checkpoint.d.ts +30 -22
  104. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  105. package/dest/checkpoint/published_checkpoint.js +14 -3
  106. package/dest/config/index.d.ts +2 -1
  107. package/dest/config/index.d.ts.map +1 -1
  108. package/dest/config/index.js +1 -0
  109. package/dest/config/node-rpc-config.js +1 -1
  110. package/dest/config/sequencer-config.d.ts +10 -0
  111. package/dest/config/sequencer-config.d.ts.map +1 -0
  112. package/dest/config/sequencer-config.js +12 -0
  113. package/dest/contract/complete_address.d.ts +4 -1
  114. package/dest/contract/complete_address.d.ts.map +1 -1
  115. package/dest/contract/contract_address.js +1 -1
  116. package/dest/contract/contract_class_id.d.ts +1 -1
  117. package/dest/contract/contract_class_id.js +2 -2
  118. package/dest/contract/contract_deployment_data.d.ts +5 -5
  119. package/dest/contract/index.d.ts +1 -3
  120. package/dest/contract/index.d.ts.map +1 -1
  121. package/dest/contract/index.js +0 -2
  122. package/dest/contract/interfaces/contract_class.d.ts +11 -13
  123. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  124. package/dest/contract/interfaces/contract_class.js +18 -18
  125. package/dest/contract/interfaces/contract_instance.d.ts +28 -29
  126. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  127. package/dest/contract/interfaces/contract_instance.js +5 -5
  128. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -7
  129. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  130. package/dest/contract/interfaces/contract_instance_update.js +5 -5
  131. package/dest/contract/interfaces/node-info.d.ts +3 -1
  132. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  133. package/dest/contract/interfaces/node-info.js +2 -1
  134. package/dest/contract/private_function.d.ts +1 -1
  135. package/dest/contract/private_function.d.ts.map +1 -1
  136. package/dest/contract/private_function.js +2 -3
  137. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  138. package/dest/contract/private_function_membership_proof.js +1 -1
  139. package/dest/database-version/database_version.d.ts +58 -0
  140. package/dest/database-version/database_version.d.ts.map +1 -0
  141. package/dest/database-version/database_version.js +69 -0
  142. package/dest/database-version/version_manager.d.ts +3 -49
  143. package/dest/database-version/version_manager.d.ts.map +1 -1
  144. package/dest/database-version/version_manager.js +1 -64
  145. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  146. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  147. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  148. package/dest/deserialization/index.d.ts +11 -0
  149. package/dest/deserialization/index.d.ts.map +1 -0
  150. package/dest/deserialization/index.js +10 -0
  151. package/dest/epoch-helpers/index.d.ts +7 -1
  152. package/dest/epoch-helpers/index.d.ts.map +1 -1
  153. package/dest/epoch-helpers/index.js +12 -6
  154. package/dest/errors/proving_error.d.ts +2 -2
  155. package/dest/errors/proving_error.d.ts.map +1 -1
  156. package/dest/gas/gas.js +3 -1
  157. package/dest/gas/gas_fees.js +3 -1
  158. package/dest/hash/hash.d.ts +1 -9
  159. package/dest/hash/hash.d.ts.map +1 -1
  160. package/dest/hash/hash.js +2 -14
  161. package/dest/hash/map_slot.d.ts +1 -1
  162. package/dest/hash/map_slot.d.ts.map +1 -1
  163. package/dest/hash/map_slot.js +4 -3
  164. package/dest/interfaces/allowed_element.d.ts +7 -8
  165. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  166. package/dest/interfaces/allowed_element.js +3 -3
  167. package/dest/interfaces/api_limit.d.ts +3 -1
  168. package/dest/interfaces/api_limit.d.ts.map +1 -1
  169. package/dest/interfaces/api_limit.js +2 -0
  170. package/dest/interfaces/archiver.d.ts +6 -6
  171. package/dest/interfaces/archiver.d.ts.map +1 -1
  172. package/dest/interfaces/archiver.js +25 -15
  173. package/dest/interfaces/aztec-node-admin.d.ts +110 -41
  174. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  175. package/dest/interfaces/aztec-node-admin.js +6 -4
  176. package/dest/interfaces/aztec-node.d.ts +77 -79
  177. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  178. package/dest/interfaces/aztec-node.js +16 -17
  179. package/dest/interfaces/block-builder.d.ts +22 -13
  180. package/dest/interfaces/block-builder.d.ts.map +1 -1
  181. package/dest/interfaces/block-builder.js +16 -1
  182. package/dest/interfaces/configs.d.ts +56 -27
  183. package/dest/interfaces/configs.d.ts.map +1 -1
  184. package/dest/interfaces/configs.js +12 -6
  185. package/dest/interfaces/get_logs_response.d.ts +27 -5
  186. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  187. package/dest/interfaces/get_logs_response.js +5 -4
  188. package/dest/interfaces/l2_logs_source.d.ts +21 -8
  189. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  190. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  191. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  192. package/dest/interfaces/p2p.d.ts +7 -9
  193. package/dest/interfaces/p2p.d.ts.map +1 -1
  194. package/dest/interfaces/p2p.js +3 -4
  195. package/dest/interfaces/prover-broker.d.ts +16 -1
  196. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  197. package/dest/interfaces/prover-broker.js +4 -1
  198. package/dest/interfaces/prover-client.d.ts +19 -3
  199. package/dest/interfaces/prover-client.d.ts.map +1 -1
  200. package/dest/interfaces/prover-client.js +16 -4
  201. package/dest/interfaces/proving-job.d.ts +218 -218
  202. package/dest/interfaces/proving-job.d.ts.map +1 -1
  203. package/dest/interfaces/proving-job.js +1 -7
  204. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  205. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  206. package/dest/interfaces/slasher.d.ts +9 -1
  207. package/dest/interfaces/slasher.d.ts.map +1 -1
  208. package/dest/interfaces/slasher.js +5 -3
  209. package/dest/interfaces/tx_provider.d.ts +3 -3
  210. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  211. package/dest/interfaces/validator.d.ts +161 -26
  212. package/dest/interfaces/validator.d.ts.map +1 -1
  213. package/dest/interfaces/validator.js +12 -7
  214. package/dest/interfaces/world_state.d.ts +17 -8
  215. package/dest/interfaces/world_state.d.ts.map +1 -1
  216. package/dest/kernel/claimed_length_array.js +3 -1
  217. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  218. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  219. package/dest/kernel/hints/build_note_hash_read_request_hints.js +19 -10
  220. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  221. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  222. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  223. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +1 -1
  224. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  225. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -3
  226. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  227. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  228. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  229. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  230. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  231. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  232. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  233. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  234. package/dest/kernel/hints/read_request.d.ts +7 -1
  235. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  236. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  237. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  238. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  239. package/dest/kernel/log_hash.js +3 -1
  240. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  241. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  242. package/dest/kernel/private_call_data.d.ts +25 -1
  243. package/dest/kernel/private_call_data.d.ts.map +1 -1
  244. package/dest/kernel/private_call_request.d.ts +16 -1
  245. package/dest/kernel/private_call_request.d.ts.map +1 -1
  246. package/dest/kernel/private_circuit_public_inputs.d.ts +120 -47
  247. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  248. package/dest/kernel/private_circuit_public_inputs.js +59 -59
  249. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  250. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  251. package/dest/kernel/private_kernel_data.d.ts +7 -1
  252. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  253. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  254. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  255. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  256. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  257. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  258. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  259. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  260. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  261. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  262. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  263. package/dest/kernel/private_log_data.js +5 -2
  264. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  265. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  266. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  267. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  268. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  269. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  270. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  271. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  272. package/dest/kernel/private_validation_requests.d.ts +10 -1
  273. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  274. package/dest/kernel/private_validation_requests.js +3 -1
  275. package/dest/kernel/public_call_request.d.ts +22 -1
  276. package/dest/kernel/public_call_request.d.ts.map +1 -1
  277. package/dest/kernel/public_call_request.js +5 -2
  278. package/dest/kernel/utils/optional_number.d.ts +7 -1
  279. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  280. package/dest/keys/derivation.d.ts +3 -3
  281. package/dest/keys/derivation.js +8 -8
  282. package/dest/keys/key_types.d.ts +1 -1
  283. package/dest/keys/public_keys.d.ts +5 -1
  284. package/dest/keys/public_keys.d.ts.map +1 -1
  285. package/dest/keys/utils.d.ts +1 -1
  286. package/dest/keys/utils.d.ts.map +1 -1
  287. package/dest/keys/utils.js +7 -3
  288. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  289. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  290. package/dest/l1-contracts/slash_factory.js +1 -0
  291. package/dest/logs/contract_class_log.js +3 -1
  292. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  293. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  294. package/dest/logs/extended_public_log.d.ts +17 -3
  295. package/dest/logs/extended_public_log.d.ts.map +1 -1
  296. package/dest/logs/index.d.ts +3 -2
  297. package/dest/logs/index.d.ts.map +1 -1
  298. package/dest/logs/index.js +2 -1
  299. package/dest/logs/log_id.d.ts +22 -7
  300. package/dest/logs/log_id.d.ts.map +1 -1
  301. package/dest/logs/log_id.js +23 -13
  302. package/dest/logs/private_log.d.ts +1 -1
  303. package/dest/logs/private_log.d.ts.map +1 -1
  304. package/dest/logs/private_log.js +5 -2
  305. package/dest/logs/public_log.js +3 -1
  306. package/dest/logs/siloed_tag.d.ts +23 -0
  307. package/dest/logs/siloed_tag.d.ts.map +1 -0
  308. package/dest/logs/siloed_tag.js +31 -0
  309. package/dest/logs/tag.d.ts +21 -0
  310. package/dest/logs/tag.d.ts.map +1 -0
  311. package/dest/logs/tag.js +30 -0
  312. package/dest/logs/tx_scoped_l2_log.d.ts +24 -33
  313. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  314. package/dest/logs/tx_scoped_l2_log.js +37 -43
  315. package/dest/messaging/in_hash.d.ts +4 -2
  316. package/dest/messaging/in_hash.d.ts.map +1 -1
  317. package/dest/messaging/in_hash.js +3 -1
  318. package/dest/messaging/inbox_leaf.d.ts +3 -1
  319. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  320. package/dest/messaging/l1_actor.d.ts +7 -1
  321. package/dest/messaging/l1_actor.d.ts.map +1 -1
  322. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  323. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  324. package/dest/messaging/l2_actor.d.ts +7 -1
  325. package/dest/messaging/l2_actor.d.ts.map +1 -1
  326. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  327. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  328. package/dest/messaging/l2_to_l1_membership.js +160 -42
  329. package/dest/messaging/out_hash.d.ts +41 -3
  330. package/dest/messaging/out_hash.d.ts.map +1 -1
  331. package/dest/messaging/out_hash.js +54 -19
  332. package/dest/note/note_dao.d.ts +36 -5
  333. package/dest/note/note_dao.d.ts.map +1 -1
  334. package/dest/note/note_dao.js +15 -12
  335. package/dest/p2p/attestation_utils.d.ts +3 -3
  336. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  337. package/dest/p2p/attestation_utils.js +1 -1
  338. package/dest/p2p/block_proposal.d.ts +102 -23
  339. package/dest/p2p/block_proposal.d.ts.map +1 -1
  340. package/dest/p2p/block_proposal.js +140 -39
  341. package/dest/p2p/checkpoint_attestation.d.ts +81 -0
  342. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  343. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  344. package/dest/p2p/checkpoint_proposal.d.ts +174 -0
  345. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  346. package/dest/p2p/checkpoint_proposal.js +238 -0
  347. package/dest/p2p/consensus_payload.d.ts +9 -9
  348. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  349. package/dest/p2p/consensus_payload.js +3 -5
  350. package/dest/p2p/constants.d.ts +5 -0
  351. package/dest/p2p/constants.d.ts.map +1 -0
  352. package/dest/p2p/constants.js +3 -0
  353. package/dest/p2p/gossipable.d.ts +4 -3
  354. package/dest/p2p/gossipable.d.ts.map +1 -1
  355. package/dest/p2p/gossipable.js +16 -5
  356. package/dest/p2p/index.d.ts +5 -2
  357. package/dest/p2p/index.d.ts.map +1 -1
  358. package/dest/p2p/index.js +4 -1
  359. package/dest/p2p/message_validator.d.ts +18 -3
  360. package/dest/p2p/message_validator.d.ts.map +1 -1
  361. package/dest/p2p/message_validator.js +2 -1
  362. package/dest/p2p/signature_utils.d.ts +5 -3
  363. package/dest/p2p/signature_utils.d.ts.map +1 -1
  364. package/dest/p2p/signature_utils.js +3 -1
  365. package/dest/p2p/signed_txs.d.ts +42 -0
  366. package/dest/p2p/signed_txs.d.ts.map +1 -0
  367. package/dest/p2p/signed_txs.js +75 -0
  368. package/dest/p2p/topic_type.d.ts +3 -2
  369. package/dest/p2p/topic_type.d.ts.map +1 -1
  370. package/dest/p2p/topic_type.js +10 -3
  371. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  372. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  373. package/dest/parity/parity_public_inputs.d.ts +4 -1
  374. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  375. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  376. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  377. package/dest/proofs/chonk_proof.d.ts +1 -1
  378. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  379. package/dest/proofs/chonk_proof.js +9 -4
  380. package/dest/proofs/proof.d.ts +4 -1
  381. package/dest/proofs/proof.d.ts.map +1 -1
  382. package/dest/proofs/recursive_proof.d.ts +10 -1
  383. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  384. package/dest/rollup/avm_proof_data.d.ts +1 -3
  385. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  386. package/dest/rollup/avm_proof_data.js +1 -9
  387. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  388. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  389. package/dest/rollup/block_constant_data.d.ts +12 -1
  390. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  391. package/dest/rollup/block_headers_hash.js +1 -1
  392. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  393. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  394. package/dest/rollup/block_rollup_public_inputs.d.ts +47 -11
  395. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  396. package/dest/rollup/block_rollup_public_inputs.js +8 -12
  397. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  398. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  399. package/dest/rollup/checkpoint_constant_data.d.ts +11 -1
  400. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  401. package/dest/rollup/checkpoint_constant_data.js +4 -1
  402. package/dest/rollup/checkpoint_header.d.ts +46 -12
  403. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  404. package/dest/rollup/checkpoint_header.js +53 -20
  405. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  406. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  407. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +46 -6
  408. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  409. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -3
  410. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  411. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  412. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  413. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  414. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  415. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  416. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  417. package/dest/rollup/root_rollup_public_inputs.d.ts +21 -6
  418. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  419. package/dest/rollup/root_rollup_public_inputs.js +10 -4
  420. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  421. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  422. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  423. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  424. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  425. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  426. package/dest/schemas/schemas.d.ts +5 -3
  427. package/dest/schemas/schemas.d.ts.map +1 -1
  428. package/dest/schemas/schemas.js +2 -1
  429. package/dest/slashing/empire.d.ts +1 -1
  430. package/dest/slashing/empire.d.ts.map +1 -1
  431. package/dest/slashing/empire.js +2 -0
  432. package/dest/slashing/helpers.d.ts +2 -2
  433. package/dest/slashing/helpers.d.ts.map +1 -1
  434. package/dest/slashing/helpers.js +6 -0
  435. package/dest/slashing/tally.d.ts +2 -1
  436. package/dest/slashing/tally.d.ts.map +1 -1
  437. package/dest/slashing/tally.js +6 -2
  438. package/dest/slashing/types.d.ts +10 -7
  439. package/dest/slashing/types.d.ts.map +1 -1
  440. package/dest/slashing/types.js +18 -6
  441. package/dest/snapshots/types.d.ts +1 -1
  442. package/dest/snapshots/types.d.ts.map +1 -1
  443. package/dest/snapshots/types.js +5 -5
  444. package/dest/stats/stats.d.ts +10 -8
  445. package/dest/stats/stats.d.ts.map +1 -1
  446. package/dest/tests/factories.d.ts +39 -10
  447. package/dest/tests/factories.d.ts.map +1 -1
  448. package/dest/tests/factories.js +81 -26
  449. package/dest/tests/jest.js +1 -1
  450. package/dest/tests/mocks.d.ts +76 -20
  451. package/dest/tests/mocks.d.ts.map +1 -1
  452. package/dest/tests/mocks.js +139 -60
  453. package/dest/timetable/index.d.ts +37 -0
  454. package/dest/timetable/index.d.ts.map +1 -0
  455. package/dest/timetable/index.js +39 -0
  456. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  457. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  458. package/dest/trees/append_only_tree_snapshot.js +3 -1
  459. package/dest/trees/nullifier_leaf.d.ts +13 -1
  460. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  461. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  462. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  463. package/dest/trees/public_data_leaf.d.ts +16 -1
  464. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  465. package/dest/trees/public_data_witness.d.ts +11 -1
  466. package/dest/trees/public_data_witness.d.ts.map +1 -1
  467. package/dest/tx/block_header.d.ts +21 -8
  468. package/dest/tx/block_header.d.ts.map +1 -1
  469. package/dest/tx/block_header.js +12 -2
  470. package/dest/tx/call_context.d.ts +13 -1
  471. package/dest/tx/call_context.d.ts.map +1 -1
  472. package/dest/tx/call_context.js +3 -1
  473. package/dest/tx/capsule.d.ts +4 -1
  474. package/dest/tx/capsule.d.ts.map +1 -1
  475. package/dest/tx/execution_payload.d.ts +9 -1
  476. package/dest/tx/execution_payload.d.ts.map +1 -1
  477. package/dest/tx/function_data.d.ts +4 -2
  478. package/dest/tx/function_data.d.ts.map +1 -1
  479. package/dest/tx/global_variable_builder.d.ts +5 -3
  480. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  481. package/dest/tx/global_variables.d.ts +14 -1
  482. package/dest/tx/global_variables.d.ts.map +1 -1
  483. package/dest/tx/global_variables.js +3 -1
  484. package/dest/tx/hashed_values.d.ts +7 -1
  485. package/dest/tx/hashed_values.d.ts.map +1 -1
  486. package/dest/tx/in_tx.d.ts +4 -4
  487. package/dest/tx/index.d.ts +1 -2
  488. package/dest/tx/index.d.ts.map +1 -1
  489. package/dest/tx/index.js +0 -1
  490. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  491. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  492. package/dest/tx/indexed_tx_effect.js +3 -2
  493. package/dest/tx/partial_state_reference.d.ts +4 -1
  494. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  495. package/dest/tx/private_execution_result.d.ts +24 -7
  496. package/dest/tx/private_execution_result.d.ts.map +1 -1
  497. package/dest/tx/private_execution_result.js +4 -21
  498. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  499. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  500. package/dest/tx/profiling.d.ts +149 -26
  501. package/dest/tx/profiling.d.ts.map +1 -1
  502. package/dest/tx/profiling.js +44 -7
  503. package/dest/tx/protocol_contracts.d.ts +1 -1
  504. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  505. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  506. package/dest/tx/public_call_request_with_calldata.js +3 -1
  507. package/dest/tx/simulated_tx.d.ts +1031 -7
  508. package/dest/tx/simulated_tx.d.ts.map +1 -1
  509. package/dest/tx/state_reference.d.ts +3 -1
  510. package/dest/tx/state_reference.d.ts.map +1 -1
  511. package/dest/tx/state_reference.js +3 -1
  512. package/dest/tx/tree_snapshots.js +3 -1
  513. package/dest/tx/tx.d.ts +33 -3
  514. package/dest/tx/tx.d.ts.map +1 -1
  515. package/dest/tx/tx.js +18 -6
  516. package/dest/tx/tx_context.d.ts +2 -1
  517. package/dest/tx/tx_context.d.ts.map +1 -1
  518. package/dest/tx/tx_effect.d.ts +32 -6
  519. package/dest/tx/tx_effect.d.ts.map +1 -1
  520. package/dest/tx/tx_effect.js +6 -9
  521. package/dest/tx/tx_execution_request.d.ts +30 -1
  522. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  523. package/dest/tx/tx_execution_request.js +6 -2
  524. package/dest/tx/tx_hash.d.ts +2 -1
  525. package/dest/tx/tx_hash.d.ts.map +1 -1
  526. package/dest/tx/tx_receipt.d.ts +47 -13
  527. package/dest/tx/tx_receipt.d.ts.map +1 -1
  528. package/dest/tx/tx_receipt.js +46 -15
  529. package/dest/tx/tx_request.d.ts +6 -1
  530. package/dest/tx/tx_request.d.ts.map +1 -1
  531. package/dest/tx/validator/empty_validator.d.ts +2 -2
  532. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  533. package/dest/tx/validator/error_texts.d.ts +2 -1
  534. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  535. package/dest/tx/validator/error_texts.js +2 -0
  536. package/dest/tx/validator/tx_validator.d.ts +2 -5
  537. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  538. package/dest/tx/validator/tx_validator.js +4 -4
  539. package/dest/types/shared.d.ts +4 -1
  540. package/dest/types/shared.d.ts.map +1 -1
  541. package/dest/validators/schemas.d.ts +9 -9
  542. package/dest/validators/schemas.d.ts.map +1 -1
  543. package/dest/validators/schemas.js +13 -13
  544. package/dest/vks/verification_key.d.ts +22 -1
  545. package/dest/vks/verification_key.d.ts.map +1 -1
  546. package/dest/vks/vk_data.d.ts +7 -1
  547. package/dest/vks/vk_data.d.ts.map +1 -1
  548. package/dest/zkpassport/index.d.ts +3 -4
  549. package/dest/zkpassport/index.d.ts.map +1 -1
  550. package/dest/zkpassport/index.js +9 -9
  551. package/package.json +27 -13
  552. package/src/abi/abi.ts +39 -33
  553. package/src/abi/contract_artifact.ts +10 -10
  554. package/src/abi/function_call.ts +25 -3
  555. package/src/abi/function_selector.ts +8 -0
  556. package/src/abi/utils.ts +17 -0
  557. package/src/avm/avm.ts +1 -1
  558. package/src/block/attestation_info.ts +9 -6
  559. package/src/block/block_hash.ts +26 -25
  560. package/src/block/block_parameter.ts +4 -2
  561. package/src/block/body.ts +2 -1
  562. package/src/block/checkpointed_l2_block.ts +70 -0
  563. package/src/block/in_block.ts +6 -6
  564. package/src/block/index.ts +1 -3
  565. package/src/block/l2_block.ts +102 -149
  566. package/src/block/l2_block_source.ts +175 -68
  567. package/src/block/l2_block_stream/index.ts +1 -0
  568. package/src/block/l2_block_stream/interfaces.ts +15 -4
  569. package/src/block/l2_block_stream/l2_block_stream.ts +139 -39
  570. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  571. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  572. package/src/block/test/l2_tips_store_test_suite.ts +480 -35
  573. package/src/block/validate_block_result.ts +40 -35
  574. package/src/checkpoint/checkpoint.ts +82 -12
  575. package/src/checkpoint/checkpoint_info.ts +52 -0
  576. package/src/checkpoint/index.ts +1 -0
  577. package/src/checkpoint/published_checkpoint.ts +22 -7
  578. package/src/config/index.ts +1 -0
  579. package/src/config/node-rpc-config.ts +1 -1
  580. package/src/config/sequencer-config.ts +19 -0
  581. package/src/contract/contract_address.ts +1 -1
  582. package/src/contract/contract_class_id.ts +2 -2
  583. package/src/contract/index.ts +0 -2
  584. package/src/contract/interfaces/contract_class.ts +59 -46
  585. package/src/contract/interfaces/contract_instance.ts +15 -13
  586. package/src/contract/interfaces/contract_instance_update.ts +11 -9
  587. package/src/contract/interfaces/node-info.ts +3 -0
  588. package/src/contract/private_function.ts +2 -3
  589. package/src/contract/private_function_membership_proof.ts +1 -1
  590. package/src/database-version/database_version.ts +87 -0
  591. package/src/database-version/version_manager.ts +1 -77
  592. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  593. package/src/deserialization/index.ts +21 -0
  594. package/src/epoch-helpers/index.ts +24 -10
  595. package/src/hash/hash.ts +2 -13
  596. package/src/hash/map_slot.ts +3 -2
  597. package/src/interfaces/allowed_element.ts +9 -7
  598. package/src/interfaces/api_limit.ts +2 -0
  599. package/src/interfaces/archiver.ts +33 -23
  600. package/src/interfaces/aztec-node-admin.ts +10 -6
  601. package/src/interfaces/aztec-node.ts +118 -134
  602. package/src/interfaces/block-builder.ts +50 -23
  603. package/src/interfaces/configs.ts +67 -33
  604. package/src/interfaces/get_logs_response.ts +13 -9
  605. package/src/interfaces/l2_logs_source.ts +25 -7
  606. package/src/interfaces/merkle_tree_operations.ts +4 -1
  607. package/src/interfaces/p2p.ts +8 -12
  608. package/src/interfaces/prover-broker.ts +22 -0
  609. package/src/interfaces/prover-client.ts +35 -10
  610. package/src/interfaces/proving-job.ts +2 -11
  611. package/src/interfaces/server_circuit_prover.ts +3 -3
  612. package/src/interfaces/slasher.ts +28 -22
  613. package/src/interfaces/tx_provider.ts +2 -2
  614. package/src/interfaces/validator.ts +92 -31
  615. package/src/interfaces/world_state.ts +16 -9
  616. package/src/kernel/hints/build_note_hash_read_request_hints.ts +20 -12
  617. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  618. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +2 -4
  619. package/src/kernel/private_circuit_public_inputs.ts +85 -85
  620. package/src/keys/derivation.ts +8 -8
  621. package/src/keys/key_types.ts +1 -1
  622. package/src/keys/utils.ts +7 -3
  623. package/src/l1-contracts/slash_factory.ts +1 -0
  624. package/src/logs/index.ts +2 -1
  625. package/src/logs/log_id.ts +26 -12
  626. package/src/logs/private_log.ts +2 -1
  627. package/src/logs/siloed_tag.ts +45 -0
  628. package/src/logs/tag.ts +42 -0
  629. package/src/logs/tx_scoped_l2_log.ts +45 -43
  630. package/src/messaging/in_hash.ts +3 -1
  631. package/src/messaging/l1_to_l2_message.ts +1 -0
  632. package/src/messaging/l2_to_l1_membership.ts +178 -52
  633. package/src/messaging/out_hash.ts +62 -21
  634. package/src/note/note_dao.ts +18 -13
  635. package/src/p2p/attestation_utils.ts +3 -3
  636. package/src/p2p/block_proposal.ts +213 -46
  637. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
  638. package/src/p2p/checkpoint_proposal.ts +365 -0
  639. package/src/p2p/consensus_payload.ts +5 -7
  640. package/src/p2p/constants.ts +6 -0
  641. package/src/p2p/gossipable.ts +14 -4
  642. package/src/p2p/index.ts +4 -1
  643. package/src/p2p/message_validator.ts +14 -2
  644. package/src/p2p/signature_utils.ts +3 -1
  645. package/src/p2p/signed_txs.ts +88 -0
  646. package/src/p2p/topic_type.ts +4 -3
  647. package/src/proofs/chonk_proof.ts +9 -5
  648. package/src/rollup/avm_proof_data.ts +0 -7
  649. package/src/rollup/block_headers_hash.ts +1 -1
  650. package/src/rollup/block_rollup_public_inputs.ts +5 -11
  651. package/src/rollup/checkpoint_constant_data.ts +1 -0
  652. package/src/rollup/checkpoint_header.ts +67 -20
  653. package/src/rollup/checkpoint_rollup_public_inputs.ts +17 -5
  654. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  655. package/src/rollup/root_rollup_public_inputs.ts +16 -7
  656. package/src/schemas/schemas.ts +4 -0
  657. package/src/slashing/empire.ts +3 -1
  658. package/src/slashing/helpers.ts +8 -0
  659. package/src/slashing/tally.ts +8 -2
  660. package/src/slashing/types.ts +38 -20
  661. package/src/snapshots/types.ts +33 -29
  662. package/src/stats/stats.ts +10 -7
  663. package/src/tests/factories.ts +103 -42
  664. package/src/tests/jest.ts +1 -1
  665. package/src/tests/mocks.ts +226 -92
  666. package/src/timetable/index.ts +66 -0
  667. package/src/tx/block_header.ts +21 -8
  668. package/src/tx/global_variable_builder.ts +9 -2
  669. package/src/tx/global_variables.ts +6 -0
  670. package/src/tx/index.ts +0 -1
  671. package/src/tx/indexed_tx_effect.ts +3 -2
  672. package/src/tx/private_execution_result.ts +2 -17
  673. package/src/tx/profiling.ts +46 -4
  674. package/src/tx/tx.ts +19 -11
  675. package/src/tx/tx_effect.ts +3 -10
  676. package/src/tx/tx_execution_request.ts +2 -0
  677. package/src/tx/tx_receipt.ts +75 -18
  678. package/src/tx/validator/empty_validator.ts +1 -1
  679. package/src/tx/validator/error_texts.ts +3 -0
  680. package/src/tx/validator/tx_validator.ts +9 -7
  681. package/src/validators/schemas.ts +54 -48
  682. package/src/zkpassport/index.ts +11 -12
  683. package/dest/block/l2_block_code_to_purge.d.ts +0 -12
  684. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  685. package/dest/block/l2_block_code_to_purge.js +0 -61
  686. package/dest/block/l2_block_header.d.ts +0 -98
  687. package/dest/block/l2_block_header.d.ts.map +0 -1
  688. package/dest/block/l2_block_header.js +0 -153
  689. package/dest/block/l2_block_new.d.ts +0 -130
  690. package/dest/block/l2_block_new.d.ts.map +0 -1
  691. package/dest/block/l2_block_new.js +0 -151
  692. package/dest/block/published_l2_block.d.ts +0 -130
  693. package/dest/block/published_l2_block.d.ts.map +0 -1
  694. package/dest/block/published_l2_block.js +0 -48
  695. package/dest/contract/contract_class_metadata.d.ts +0 -8
  696. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  697. package/dest/contract/contract_class_metadata.js +0 -1
  698. package/dest/contract/contract_metadata.d.ts +0 -7
  699. package/dest/contract/contract_metadata.d.ts.map +0 -1
  700. package/dest/contract/contract_metadata.js +0 -1
  701. package/dest/database-version/index.d.ts +0 -2
  702. package/dest/database-version/index.d.ts.map +0 -1
  703. package/dest/database-version/index.js +0 -1
  704. package/dest/logs/log_with_tx_data.d.ts +0 -19
  705. package/dest/logs/log_with_tx_data.d.ts.map +0 -1
  706. package/dest/logs/log_with_tx_data.js +0 -49
  707. package/dest/p2p/block_attestation.d.ts +0 -80
  708. package/dest/p2p/block_attestation.d.ts.map +0 -1
  709. package/dest/tx/content_commitment.d.ts +0 -49
  710. package/dest/tx/content_commitment.d.ts.map +0 -1
  711. package/dest/tx/content_commitment.js +0 -90
  712. package/src/block/l2_block_code_to_purge.ts +0 -88
  713. package/src/block/l2_block_header.ts +0 -246
  714. package/src/block/l2_block_new.ts +0 -197
  715. package/src/block/published_l2_block.ts +0 -65
  716. package/src/contract/contract_class_metadata.ts +0 -8
  717. package/src/contract/contract_metadata.ts +0 -7
  718. package/src/database-version/index.ts +0 -1
  719. package/src/logs/log_with_tx_data.ts +0 -46
  720. package/src/tx/content_commitment.ts +0 -113
@@ -57,6 +57,18 @@ export class PrivateCircuitPublicInputs {
57
57
  * Pedersen hash of the return values of the corresponding function call.
58
58
  */
59
59
  public returnsHash: Fr,
60
+ /**
61
+ * Header of a block whose state is used during private execution (not the block the transaction is included in).
62
+ */
63
+ public anchorBlockHeader: BlockHeader,
64
+ /**
65
+ * Transaction context.
66
+ *
67
+ * Note: The chainId and version in the txContext are not redundant to the values in self.anchor_block_header.global_variables because
68
+ * they can be different in case of a protocol upgrade. In such a situation we could be using header from a block
69
+ * before the upgrade took place but be using the updated protocol to execute and prove the transaction.
70
+ */
71
+ public txContext: TxContext,
60
72
  /**
61
73
  * The side-effect counter under which all side effects are non-revertible.
62
74
  */
@@ -69,6 +81,22 @@ export class PrivateCircuitPublicInputs {
69
81
  * The highest timestamp of a block in which the transaction can still be included.
70
82
  */
71
83
  public includeByTimestamp: UInt64,
84
+ /**
85
+ * The side effect counter at the start of this call.
86
+ */
87
+ public startSideEffectCounter: Fr,
88
+ /**
89
+ * The end side effect counter for this call.
90
+ */
91
+ public endSideEffectCounter: Fr,
92
+ /**
93
+ * The expected non revertible side effect counter for this call.
94
+ */
95
+ public expectedNonRevertibleSideEffectCounter: Fr,
96
+ /**
97
+ * The expected revertible side effect counter for this call.
98
+ */
99
+ public expectedRevertibleSideEffectCounter: Fr,
72
100
  /**
73
101
  * Read requests created by the corresponding function call.
74
102
  */
@@ -84,14 +112,6 @@ export class PrivateCircuitPublicInputs {
84
112
  KeyValidationRequestAndGenerator,
85
113
  typeof MAX_KEY_VALIDATION_REQUESTS_PER_CALL
86
114
  >,
87
- /**
88
- * New note hashes created by the corresponding function call.
89
- */
90
- public noteHashes: ClaimedLengthArray<NoteHash, typeof MAX_NOTE_HASHES_PER_CALL>,
91
- /**
92
- * New nullifiers created by the corresponding function call.
93
- */
94
- public nullifiers: ClaimedLengthArray<Nullifier, typeof MAX_NULLIFIERS_PER_CALL>,
95
115
  /**
96
116
  * Private call requests made within the current kernel iteration.
97
117
  */
@@ -104,6 +124,14 @@ export class PrivateCircuitPublicInputs {
104
124
  * Hash of the public teardown function.
105
125
  */
106
126
  public publicTeardownCallRequest: PublicCallRequest,
127
+ /**
128
+ * New note hashes created by the corresponding function call.
129
+ */
130
+ public noteHashes: ClaimedLengthArray<NoteHash, typeof MAX_NOTE_HASHES_PER_CALL>,
131
+ /**
132
+ * New nullifiers created by the corresponding function call.
133
+ */
134
+ public nullifiers: ClaimedLengthArray<Nullifier, typeof MAX_NULLIFIERS_PER_CALL>,
107
135
  /**
108
136
  * New L2 to L1 messages created by the corresponding function call.
109
137
  */
@@ -116,34 +144,6 @@ export class PrivateCircuitPublicInputs {
116
144
  * Hash of the contract class logs emitted in this function call.
117
145
  */
118
146
  public contractClassLogsHashes: ClaimedLengthArray<CountedLogHash, typeof MAX_CONTRACT_CLASS_LOGS_PER_CALL>,
119
- /**
120
- * The side effect counter at the start of this call.
121
- */
122
- public startSideEffectCounter: Fr,
123
- /**
124
- * The end side effect counter for this call.
125
- */
126
- public endSideEffectCounter: Fr,
127
- /**
128
- * The expected non revertible side effect counter for this call.
129
- */
130
- public expectedNonRevertibleSideEffectCounter: Fr,
131
- /**
132
- * The expected revertible side effect counter for this call.
133
- */
134
- public expectedRevertibleSideEffectCounter: Fr,
135
- /**
136
- * Header of a block whose state is used during private execution (not the block the transaction is included in).
137
- */
138
- public anchorBlockHeader: BlockHeader,
139
- /**
140
- * Transaction context.
141
- *
142
- * Note: The chainId and version in the txContext are not redundant to the values in self.anchor_block_header.global_variables because
143
- * they can be different in case of a protocol upgrade. In such a situation we could be using header from a block
144
- * before the upgrade took place but be using the updated protocol to execute and prove the transaction.
145
- */
146
- public txContext: TxContext,
147
147
  ) {}
148
148
 
149
149
  /**
@@ -166,28 +166,28 @@ export class PrivateCircuitPublicInputs {
166
166
  reader.readObject(CallContext),
167
167
  reader.readObject(Fr),
168
168
  reader.readObject(Fr),
169
+ reader.readObject(BlockHeader),
170
+ reader.readObject(TxContext),
169
171
  reader.readObject(Fr),
170
172
  reader.readBoolean(),
171
173
  reader.readUInt64(),
174
+ reader.readObject(Fr),
175
+ reader.readObject(Fr),
176
+ reader.readObject(Fr),
177
+ reader.readObject(Fr),
172
178
  reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)),
173
179
  reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)),
174
180
  reader.readObject(
175
181
  ClaimedLengthArrayFromBuffer(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL),
176
182
  ),
177
- reader.readObject(ClaimedLengthArrayFromBuffer(NoteHash, MAX_NOTE_HASHES_PER_CALL)),
178
- reader.readObject(ClaimedLengthArrayFromBuffer(Nullifier, MAX_NULLIFIERS_PER_CALL)),
179
183
  reader.readObject(ClaimedLengthArrayFromBuffer(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)),
180
184
  reader.readObject(ClaimedLengthArrayFromBuffer(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)),
181
185
  reader.readObject(PublicCallRequest),
186
+ reader.readObject(ClaimedLengthArrayFromBuffer(NoteHash, MAX_NOTE_HASHES_PER_CALL)),
187
+ reader.readObject(ClaimedLengthArrayFromBuffer(Nullifier, MAX_NULLIFIERS_PER_CALL)),
182
188
  reader.readObject(ClaimedLengthArrayFromBuffer(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)),
183
189
  reader.readObject(ClaimedLengthArrayFromBuffer(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)),
184
190
  reader.readObject(ClaimedLengthArrayFromBuffer(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)),
185
- reader.readObject(Fr),
186
- reader.readObject(Fr),
187
- reader.readObject(Fr),
188
- reader.readObject(Fr),
189
- reader.readObject(BlockHeader),
190
- reader.readObject(TxContext),
191
191
  );
192
192
  }
193
193
 
@@ -197,28 +197,28 @@ export class PrivateCircuitPublicInputs {
197
197
  reader.readObject(CallContext),
198
198
  reader.readField(),
199
199
  reader.readField(),
200
+ reader.readObject(BlockHeader),
201
+ reader.readObject(TxContext),
200
202
  reader.readField(),
201
203
  reader.readBoolean(),
202
204
  reader.readU64(),
205
+ reader.readField(),
206
+ reader.readField(),
207
+ reader.readField(),
208
+ reader.readField(),
203
209
  reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)),
204
210
  reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)),
205
211
  reader.readObject(
206
212
  ClaimedLengthArrayFromFields(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL),
207
213
  ),
208
- reader.readObject(ClaimedLengthArrayFromFields(NoteHash, MAX_NOTE_HASHES_PER_CALL)),
209
- reader.readObject(ClaimedLengthArrayFromFields(Nullifier, MAX_NULLIFIERS_PER_CALL)),
210
214
  reader.readObject(ClaimedLengthArrayFromFields(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)),
211
215
  reader.readObject(ClaimedLengthArrayFromFields(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)),
212
216
  reader.readObject(PublicCallRequest),
217
+ reader.readObject(ClaimedLengthArrayFromFields(NoteHash, MAX_NOTE_HASHES_PER_CALL)),
218
+ reader.readObject(ClaimedLengthArrayFromFields(Nullifier, MAX_NULLIFIERS_PER_CALL)),
213
219
  reader.readObject(ClaimedLengthArrayFromFields(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)),
214
220
  reader.readObject(ClaimedLengthArrayFromFields(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)),
215
221
  reader.readObject(ClaimedLengthArrayFromFields(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)),
216
- reader.readField(),
217
- reader.readField(),
218
- reader.readField(),
219
- reader.readField(),
220
- reader.readObject(BlockHeader),
221
- reader.readObject(TxContext),
222
222
  );
223
223
  }
224
224
 
@@ -231,26 +231,26 @@ export class PrivateCircuitPublicInputs {
231
231
  CallContext.empty(),
232
232
  Fr.ZERO,
233
233
  Fr.ZERO,
234
+ BlockHeader.empty(),
235
+ TxContext.empty(),
234
236
  Fr.ZERO,
235
237
  false,
236
238
  0n,
239
+ Fr.ZERO,
240
+ Fr.ZERO,
241
+ Fr.ZERO,
242
+ Fr.ZERO,
237
243
  ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL),
238
244
  ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL),
239
245
  ClaimedLengthArray.empty(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL),
240
- ClaimedLengthArray.empty(NoteHash, MAX_NOTE_HASHES_PER_CALL),
241
- ClaimedLengthArray.empty(Nullifier, MAX_NULLIFIERS_PER_CALL),
242
246
  ClaimedLengthArray.empty(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL),
243
247
  ClaimedLengthArray.empty(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL),
244
248
  PublicCallRequest.empty(),
249
+ ClaimedLengthArray.empty(NoteHash, MAX_NOTE_HASHES_PER_CALL),
250
+ ClaimedLengthArray.empty(Nullifier, MAX_NULLIFIERS_PER_CALL),
245
251
  ClaimedLengthArray.empty(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL),
246
252
  ClaimedLengthArray.empty(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL),
247
253
  ClaimedLengthArray.empty(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL),
248
- Fr.ZERO,
249
- Fr.ZERO,
250
- Fr.ZERO,
251
- Fr.ZERO,
252
- BlockHeader.empty(),
253
- TxContext.empty(),
254
254
  );
255
255
  }
256
256
 
@@ -259,26 +259,26 @@ export class PrivateCircuitPublicInputs {
259
259
  this.callContext.isEmpty() &&
260
260
  this.argsHash.isZero() &&
261
261
  this.returnsHash.isZero() &&
262
+ this.anchorBlockHeader.isEmpty() &&
263
+ this.txContext.isEmpty() &&
262
264
  this.minRevertibleSideEffectCounter.isZero() &&
263
265
  !this.isFeePayer &&
264
266
  !this.includeByTimestamp &&
267
+ this.startSideEffectCounter.isZero() &&
268
+ this.endSideEffectCounter.isZero() &&
269
+ this.expectedNonRevertibleSideEffectCounter.isZero() &&
270
+ this.expectedRevertibleSideEffectCounter.isZero() &&
265
271
  this.noteHashReadRequests.isEmpty() &&
266
272
  this.nullifierReadRequests.isEmpty() &&
267
273
  this.keyValidationRequestsAndGenerators.isEmpty() &&
268
- this.noteHashes.isEmpty() &&
269
- this.nullifiers.isEmpty() &&
270
274
  this.privateCallRequests.isEmpty() &&
271
275
  this.publicCallRequests.isEmpty() &&
272
276
  this.publicTeardownCallRequest.isEmpty() &&
277
+ this.noteHashes.isEmpty() &&
278
+ this.nullifiers.isEmpty() &&
273
279
  this.l2ToL1Msgs.isEmpty() &&
274
280
  this.privateLogs.isEmpty() &&
275
- this.contractClassLogsHashes.isEmpty() &&
276
- this.startSideEffectCounter.isZero() &&
277
- this.endSideEffectCounter.isZero() &&
278
- this.expectedNonRevertibleSideEffectCounter.isZero() &&
279
- this.expectedRevertibleSideEffectCounter.isZero() &&
280
- this.anchorBlockHeader.isEmpty() &&
281
- this.txContext.isEmpty()
281
+ this.contractClassLogsHashes.isEmpty()
282
282
  );
283
283
  }
284
284
 
@@ -292,26 +292,26 @@ export class PrivateCircuitPublicInputs {
292
292
  fields.callContext,
293
293
  fields.argsHash,
294
294
  fields.returnsHash,
295
+ fields.anchorBlockHeader,
296
+ fields.txContext,
295
297
  fields.minRevertibleSideEffectCounter,
296
298
  fields.isFeePayer,
297
299
  fields.includeByTimestamp,
300
+ fields.startSideEffectCounter,
301
+ fields.endSideEffectCounter,
302
+ fields.expectedNonRevertibleSideEffectCounter,
303
+ fields.expectedRevertibleSideEffectCounter,
298
304
  fields.noteHashReadRequests,
299
305
  fields.nullifierReadRequests,
300
306
  fields.keyValidationRequestsAndGenerators,
301
- fields.noteHashes,
302
- fields.nullifiers,
303
307
  fields.privateCallRequests,
304
308
  fields.publicCallRequests,
305
309
  fields.publicTeardownCallRequest,
310
+ fields.noteHashes,
311
+ fields.nullifiers,
306
312
  fields.l2ToL1Msgs,
307
313
  fields.privateLogs,
308
314
  fields.contractClassLogsHashes,
309
- fields.startSideEffectCounter,
310
- fields.endSideEffectCounter,
311
- fields.expectedNonRevertibleSideEffectCounter,
312
- fields.expectedRevertibleSideEffectCounter,
313
- fields.anchorBlockHeader,
314
- fields.txContext,
315
315
  ] as const;
316
316
  }
317
317
 
@@ -326,26 +326,26 @@ export class PrivateCircuitPublicInputs {
326
326
  this.callContext,
327
327
  this.argsHash,
328
328
  this.returnsHash,
329
+ this.anchorBlockHeader,
330
+ this.txContext,
329
331
  this.minRevertibleSideEffectCounter,
330
332
  this.isFeePayer,
331
333
  bigintToUInt64BE(this.includeByTimestamp),
334
+ this.startSideEffectCounter,
335
+ this.endSideEffectCounter,
336
+ this.expectedNonRevertibleSideEffectCounter,
337
+ this.expectedRevertibleSideEffectCounter,
332
338
  this.noteHashReadRequests,
333
339
  this.nullifierReadRequests,
334
340
  this.keyValidationRequestsAndGenerators,
335
- this.noteHashes,
336
- this.nullifiers,
337
341
  this.privateCallRequests,
338
342
  this.publicCallRequests,
339
343
  this.publicTeardownCallRequest,
344
+ this.noteHashes,
345
+ this.nullifiers,
340
346
  this.l2ToL1Msgs,
341
347
  this.privateLogs,
342
348
  this.contractClassLogsHashes,
343
- this.startSideEffectCounter,
344
- this.endSideEffectCounter,
345
- this.expectedNonRevertibleSideEffectCounter,
346
- this.expectedRevertibleSideEffectCounter,
347
- this.anchorBlockHeader,
348
- this.txContext,
349
349
  ]);
350
350
  }
351
351
 
@@ -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,8 +26,8 @@ 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, GeneratorIndex.NHK_M]);
31
31
  }
32
32
 
33
33
  export function deriveMasterIncomingViewingSecretKey(secretKey: Fr): GrumpkinScalar {
@@ -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
101
  const masterTaggingSecretKey = sha512ToGrumpkinScalar([secretKey, GeneratorIndex.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,5 @@
1
1
  import type { GeneratorIndex } 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 = GeneratorIndex.NHK_M | GeneratorIndex.IVSK_M | GeneratorIndex.OVSK_M | GeneratorIndex.TSK_M;
4
4
  export type KeyPrefix = 'n' | 'iv' | 'ov' | 't';
5
5
  export const KEY_PREFIXES: KeyPrefix[] = ['n', 'iv', 'ov', 't'];
package/src/keys/utils.ts CHANGED
@@ -3,7 +3,11 @@ import { GeneratorIndex } from '@aztec/constants';
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: GeneratorIndex.NHK_M,
8
+ iv: GeneratorIndex.IVSK_M,
9
+ ov: GeneratorIndex.OVSK_M,
10
+ t: GeneratorIndex.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',
package/src/logs/index.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './log_with_tx_data.js';
2
1
  export * from './directional_app_tagging_secret.js';
3
2
  export * from './pre_tag.js';
4
3
  export * from './contract_class_log.js';
@@ -13,3 +12,5 @@ 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 './tag.js';
16
+ 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
  }
@@ -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() {
@@ -0,0 +1,45 @@
1
+ import { GeneratorIndex } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
+ import type { Fr } from '@aztec/foundation/curves/bn254';
4
+ import type { ZodFor } from '@aztec/foundation/schemas';
5
+
6
+ import type { AztecAddress } from '../aztec-address/index.js';
7
+ import { schemas } from '../schemas/schemas.js';
8
+ import type { 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(tag: Tag, app: AztecAddress): Promise<SiloedTag> {
26
+ const siloedTag = await poseidon2HashWithSeparator([app, tag.value], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
27
+ return new SiloedTag(siloedTag);
28
+ }
29
+
30
+ toString(): string {
31
+ return this.value.toString();
32
+ }
33
+
34
+ toJSON(): string {
35
+ return this.value.toString();
36
+ }
37
+
38
+ equals(other: SiloedTag): boolean {
39
+ return this.value.equals(other.value);
40
+ }
41
+
42
+ static get schema(): ZodFor<SiloedTag> {
43
+ return schemas.Fr.transform((fr: Fr) => new SiloedTag(fr));
44
+ }
45
+ }
@@ -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.secret.value, 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
+ }