@aztec/stdlib 0.0.1-commit.e558bd1c → 0.0.1-commit.e588bc7e5

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 (560) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/buffer.d.ts +14 -4
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +25 -4
  7. package/dest/abi/decoder.d.ts +6 -45
  8. package/dest/abi/decoder.d.ts.map +1 -1
  9. package/dest/abi/decoder.js +17 -70
  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 +39 -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.js +1 -1
  20. package/dest/abi/function_signature_decoder.d.ts +43 -0
  21. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  22. package/dest/abi/function_signature_decoder.js +66 -0
  23. package/dest/abi/index.d.ts +2 -1
  24. package/dest/abi/index.d.ts.map +1 -1
  25. package/dest/abi/index.js +1 -0
  26. package/dest/abi/utils.d.ts +14 -1
  27. package/dest/abi/utils.d.ts.map +1 -1
  28. package/dest/abi/utils.js +15 -0
  29. package/dest/auth_witness/auth_witness.js +3 -3
  30. package/dest/avm/avm_proving_request.d.ts +166 -166
  31. package/dest/avm/revert_code.d.ts +16 -1
  32. package/dest/avm/revert_code.d.ts.map +1 -1
  33. package/dest/avm/revert_code.js +15 -5
  34. package/dest/block/block_data.d.ts +52 -0
  35. package/dest/block/block_data.d.ts.map +1 -0
  36. package/dest/block/block_data.js +12 -0
  37. package/dest/block/index.d.ts +2 -1
  38. package/dest/block/index.d.ts.map +1 -1
  39. package/dest/block/index.js +1 -0
  40. package/dest/block/l2_block.d.ts +9 -1
  41. package/dest/block/l2_block.d.ts.map +1 -1
  42. package/dest/block/l2_block.js +12 -2
  43. package/dest/block/l2_block_source.d.ts +113 -9
  44. package/dest/block/l2_block_source.d.ts.map +1 -1
  45. package/dest/block/l2_block_source.js +1 -0
  46. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  47. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  48. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  49. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  50. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  51. package/dest/block/l2_block_stream/l2_tips_store_base.js +17 -4
  52. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  53. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  54. package/dest/block/test/l2_tips_store_test_suite.js +3 -2
  55. package/dest/checkpoint/checkpoint.d.ts +28 -7
  56. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  57. package/dest/checkpoint/checkpoint.js +41 -17
  58. package/dest/checkpoint/checkpoint_data.d.ts +186 -0
  59. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  60. package/dest/checkpoint/checkpoint_data.js +36 -0
  61. package/dest/checkpoint/index.d.ts +3 -1
  62. package/dest/checkpoint/index.d.ts.map +1 -1
  63. package/dest/checkpoint/index.js +2 -0
  64. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  65. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  66. package/dest/checkpoint/published_checkpoint.js +1 -2
  67. package/dest/checkpoint/validate.d.ts +36 -0
  68. package/dest/checkpoint/validate.d.ts.map +1 -0
  69. package/dest/checkpoint/validate.js +120 -0
  70. package/dest/config/index.d.ts +3 -1
  71. package/dest/config/index.d.ts.map +1 -1
  72. package/dest/config/index.js +2 -0
  73. package/dest/config/pipelining-config.d.ts +19 -0
  74. package/dest/config/pipelining-config.d.ts.map +1 -0
  75. package/dest/config/pipelining-config.js +18 -0
  76. package/dest/config/sequencer-config.d.ts +12 -0
  77. package/dest/config/sequencer-config.d.ts.map +1 -0
  78. package/dest/config/sequencer-config.js +24 -0
  79. package/dest/contract/contract_address.d.ts +3 -3
  80. package/dest/contract/contract_address.js +7 -7
  81. package/dest/contract/contract_class.d.ts +2 -3
  82. package/dest/contract/contract_class.d.ts.map +1 -1
  83. package/dest/contract/contract_class_id.d.ts +3 -3
  84. package/dest/contract/contract_class_id.d.ts.map +1 -1
  85. package/dest/contract/contract_class_id.js +7 -6
  86. package/dest/contract/index.d.ts +1 -3
  87. package/dest/contract/index.d.ts.map +1 -1
  88. package/dest/contract/index.js +0 -2
  89. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  90. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  91. package/dest/contract/interfaces/contract_class.js +1 -28
  92. package/dest/contract/interfaces/node-info.d.ts +3 -1
  93. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  94. package/dest/contract/interfaces/node-info.js +2 -1
  95. package/dest/contract/private_function.js +2 -2
  96. package/dest/epoch-helpers/index.d.ts +15 -1
  97. package/dest/epoch-helpers/index.d.ts.map +1 -1
  98. package/dest/epoch-helpers/index.js +18 -2
  99. package/dest/file-store/factory.d.ts +4 -3
  100. package/dest/file-store/factory.d.ts.map +1 -1
  101. package/dest/file-store/factory.js +2 -2
  102. package/dest/file-store/http.d.ts +9 -2
  103. package/dest/file-store/http.d.ts.map +1 -1
  104. package/dest/file-store/http.js +20 -9
  105. package/dest/file-store/index.d.ts +2 -1
  106. package/dest/file-store/index.d.ts.map +1 -1
  107. package/dest/file-store/local.d.ts +3 -3
  108. package/dest/file-store/local.d.ts.map +1 -1
  109. package/dest/file-store/local.js +13 -4
  110. package/dest/file-store/s3.d.ts +1 -1
  111. package/dest/file-store/s3.d.ts.map +1 -1
  112. package/dest/file-store/s3.js +11 -3
  113. package/dest/gas/gas_fees.d.ts +1 -1
  114. package/dest/gas/gas_fees.d.ts.map +1 -1
  115. package/dest/gas/gas_fees.js +4 -1
  116. package/dest/ha-signing/config.d.ts +136 -0
  117. package/dest/ha-signing/config.d.ts.map +1 -0
  118. package/dest/ha-signing/config.js +97 -0
  119. package/dest/ha-signing/index.d.ts +4 -0
  120. package/dest/ha-signing/index.d.ts.map +1 -0
  121. package/dest/ha-signing/index.js +3 -0
  122. package/dest/ha-signing/local_config.d.ts +63 -0
  123. package/dest/ha-signing/local_config.d.ts.map +1 -0
  124. package/dest/ha-signing/local_config.js +24 -0
  125. package/dest/ha-signing/types.d.ts +85 -0
  126. package/dest/ha-signing/types.d.ts.map +1 -0
  127. package/dest/ha-signing/types.js +32 -0
  128. package/dest/hash/hash.d.ts +20 -1
  129. package/dest/hash/hash.d.ts.map +1 -1
  130. package/dest/hash/hash.js +45 -10
  131. package/dest/hash/map_slot.js +2 -2
  132. package/dest/interfaces/allowed_element.d.ts +26 -20
  133. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  134. package/dest/interfaces/allowed_element.js +8 -8
  135. package/dest/interfaces/archiver.d.ts +1 -1
  136. package/dest/interfaces/archiver.d.ts.map +1 -1
  137. package/dest/interfaces/archiver.js +10 -2
  138. package/dest/interfaces/aztec-node-admin.d.ts +111 -34
  139. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  140. package/dest/interfaces/aztec-node-admin.js +9 -3
  141. package/dest/interfaces/aztec-node.d.ts +13 -7
  142. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  143. package/dest/interfaces/aztec-node.js +5 -2
  144. package/dest/interfaces/block-builder.d.ts +39 -12
  145. package/dest/interfaces/block-builder.d.ts.map +1 -1
  146. package/dest/interfaces/block-builder.js +13 -6
  147. package/dest/interfaces/configs.d.ts +77 -32
  148. package/dest/interfaces/configs.d.ts.map +1 -1
  149. package/dest/interfaces/configs.js +10 -3
  150. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  151. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  152. package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
  153. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  154. package/dest/interfaces/p2p.d.ts +3 -8
  155. package/dest/interfaces/p2p.d.ts.map +1 -1
  156. package/dest/interfaces/prover-client.d.ts +6 -1
  157. package/dest/interfaces/prover-client.d.ts.map +1 -1
  158. package/dest/interfaces/prover-client.js +7 -1
  159. package/dest/interfaces/proving-job.d.ts +36 -36
  160. package/dest/interfaces/slasher.d.ts +5 -1
  161. package/dest/interfaces/slasher.d.ts.map +1 -1
  162. package/dest/interfaces/slasher.js +1 -0
  163. package/dest/interfaces/validator.d.ts +116 -51
  164. package/dest/interfaces/validator.d.ts.map +1 -1
  165. package/dest/interfaces/validator.js +10 -5
  166. package/dest/interfaces/world_state.d.ts +5 -4
  167. package/dest/interfaces/world_state.d.ts.map +1 -1
  168. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  169. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  170. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  171. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  172. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  173. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  174. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  175. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  176. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  177. package/dest/kernel/hints/index.d.ts +2 -2
  178. package/dest/kernel/hints/index.js +2 -2
  179. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  180. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  181. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  182. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  183. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  184. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  185. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  186. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  187. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  188. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  189. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  190. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  191. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  192. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  193. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  194. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  195. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  196. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  197. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  198. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  199. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  200. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  201. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  202. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  203. package/dest/kernel/private_validation_requests.d.ts +3 -3
  204. package/dest/kernel/private_validation_requests.js +9 -9
  205. package/dest/keys/derivation.js +8 -8
  206. package/dest/keys/key_types.d.ts +3 -3
  207. package/dest/keys/key_types.d.ts.map +1 -1
  208. package/dest/keys/public_keys.js +2 -2
  209. package/dest/keys/utils.js +5 -5
  210. package/dest/kv-store/config.d.ts +17 -0
  211. package/dest/kv-store/config.d.ts.map +1 -0
  212. package/dest/kv-store/config.js +26 -0
  213. package/dest/kv-store/index.d.ts +2 -0
  214. package/dest/kv-store/index.d.ts.map +1 -0
  215. package/dest/kv-store/index.js +1 -0
  216. package/dest/logs/debug_log_store.d.ts +30 -0
  217. package/dest/logs/debug_log_store.d.ts.map +1 -0
  218. package/dest/logs/debug_log_store.js +30 -0
  219. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  220. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  221. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  222. package/dest/logs/index.d.ts +4 -2
  223. package/dest/logs/index.d.ts.map +1 -1
  224. package/dest/logs/index.js +3 -1
  225. package/dest/logs/log_filter.d.ts +4 -1
  226. package/dest/logs/log_filter.d.ts.map +1 -1
  227. package/dest/logs/log_filter.js +2 -1
  228. package/dest/logs/message_context.d.ts +4 -7
  229. package/dest/logs/message_context.d.ts.map +1 -1
  230. package/dest/logs/message_context.js +23 -9
  231. package/dest/logs/pending_tagged_log.d.ts +2 -3
  232. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  233. package/dest/logs/pending_tagged_log.js +2 -2
  234. package/dest/logs/pre_tag.d.ts +16 -11
  235. package/dest/logs/pre_tag.d.ts.map +1 -1
  236. package/dest/logs/pre_tag.js +2 -2
  237. package/dest/logs/private_log.d.ts +2 -2
  238. package/dest/logs/private_log.d.ts.map +1 -1
  239. package/dest/logs/public_log.d.ts +4 -3
  240. package/dest/logs/public_log.d.ts.map +1 -1
  241. package/dest/logs/public_log.js +2 -1
  242. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  243. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  244. package/dest/logs/shared_secret_derivation.js +15 -9
  245. package/dest/logs/siloed_tag.d.ts +8 -3
  246. package/dest/logs/siloed_tag.d.ts.map +1 -1
  247. package/dest/logs/siloed_tag.js +12 -7
  248. package/dest/logs/tag.js +1 -1
  249. package/dest/logs/tagging_index_range.d.ts +40 -0
  250. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  251. package/dest/logs/tagging_index_range.js +8 -0
  252. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  253. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  254. package/dest/logs/tx_scoped_l2_log.js +7 -0
  255. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  256. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  257. package/dest/messaging/l1_to_l2_message.js +11 -13
  258. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  259. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  260. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  261. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  262. package/dest/messaging/l2_to_l1_membership.js +72 -29
  263. package/dest/noir/index.d.ts +3 -3
  264. package/dest/noir/index.d.ts.map +1 -1
  265. package/dest/note/index.d.ts +1 -2
  266. package/dest/note/index.d.ts.map +1 -1
  267. package/dest/note/index.js +0 -1
  268. package/dest/note/note_dao.d.ts +1 -1
  269. package/dest/note/note_dao.d.ts.map +1 -1
  270. package/dest/note/note_dao.js +1 -4
  271. package/dest/p2p/attestation_utils.d.ts +11 -1
  272. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  273. package/dest/p2p/attestation_utils.js +45 -0
  274. package/dest/p2p/block_proposal.d.ts +2 -2
  275. package/dest/p2p/block_proposal.d.ts.map +1 -1
  276. package/dest/p2p/block_proposal.js +2 -4
  277. package/dest/p2p/checkpoint_attestation.d.ts +2 -1
  278. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  279. package/dest/p2p/checkpoint_attestation.js +1 -1
  280. package/dest/p2p/checkpoint_proposal.d.ts +11 -11
  281. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  282. package/dest/p2p/checkpoint_proposal.js +32 -37
  283. package/dest/p2p/client_type.d.ts +2 -5
  284. package/dest/p2p/client_type.d.ts.map +1 -1
  285. package/dest/p2p/client_type.js +0 -7
  286. package/dest/p2p/consensus_payload.d.ts +12 -3
  287. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  288. package/dest/p2p/consensus_payload.js +22 -15
  289. package/dest/p2p/constants.d.ts +3 -1
  290. package/dest/p2p/constants.d.ts.map +1 -1
  291. package/dest/p2p/constants.js +1 -0
  292. package/dest/p2p/index.d.ts +1 -2
  293. package/dest/p2p/index.d.ts.map +1 -1
  294. package/dest/p2p/index.js +0 -1
  295. package/dest/p2p/peer_error.d.ts +3 -1
  296. package/dest/p2p/peer_error.d.ts.map +1 -1
  297. package/dest/p2p/peer_error.js +5 -0
  298. package/dest/p2p/topic_type.d.ts +3 -4
  299. package/dest/p2p/topic_type.d.ts.map +1 -1
  300. package/dest/p2p/topic_type.js +7 -24
  301. package/dest/proofs/chonk_proof.d.ts +46 -2
  302. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  303. package/dest/proofs/chonk_proof.js +85 -10
  304. package/dest/rollup/checkpoint_header.d.ts +2 -2
  305. package/dest/rollup/checkpoint_header.js +2 -2
  306. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  307. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  308. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  309. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  310. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  311. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  312. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  313. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  314. package/dest/slashing/empire.d.ts +1 -1
  315. package/dest/slashing/empire.d.ts.map +1 -1
  316. package/dest/slashing/empire.js +1 -0
  317. package/dest/slashing/helpers.d.ts +2 -2
  318. package/dest/slashing/helpers.d.ts.map +1 -1
  319. package/dest/slashing/helpers.js +3 -0
  320. package/dest/slashing/tally.d.ts +7 -2
  321. package/dest/slashing/tally.d.ts.map +1 -1
  322. package/dest/slashing/tally.js +30 -2
  323. package/dest/slashing/types.d.ts +5 -3
  324. package/dest/slashing/types.d.ts.map +1 -1
  325. package/dest/slashing/types.js +7 -1
  326. package/dest/tests/factories.d.ts +4 -4
  327. package/dest/tests/factories.d.ts.map +1 -1
  328. package/dest/tests/factories.js +31 -40
  329. package/dest/tests/mocks.d.ts +8 -3
  330. package/dest/tests/mocks.d.ts.map +1 -1
  331. package/dest/tests/mocks.js +31 -21
  332. package/dest/timetable/index.d.ts +37 -0
  333. package/dest/timetable/index.d.ts.map +1 -0
  334. package/dest/timetable/index.js +39 -0
  335. package/dest/trees/public_data_leaf.d.ts +2 -1
  336. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  337. package/dest/trees/public_data_leaf.js +7 -6
  338. package/dest/tx/block_header.d.ts +3 -1
  339. package/dest/tx/block_header.d.ts.map +1 -1
  340. package/dest/tx/block_header.js +6 -2
  341. package/dest/tx/capsule.d.ts +6 -2
  342. package/dest/tx/capsule.d.ts.map +1 -1
  343. package/dest/tx/capsule.js +9 -3
  344. package/dest/tx/global_variable_builder.d.ts +14 -2
  345. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  346. package/dest/tx/global_variables.d.ts +4 -4
  347. package/dest/tx/global_variables.d.ts.map +1 -1
  348. package/dest/tx/private_execution_result.d.ts +6 -6
  349. package/dest/tx/private_execution_result.d.ts.map +1 -1
  350. package/dest/tx/private_execution_result.js +6 -6
  351. package/dest/tx/profiling.d.ts +17 -5
  352. package/dest/tx/profiling.d.ts.map +1 -1
  353. package/dest/tx/profiling.js +15 -5
  354. package/dest/tx/protocol_contracts.d.ts +1 -1
  355. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  356. package/dest/tx/protocol_contracts.js +2 -2
  357. package/dest/tx/public_simulation_output.d.ts +4 -2
  358. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  359. package/dest/tx/public_simulation_output.js +7 -3
  360. package/dest/tx/simulated_tx.d.ts +113 -2
  361. package/dest/tx/simulated_tx.d.ts.map +1 -1
  362. package/dest/tx/simulated_tx.js +4 -1
  363. package/dest/tx/tx.d.ts +6 -5
  364. package/dest/tx/tx.d.ts.map +1 -1
  365. package/dest/tx/tx.js +18 -6
  366. package/dest/tx/tx_receipt.d.ts +22 -3
  367. package/dest/tx/tx_receipt.d.ts.map +1 -1
  368. package/dest/tx/tx_receipt.js +15 -4
  369. package/dest/tx/tx_request.js +2 -2
  370. package/dest/tx/validator/empty_validator.d.ts +2 -2
  371. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  372. package/dest/tx/validator/error_texts.d.ts +10 -2
  373. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  374. package/dest/tx/validator/error_texts.js +11 -1
  375. package/dest/tx/validator/tx_validator.d.ts +2 -2
  376. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  377. package/dest/update-checker/index.d.ts +3 -2
  378. package/dest/update-checker/index.d.ts.map +1 -1
  379. package/dest/update-checker/index.js +2 -1
  380. package/dest/update-checker/package_version.d.ts +3 -0
  381. package/dest/update-checker/package_version.d.ts.map +1 -0
  382. package/dest/update-checker/package_version.js +24 -0
  383. package/dest/update-checker/version_checker.d.ts +25 -0
  384. package/dest/update-checker/version_checker.d.ts.map +1 -0
  385. package/dest/update-checker/version_checker.js +50 -0
  386. package/dest/validators/errors.d.ts +6 -1
  387. package/dest/validators/errors.d.ts.map +1 -1
  388. package/dest/validators/errors.js +7 -0
  389. package/dest/validators/schemas.d.ts +30 -30
  390. package/dest/validators/schemas.d.ts.map +1 -1
  391. package/dest/validators/schemas.js +4 -3
  392. package/dest/validators/types.d.ts +3 -3
  393. package/dest/validators/types.d.ts.map +1 -1
  394. package/dest/versioning/versioning.d.ts +4 -2
  395. package/dest/versioning/versioning.d.ts.map +1 -1
  396. package/dest/versioning/versioning.js +4 -1
  397. package/package.json +13 -11
  398. package/src/abi/abi.ts +25 -2
  399. package/src/abi/buffer.ts +25 -4
  400. package/src/abi/decoder.ts +36 -82
  401. package/src/abi/encoder.ts +49 -6
  402. package/src/abi/event_metadata_definition.ts +2 -0
  403. package/src/abi/function_call.ts +25 -3
  404. package/src/abi/function_selector.ts +1 -1
  405. package/src/abi/function_signature_decoder.ts +77 -0
  406. package/src/abi/index.ts +1 -0
  407. package/src/abi/utils.ts +25 -0
  408. package/src/auth_witness/auth_witness.ts +3 -3
  409. package/src/avm/revert_code.ts +15 -0
  410. package/src/block/block_data.ts +26 -0
  411. package/src/block/index.ts +1 -0
  412. package/src/block/l2_block.ts +13 -1
  413. package/src/block/l2_block_source.ts +47 -8
  414. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  415. package/src/block/l2_block_stream/l2_tips_store_base.ts +24 -12
  416. package/src/block/test/l2_tips_store_test_suite.ts +8 -1
  417. package/src/checkpoint/checkpoint.ts +54 -17
  418. package/src/checkpoint/checkpoint_data.ts +87 -0
  419. package/src/checkpoint/index.ts +2 -0
  420. package/src/checkpoint/published_checkpoint.ts +3 -1
  421. package/src/checkpoint/validate.ts +230 -0
  422. package/src/config/index.ts +2 -0
  423. package/src/config/pipelining-config.ts +31 -0
  424. package/src/config/sequencer-config.ts +37 -0
  425. package/src/contract/contract_address.ts +7 -7
  426. package/src/contract/contract_class.ts +3 -3
  427. package/src/contract/contract_class_id.ts +7 -6
  428. package/src/contract/index.ts +0 -2
  429. package/src/contract/interfaces/contract_class.ts +2 -82
  430. package/src/contract/interfaces/node-info.ts +3 -0
  431. package/src/contract/private_function.ts +2 -2
  432. package/src/epoch-helpers/index.ts +30 -0
  433. package/src/file-store/factory.ts +13 -4
  434. package/src/file-store/http.ts +29 -10
  435. package/src/file-store/index.ts +1 -0
  436. package/src/file-store/local.ts +15 -5
  437. package/src/file-store/s3.ts +12 -3
  438. package/src/gas/README.md +123 -0
  439. package/src/gas/gas_fees.ts +7 -1
  440. package/src/ha-signing/config.ts +156 -0
  441. package/src/ha-signing/index.ts +27 -0
  442. package/src/ha-signing/local_config.ts +46 -0
  443. package/src/ha-signing/types.ts +112 -0
  444. package/src/hash/hash.ts +48 -10
  445. package/src/hash/map_slot.ts +2 -2
  446. package/src/interfaces/allowed_element.ts +29 -9
  447. package/src/interfaces/archiver.ts +10 -2
  448. package/src/interfaces/aztec-node-admin.ts +23 -0
  449. package/src/interfaces/aztec-node.ts +25 -6
  450. package/src/interfaces/block-builder.ts +61 -14
  451. package/src/interfaces/configs.ts +36 -8
  452. package/src/interfaces/l2_logs_source.ts +4 -1
  453. package/src/interfaces/merkle_tree_operations.ts +9 -19
  454. package/src/interfaces/p2p.ts +2 -13
  455. package/src/interfaces/prover-client.ts +8 -0
  456. package/src/interfaces/slasher.ts +2 -0
  457. package/src/interfaces/validator.ts +55 -28
  458. package/src/interfaces/world_state.ts +4 -3
  459. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  460. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  461. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  462. package/src/kernel/hints/index.ts +2 -2
  463. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  464. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  465. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  466. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  467. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  468. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  469. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  470. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  471. package/src/kernel/private_validation_requests.ts +8 -8
  472. package/src/keys/derivation.ts +8 -8
  473. package/src/keys/key_types.ts +6 -2
  474. package/src/keys/public_keys.ts +2 -2
  475. package/src/keys/utils.ts +5 -5
  476. package/src/kv-store/config.ts +36 -0
  477. package/src/kv-store/index.ts +1 -0
  478. package/src/logs/debug_log_store.ts +54 -0
  479. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  480. package/src/logs/index.ts +3 -1
  481. package/src/logs/log_filter.ts +5 -0
  482. package/src/logs/message_context.ts +17 -7
  483. package/src/logs/pending_tagged_log.ts +1 -3
  484. package/src/logs/pre_tag.ts +5 -5
  485. package/src/logs/public_log.ts +4 -2
  486. package/src/logs/shared_secret_derivation.ts +21 -10
  487. package/src/logs/siloed_tag.ts +15 -5
  488. package/src/logs/tag.ts +1 -1
  489. package/src/logs/tagging_index_range.ts +24 -0
  490. package/src/logs/tx_scoped_l2_log.ts +16 -0
  491. package/src/messaging/l1_to_l2_message.ts +12 -9
  492. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  493. package/src/messaging/l2_to_l1_membership.ts +101 -36
  494. package/src/noir/index.ts +2 -2
  495. package/src/note/index.ts +0 -1
  496. package/src/note/note_dao.ts +1 -4
  497. package/src/p2p/attestation_utils.ts +56 -0
  498. package/src/p2p/block_proposal.ts +1 -3
  499. package/src/p2p/checkpoint_attestation.ts +6 -1
  500. package/src/p2p/checkpoint_proposal.ts +57 -49
  501. package/src/p2p/client_type.ts +0 -6
  502. package/src/p2p/consensus_payload.ts +25 -12
  503. package/src/p2p/constants.ts +3 -0
  504. package/src/p2p/index.ts +0 -1
  505. package/src/p2p/peer_error.ts +7 -0
  506. package/src/p2p/topic_type.ts +8 -15
  507. package/src/proofs/chonk_proof.ts +91 -5
  508. package/src/rollup/checkpoint_header.ts +2 -2
  509. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  510. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  511. package/src/slashing/empire.ts +2 -1
  512. package/src/slashing/helpers.ts +4 -0
  513. package/src/slashing/tally.ts +34 -1
  514. package/src/slashing/types.ts +7 -0
  515. package/src/tests/factories.ts +30 -50
  516. package/src/tests/mocks.ts +46 -20
  517. package/src/timetable/index.ts +66 -0
  518. package/src/trees/public_data_leaf.ts +11 -5
  519. package/src/tx/block_header.ts +8 -2
  520. package/src/tx/capsule.ts +10 -2
  521. package/src/tx/global_variable_builder.ts +15 -0
  522. package/src/tx/global_variables.ts +3 -3
  523. package/src/tx/private_execution_result.ts +5 -5
  524. package/src/tx/profiling.ts +14 -5
  525. package/src/tx/protocol_contracts.ts +2 -2
  526. package/src/tx/public_simulation_output.ts +4 -0
  527. package/src/tx/simulated_tx.ts +8 -1
  528. package/src/tx/tx.ts +20 -11
  529. package/src/tx/tx_receipt.ts +17 -2
  530. package/src/tx/tx_request.ts +2 -2
  531. package/src/tx/validator/empty_validator.ts +1 -1
  532. package/src/tx/validator/error_texts.ts +13 -1
  533. package/src/tx/validator/tx_validator.ts +1 -1
  534. package/src/update-checker/index.ts +2 -1
  535. package/src/update-checker/package_version.ts +30 -0
  536. package/src/update-checker/version_checker.ts +65 -0
  537. package/src/validators/errors.ts +9 -0
  538. package/src/validators/schemas.ts +8 -1
  539. package/src/validators/types.ts +5 -4
  540. package/src/versioning/versioning.ts +4 -1
  541. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  542. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  543. package/dest/contract/private_function_membership_proof.js +0 -124
  544. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  545. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  546. package/dest/contract/utility_function_membership_proof.js +0 -87
  547. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  548. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  549. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  550. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  551. package/dest/note/notes_filter.d.ts +0 -27
  552. package/dest/note/notes_filter.d.ts.map +0 -1
  553. package/dest/note/notes_filter.js +0 -11
  554. package/dest/update-checker/update-checker.d.ts +0 -49
  555. package/dest/update-checker/update-checker.d.ts.map +0 -1
  556. package/dest/update-checker/update-checker.js +0 -130
  557. package/src/contract/private_function_membership_proof.ts +0 -167
  558. package/src/contract/utility_function_membership_proof.ts +0 -118
  559. package/src/note/notes_filter.ts +0 -38
  560. package/src/update-checker/update-checker.ts +0 -166
@@ -30,14 +30,15 @@ export declare class FlatPublicLogs {
30
30
  isEmpty(): boolean;
31
31
  }
32
32
  export declare class PublicLog {
33
- contractAddress: AztecAddress;
34
- fields: Fr[];
33
+ readonly contractAddress: AztecAddress;
34
+ readonly fields: Fr[];
35
35
  constructor(contractAddress: AztecAddress, fields: Fr[]);
36
36
  static from(fields: FieldsOf<PublicLog>): PublicLog;
37
37
  static getFields(fields: FieldsOf<PublicLog>): readonly [AztecAddress, Fr[]];
38
38
  toFields(): Fr[];
39
39
  static fromFields(fields: Fr[] | FieldReader): PublicLog;
40
40
  sizeInFields(): number;
41
+ /** Returns the serialized log (field as in noir field and not a struct field). */
41
42
  getEmittedFields(): Fr[];
42
43
  getEmittedFieldsWithoutTag(): Fr[];
43
44
  isEmpty(): boolean;
@@ -51,4 +52,4 @@ export declare class PublicLog {
51
52
  static get schema(): ZodFor<PublicLog>;
52
53
  [inspect.custom](): string;
53
54
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHVibGljX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFPekQscUJBQWEsY0FBYztJQUdoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFGdEIsWUFDUyxNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFRckI7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtJQU1sQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBSS9EO0lBRUQsWUFBWSxTQUVYO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUVoQztJQUVELE1BQU0sZ0JBVUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FPMUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGtCQUk5QztJQUdELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBUzNDO0lBRUQsTUFBTSxDQUFDLEtBQUssbUJBRVg7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsY0FBYyxDQUsvQztJQUVELE9BQU8sWUFFTjtDQUNGO0FBRUQscUJBQWEsU0FBUztJQUVYLGVBQWUsRUFBRSxZQUFZO0lBQzdCLE1BQU0sRUFBRSxFQUFFLEVBQUU7SUFGckIsWUFDUyxlQUFlLEVBQUUsWUFBWSxFQUM3QixNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQ2pCO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxhQUV0QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsaUNBRTNDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxhQUkzQztJQUVELFlBQVksV0FFWDtJQUVELGdCQUFnQixTQUVmO0lBRUQsMEJBQTBCLFNBRXpCO0lBRUQsT0FBTyxZQUVOO0lBRUQsTUFBTSxDQUFDLEtBQUssY0FFWDtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksYUFJOUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsU0FBUyxDQUsxQztJQUVELE9BQWEsTUFBTSx1QkFLbEI7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksV0FNakI7SUFFRCxlQUFlLElBQUksTUFBTSxDQUV4QjtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQU9yQztJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FLekI7Q0FDRiJ9
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvcHVibGljX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFPekQscUJBQWEsY0FBYztJQUdoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFGdEIsWUFDUyxNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFRckI7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLG1CQUFtQjtJQU1sQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBSS9EO0lBRUQsWUFBWSxTQUVYO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUVoQztJQUVELE1BQU0sZ0JBVUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FPMUM7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGtCQUk5QztJQUdELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsa0JBUzNDO0lBRUQsTUFBTSxDQUFDLEtBQUssbUJBRVg7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsY0FBYyxDQUsvQztJQUVELE9BQU8sWUFFTjtDQUNGO0FBRUQscUJBQWEsU0FBUzthQUVGLGVBQWUsRUFBRSxZQUFZO2FBQzdCLE1BQU0sRUFBRSxFQUFFLEVBQUU7SUFGOUIsWUFDa0IsZUFBZSxFQUFFLFlBQVksRUFDN0IsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUMxQjtJQUVKLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFFdEM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLGlDQUUzQztJQUVELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsYUFJM0M7SUFFRCxZQUFZLFdBRVg7SUFFRCxrRkFBa0Y7SUFDbEYsZ0JBQWdCLFNBR2Y7SUFFRCwwQkFBMEIsU0FFekI7SUFFRCxPQUFPLFlBRU47SUFFRCxNQUFNLENBQUMsS0FBSyxjQUVYO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxhQUk5QztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxTQUFTLENBSzFDO0lBRUQsT0FBYSxNQUFNLHVCQUtsQjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxXQU1qQjtJQUVELGVBQWUsSUFBSSxNQUFNLENBRXhCO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBT3JDO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUt6QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"public_log.d.ts","sourceRoot":"","sources":["../../src/logs/public_log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOzD,qBAAa,cAAc;IAGhB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE;IAFtB,YACS,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EAAE,EAQrB;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAI/D;IAED,YAAY,SAEX;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,kBAEhC;IAED,MAAM,gBAUL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,CAO1C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,kBAI9C;IAGD,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAS3C;IAED,MAAM,CAAC,KAAK,mBAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK/C;IAED,OAAO,YAEN;CACF;AAED,qBAAa,SAAS;IAEX,eAAe,EAAE,YAAY;IAC7B,MAAM,EAAE,EAAE,EAAE;IAFrB,YACS,eAAe,EAAE,YAAY,EAC7B,MAAM,EAAE,EAAE,EAAE,EACjB;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAEtC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,iCAE3C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,aAI3C;IAED,YAAY,WAEX;IAED,gBAAgB,SAEf;IAED,0BAA0B,SAEzB;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,cAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,aAI9C;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAK1C;IAED,OAAa,MAAM,uBAKlB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,WAMjB;IAED,eAAe,IAAI,MAAM,CAExB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAOrC;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
1
+ {"version":3,"file":"public_log.d.ts","sourceRoot":"","sources":["../../src/logs/public_log.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAOzD,qBAAa,cAAc;IAGhB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,EAAE,EAAE;IAFtB,YACS,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EAAE,EAQrB;IAED,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAMlC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAI/D;IAED,YAAY,SAEX;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,kBAEhC;IAED,MAAM,gBAUL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,CAO1C;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,kBAI9C;IAGD,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,kBAS3C;IAED,MAAM,CAAC,KAAK,mBAEX;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,CAK/C;IAED,OAAO,YAEN;CACF;AAED,qBAAa,SAAS;aAEF,eAAe,EAAE,YAAY;aAC7B,MAAM,EAAE,EAAE,EAAE;IAF9B,YACkB,eAAe,EAAE,YAAY,EAC7B,MAAM,EAAE,EAAE,EAAE,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,aAEtC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,iCAE3C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,aAI3C;IAED,YAAY,WAEX;IAED,kFAAkF;IAClF,gBAAgB,SAGf;IAED,0BAA0B,SAEzB;IAED,OAAO,YAEN;IAED,MAAM,CAAC,KAAK,cAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,aAI9C;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,SAAS,CAK1C;IAED,OAAa,MAAM,uBAKlB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,WAMjB;IAED,eAAe,IAAI,MAAM,CAExB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAOrC;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
@@ -133,7 +133,8 @@ export class PublicLog {
133
133
  sizeInFields() {
134
134
  return this.fields.length + PUBLIC_LOG_HEADER_LENGTH;
135
135
  }
136
- getEmittedFields() {
136
+ /** Returns the serialized log (field as in noir field and not a struct field). */ getEmittedFields() {
137
+ // We slice from 0 to return a shallow copy.
137
138
  return this.fields.slice(0);
138
139
  }
139
140
  getEmittedFieldsWithoutTag() {
@@ -1,17 +1,18 @@
1
- import type { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
+ import type { AztecAddress } from '../aztec-address/index.js';
2
4
  import type { PublicKey } from '../keys/public_key.js';
3
5
  /**
4
- * Derive an Elliptic Curve Diffie-Hellman (ECDH) Shared Secret.
5
- * The function takes in an ECDH public key, a private key, and a Grumpkin instance to compute
6
- * the shared secret.
6
+ * Derives an app-siloed ECDH shared secret.
7
+ *
8
+ * Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
9
+ * `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
7
10
  *
8
11
  * @param secretKey - The secret key used to derive shared secret.
9
12
  * @param publicKey - The public key used to derive shared secret.
10
- * @returns A derived shared secret.
13
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
14
+ * @returns The app-siloed shared secret as a Field.
11
15
  * @throws If the publicKey is zero.
12
- *
13
- * TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
14
- * the app-siloed secret.
15
16
  */
16
- export declare function deriveEcdhSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey): Promise<Point>;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQixzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQU90RyJ9
17
+ export declare function deriveAppSiloedSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey, contractAddress: AztecAddress): Promise<Fr>;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCx3QkFBc0IsMkJBQTJCLENBQy9DLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FXYiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAOtG"}
1
+ {"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,EAAE,CAAC,CAWb"}
@@ -1,19 +1,25 @@
1
+ import { DomainSeparator } from '@aztec/constants';
1
2
  import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
3
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
2
4
  /**
3
- * Derive an Elliptic Curve Diffie-Hellman (ECDH) Shared Secret.
4
- * The function takes in an ECDH public key, a private key, and a Grumpkin instance to compute
5
- * the shared secret.
5
+ * Derives an app-siloed ECDH shared secret.
6
+ *
7
+ * Computes the raw ECDH shared secret `S = secretKey * publicKey`, then app-silos it:
8
+ * `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, contractAddress)`
6
9
  *
7
10
  * @param secretKey - The secret key used to derive shared secret.
8
11
  * @param publicKey - The public key used to derive shared secret.
9
- * @returns A derived shared secret.
12
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
13
+ * @returns The app-siloed shared secret as a Field.
10
14
  * @throws If the publicKey is zero.
11
- *
12
- * TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
13
- * the app-siloed secret.
14
- */ export function deriveEcdhSharedSecret(secretKey, publicKey) {
15
+ */ export async function deriveAppSiloedSharedSecret(secretKey, publicKey, contractAddress) {
15
16
  if (publicKey.isZero()) {
16
17
  throw new Error(`Attempting to derive a shared secret with a zero public key. You have probably passed a zero public key in your Noir code somewhere thinking that the note won't be broadcast... but it was.`);
17
18
  }
18
- return Grumpkin.mul(publicKey, secretKey);
19
+ const rawSharedSecret = await Grumpkin.mul(publicKey, secretKey);
20
+ return poseidon2HashWithSeparator([
21
+ rawSharedSecret.x,
22
+ rawSharedSecret.y,
23
+ contractAddress
24
+ ], DomainSeparator.APP_SILOED_ECDH_SHARED_SECRET);
19
25
  }
@@ -1,7 +1,8 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ZodFor } from '@aztec/foundation/schemas';
3
3
  import type { AztecAddress } from '../aztec-address/index.js';
4
- import type { Tag } from './tag.js';
4
+ import type { PreTag } from './pre_tag.js';
5
+ import { Tag } from './tag.js';
5
6
  /** Branding to ensure fields are not interchangeable types. */
6
7
  export interface SiloedTag {
7
8
  /** Brand. */
@@ -14,10 +15,14 @@ export interface SiloedTag {
14
15
  export declare class SiloedTag {
15
16
  readonly value: Fr;
16
17
  constructor(value: Fr);
17
- static compute(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
18
+ static compute(preTag: PreTag): Promise<SiloedTag>;
19
+ /**
20
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
21
+ */
22
+ static computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
18
23
  toString(): string;
19
24
  toJSON(): string;
20
25
  equals(other: SiloedTag): boolean;
21
26
  static get schema(): ZodFor<SiloedTag>;
22
27
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJcEMsK0RBQStEO0FBQy9ELE1BQU0sV0FBVyxTQUFTO0lBQ3hCLGFBQWE7SUFDYixTQUFTLEVBQUUsV0FBVyxDQUFDO0NBQ3hCO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsU0FBUzthQUNRLEtBQUssRUFBRSxFQUFFO0lBQXJDLFlBQTRCLEtBQUssRUFBRSxFQUFFLEVBQUk7SUFFekMsT0FBYSxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHcEU7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBRWhDO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBRXJDO0NBQ0YifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsYUFBYTtJQUNiLFNBQVMsRUFBRSxXQUFXLENBQUM7Q0FDeEI7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSxTQUFTO2FBQ1EsS0FBSyxFQUFFLEVBQUU7SUFBckMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FJdkQ7SUFFRDs7T0FFRztJQUNILE9BQWEsb0JBQW9CLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHakY7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBRWhDO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBRXJDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAIpC,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;aACQ,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGpE;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
1
+ {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;aACQ,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIvD;IAED;;OAEG;IACH,OAAa,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjF;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEhC;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
@@ -1,6 +1,7 @@
1
- import { GeneratorIndex } from '@aztec/constants';
2
- import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { computeLogTag, computeSiloedPrivateLogFirstField } from '../hash/hash.js';
3
3
  import { schemas } from '../schemas/schemas.js';
4
+ import { Tag } from './tag.js';
4
5
  /**
5
6
  * Represents a tag used in private log as it "appears on the chain" - that is the tag is siloed with a contract
6
7
  * address that emitted the log.
@@ -9,11 +10,15 @@ import { schemas } from '../schemas/schemas.js';
9
10
  constructor(value){
10
11
  this.value = value;
11
12
  }
12
- static async compute(tag, app) {
13
- const siloedTag = await poseidon2HashWithSeparator([
14
- app,
15
- tag.value
16
- ], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
13
+ static async compute(preTag) {
14
+ const tag = await Tag.compute(preTag);
15
+ const logTag = await computeLogTag(tag.value, DomainSeparator.UNCONSTRAINED_MSG_LOG_TAG);
16
+ return SiloedTag.computeFromTagAndApp(new Tag(logTag), preTag.extendedSecret.app);
17
+ }
18
+ /**
19
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
20
+ */ static async computeFromTagAndApp(tag, app) {
21
+ const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
17
22
  return new SiloedTag(siloedTag);
18
23
  }
19
24
  toString() {
package/dest/logs/tag.js CHANGED
@@ -10,7 +10,7 @@ import { schemas } from '../schemas/schemas.js';
10
10
  }
11
11
  static async compute(preTag) {
12
12
  const tag = await poseidon2Hash([
13
- preTag.secret.value,
13
+ preTag.extendedSecret.secret,
14
14
  preTag.index
15
15
  ]);
16
16
  return new Tag(tag);
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { type ExtendedDirectionalAppTaggingSecret } from './extended_directional_app_tagging_secret.js';
3
+ /**
4
+ * Represents a range of tagging indexes for a given extended directional app tagging secret. Used to track the lowest
5
+ * and highest indexes used in a transaction for a given (sender, recipient, app/contract) tuple.
6
+ */
7
+ export type TaggingIndexRange = {
8
+ extendedSecret: ExtendedDirectionalAppTaggingSecret;
9
+ lowestIndex: number;
10
+ highestIndex: number;
11
+ };
12
+ export declare const TaggingIndexRangeSchema: z.ZodObject<{
13
+ extendedSecret: z.ZodObject<{
14
+ secret: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
15
+ app: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ secret: import("@aztec/foundation/schemas").Fr;
18
+ app: import("../aztec-address/index.js").AztecAddress;
19
+ }, {
20
+ secret: string;
21
+ app?: any;
22
+ }>;
23
+ lowestIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
24
+ highestIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ extendedSecret: {
27
+ secret: import("@aztec/foundation/schemas").Fr;
28
+ app: import("../aztec-address/index.js").AztecAddress;
29
+ };
30
+ lowestIndex: number;
31
+ highestIndex: number;
32
+ }, {
33
+ extendedSecret: {
34
+ secret: string;
35
+ app?: any;
36
+ };
37
+ lowestIndex: string | number | bigint;
38
+ highestIndex: string | number | bigint;
39
+ }>;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2luZ19pbmRleF9yYW5nZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvdGFnZ2luZ19pbmRleF9yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFDTCxLQUFLLG1DQUFtQyxFQUV6QyxNQUFNLDhDQUE4QyxDQUFDO0FBRXREOzs7R0FHRztBQUNILE1BQU0sTUFBTSxpQkFBaUIsR0FBRztJQUM5QixjQUFjLEVBQUUsbUNBQW1DLENBQUM7SUFDcEQsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixZQUFZLEVBQUUsTUFBTSxDQUFDO0NBQ3RCLENBQUM7QUFFRixlQUFPLE1BQU0sdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFJbEMsQ0FBQyJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagging_index_range.d.ts","sourceRoot":"","sources":["../../src/logs/tagging_index_range.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,mCAAmC,EAEzC,MAAM,8CAA8C,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,mCAAmC,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIlC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { schemas } from '@aztec/foundation/schemas';
2
+ import { z } from 'zod';
3
+ import { ExtendedDirectionalAppTaggingSecretSchema } from './extended_directional_app_tagging_secret.js';
4
+ export const TaggingIndexRangeSchema = z.object({
5
+ extendedSecret: ExtendedDirectionalAppTaggingSecretSchema,
6
+ lowestIndex: schemas.Integer,
7
+ highestIndex: schemas.Integer
8
+ });
@@ -44,6 +44,8 @@ export declare class TxScopedL2Log {
44
44
  }>;
45
45
  toBuffer(): Buffer<ArrayBuffer>;
46
46
  static fromBuffer(buffer: Buffer): TxScopedL2Log;
47
+ static getBlockNumberFromBuffer(buffer: Buffer): BlockNumber;
48
+ static random(): TxScopedL2Log;
47
49
  equals(other: TxScopedL2Log): boolean;
48
50
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfc2NvcGVkX2wyX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvdHhfc2NvcGVkX2wyX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVNwRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxxQkFBYSxhQUFhO0lBS2YsTUFBTSxFQUFFLE1BQU07SUFJZCxXQUFXLEVBQUUsV0FBVztJQUl4QixjQUFjLEVBQUUsTUFBTTtJQUl0QixPQUFPLEVBQUUsRUFBRSxFQUFFO0lBSWIsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQU1oQixjQUFjLEVBQUUsRUFBRTtJQTFCM0IsWUFJUyxNQUFNLEVBQUUsTUFBTSxFQUlkLFdBQVcsRUFBRSxXQUFXLEVBSXhCLGNBQWMsRUFBRSxNQUFNLEVBSXRCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFJYixVQUFVLEVBQUUsRUFBRSxFQUFFLEVBTWhCLGNBQWMsRUFBRSxFQUFFLEVBQ3ZCO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWNoQjtJQUVELFFBQVEsd0JBU1A7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLGlCQVUvQjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsYUFBYSxXQVcxQjtDQUNGIn0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfc2NvcGVkX2wyX2xvZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvdHhfc2NvcGVkX2wyX2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVNwRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxxQkFBYSxhQUFhO0lBS2YsTUFBTSxFQUFFLE1BQU07SUFJZCxXQUFXLEVBQUUsV0FBVztJQUl4QixjQUFjLEVBQUUsTUFBTTtJQUl0QixPQUFPLEVBQUUsRUFBRSxFQUFFO0lBSWIsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQU1oQixjQUFjLEVBQUUsRUFBRTtJQTFCM0IsWUFJUyxNQUFNLEVBQUUsTUFBTSxFQUlkLFdBQVcsRUFBRSxXQUFXLEVBSXhCLGNBQWMsRUFBRSxNQUFNLEVBSXRCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFJYixVQUFVLEVBQUUsRUFBRSxFQUFFLEVBTWhCLGNBQWMsRUFBRSxFQUFFLEVBQ3ZCO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWNoQjtJQUVELFFBQVEsd0JBU1A7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLGlCQVUvQjtJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxlQUU3QztJQUVELE1BQU0sQ0FBQyxNQUFNLGtCQVNaO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxhQUFhLFdBVzFCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tx_scoped_l2_log.d.ts","sourceRoot":"","sources":["../../src/logs/tx_scoped_l2_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AASpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,aAAa;IAKf,MAAM,EAAE,MAAM;IAId,WAAW,EAAE,WAAW;IAIxB,cAAc,EAAE,MAAM;IAItB,OAAO,EAAE,EAAE,EAAE;IAIb,UAAU,EAAE,EAAE,EAAE;IAMhB,cAAc,EAAE,EAAE;IA1B3B,YAIS,MAAM,EAAE,MAAM,EAId,WAAW,EAAE,WAAW,EAIxB,cAAc,EAAE,MAAM,EAItB,OAAO,EAAE,EAAE,EAAE,EAIb,UAAU,EAAE,EAAE,EAAE,EAMhB,cAAc,EAAE,EAAE,EACvB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAchB;IAED,QAAQ,wBASP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,iBAU/B;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,WAW1B;CACF"}
1
+ {"version":3,"file":"tx_scoped_l2_log.d.ts","sourceRoot":"","sources":["../../src/logs/tx_scoped_l2_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AASpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,aAAa;IAKf,MAAM,EAAE,MAAM;IAId,WAAW,EAAE,WAAW;IAIxB,cAAc,EAAE,MAAM;IAItB,OAAO,EAAE,EAAE,EAAE;IAIb,UAAU,EAAE,EAAE,EAAE;IAMhB,cAAc,EAAE,EAAE;IA1B3B,YAIS,MAAM,EAAE,MAAM,EAId,WAAW,EAAE,WAAW,EAIxB,cAAc,EAAE,MAAM,EAItB,OAAO,EAAE,EAAE,EAAE,EAIb,UAAU,EAAE,EAAE,EAAE,EAMhB,cAAc,EAAE,EAAE,EACvB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAchB;IAED,QAAQ,wBASP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,iBAU/B;IAED,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,eAE7C;IAED,MAAM,CAAC,MAAM,kBASZ;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,WAW1B;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
2
+ import { times } from '@aztec/foundation/collection';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { schemas as foundationSchemas } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, bigintToUInt64BE, numToUInt32BE, serializeArrayOfBufferableToVector } from '@aztec/foundation/serialize';
@@ -64,6 +65,12 @@ export class TxScopedL2Log {
64
65
  const firstNullifier = reader.readObject(Fr);
65
66
  return new TxScopedL2Log(txHash, blockNumber, blockTimestamp, logData, noteHashes, firstNullifier);
66
67
  }
68
+ static getBlockNumberFromBuffer(buffer) {
69
+ return BlockNumber(buffer.readUint32BE(Fr.SIZE_IN_BYTES));
70
+ }
71
+ static random() {
72
+ return new TxScopedL2Log(TxHash.fromField(Fr.random()), BlockNumber(Math.floor(Math.random() * 100000) + 1), BigInt(Math.floor(Date.now() / 1000)), times(3, Fr.random), times(3, Fr.random), Fr.random());
73
+ }
67
74
  equals(other) {
68
75
  return this.txHash.equals(other.txHash) && this.blockNumber === other.blockNumber && this.blockTimestamp === other.blockTimestamp && this.logData.length === other.logData.length && this.logData.every((f, i)=>f.equals(other.logData[i])) && this.noteHashes.length === other.noteHashes.length && this.noteHashes.every((h, i)=>h.equals(other.noteHashes[i])) && this.firstNullifier.equals(other.firstNullifier);
69
76
  }
@@ -3,6 +3,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader } from '@aztec/foundation/serialize';
4
4
  import { SiblingPath } from '@aztec/foundation/trees';
5
5
  import type { AztecAddress } from '../aztec-address/index.js';
6
+ import type { BlockParameter } from '../block/block_parameter.js';
6
7
  import type { AztecNode } from '../interfaces/aztec-node.js';
7
8
  import { L1Actor } from './l1_actor.js';
8
9
  import { L2Actor } from './l2_actor.js';
@@ -44,5 +45,5 @@ export declare class L1ToL2Message {
44
45
  static empty(): L1ToL2Message;
45
46
  static random(): Promise<L1ToL2Message>;
46
47
  }
47
- export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMV90b19sMl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4Qzs7R0FFRztBQUNILHFCQUFhLGFBQWE7SUFFdEIsdUNBQXVDO2FBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQzthQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7YUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7YUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO2FBQ2hDLEtBQUssRUFBRSxFQUFFO0lBVjNCO0lBQ0UsdUNBQXVDO0lBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQztJQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7SUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO0lBQ2hDLEtBQUssRUFBRSxFQUFFLEVBQ3ZCO0lBRUo7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxhQUFhLENBUTlEO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUc3QztJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksYUFBYSxDQUU1QjtJQUVELE9BQWEsTUFBTSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FFNUM7Q0FDRjtBQUdELHdCQUFzQixtQ0FBbUMsQ0FDdkQsSUFBSSxFQUFFLFNBQVMsRUFDZixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEdBQ1QsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQWdCakUifQ==
48
+ export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr, referenceBlock?: BlockParameter): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMV90b19sMl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4Qzs7R0FFRztBQUNILHFCQUFhLGFBQWE7SUFFdEIsdUNBQXVDO2FBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQzthQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7YUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7YUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO2FBQ2hDLEtBQUssRUFBRSxFQUFFO0lBVjNCO0lBQ0UsdUNBQXVDO0lBQ3ZCLE1BQU0sRUFBRSxPQUFPO0lBQy9CLDBDQUEwQztJQUMxQixTQUFTLEVBQUUsT0FBTztJQUNsQywyQkFBMkI7SUFDWCxPQUFPLEVBQUUsRUFBRTtJQUMzQix1Q0FBdUM7SUFDdkIsVUFBVSxFQUFFLEVBQUU7SUFDOUIsZ0RBQWdEO0lBQ2hDLEtBQUssRUFBRSxFQUFFLEVBQ3ZCO0lBRUo7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxhQUFhLENBUTlEO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUc3QztJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksYUFBYSxDQUU1QjtJQUVELE9BQWEsTUFBTSxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FFNUM7Q0FDRjtBQUdELHdCQUFzQixtQ0FBbUMsQ0FDdkQsSUFBSSxFQUFFLFNBQVMsRUFDZixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsRUFBRSxFQUNmLE1BQU0sRUFBRSxFQUFFLEVBQ1YsY0FBYyxHQUFFLGNBQXlCLEdBQ3hDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FpQmpFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAEtB,uCAAuC;aACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;aAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;aACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;aACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;aAChC,KAAK,EAAE,EAAE;IAV3B;IACE,uCAAuC;IACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;IAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;IACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;IACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;IAChC,KAAK,EAAE,EAAE,EACvB;IAEJ;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAQ9D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAG7C;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAE5C;CACF;AAGD,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAgBjE"}
1
+ {"version":3,"file":"l1_to_l2_message.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAEtB,uCAAuC;aACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;aAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;aACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;aACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;aAChC,KAAK,EAAE,EAAE;IAV3B;IACE,uCAAuC;IACvB,MAAM,EAAE,OAAO;IAC/B,0CAA0C;IAC1B,SAAS,EAAE,OAAO;IAClC,2BAA2B;IACX,OAAO,EAAE,EAAE;IAC3B,uCAAuC;IACvB,UAAU,EAAE,EAAE;IAC9B,gDAAgD;IAChC,KAAK,EAAE,EAAE,EACvB;IAEJ;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAQ9D;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAG7C;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,OAAa,MAAM,IAAI,OAAO,CAAC,aAAa,CAAC,CAE5C;CACF;AAGD,wBAAsB,mCAAmC,CACvD,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,EACV,cAAc,GAAE,cAAyB,GACxC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAiBjE"}
@@ -63,21 +63,19 @@ import { L2Actor } from './l2_actor.js';
63
63
  }
64
64
  }
65
65
  // This functionality is not on the node because we do not want to pass the node the secret, and give the node the ability to derive a valid nullifer for an L1 to L2 message.
66
- export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret) {
67
- const response = await node.getL1ToL2MessageMembershipWitness('latest', messageHash);
68
- if (!response) {
69
- throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
70
- }
71
- const [messageIndex, siblingPath] = response;
66
+ export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret, referenceBlock = 'latest') {
72
67
  const messageNullifier = await computeL1ToL2MessageNullifier(contractAddress, messageHash, secret);
73
- const [nullifierIndex] = await node.findLeavesIndexes('latest', MerkleTreeId.NULLIFIER_TREE, [
74
- messageNullifier
68
+ const [l1ToL2Response, nullifierResponse] = await Promise.all([
69
+ node.getL1ToL2MessageMembershipWitness(referenceBlock, messageHash),
70
+ node.findLeavesIndexes(referenceBlock, MerkleTreeId.NULLIFIER_TREE, [
71
+ messageNullifier
72
+ ])
75
73
  ]);
76
- if (nullifierIndex !== undefined) {
74
+ if (!l1ToL2Response) {
75
+ throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
76
+ }
77
+ if (nullifierResponse[0] !== undefined) {
77
78
  throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
78
79
  }
79
- return [
80
- messageIndex,
81
- siblingPath
82
- ];
80
+ return l1ToL2Response;
83
81
  }
@@ -8,7 +8,9 @@ export interface L1ToL2MessageSource {
8
8
  /**
9
9
  * Gets new L1 to L2 message (to be) included in a given checkpoint.
10
10
  * @param checkpointNumber - Checkpoint number to get messages for.
11
- * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
11
+ * @returns The L1 to L2 messages/leaves of the messages subtree.
12
+ * @throws If the message tree for the given checkpoint has not yet been sealed on L1
13
+ * (i.e., checkpointNumber >= inbox treeInProgress).
12
14
  */
13
15
  getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
14
16
  /**
@@ -22,4 +24,4 @@ export interface L1ToL2MessageSource {
22
24
  */
23
25
  getL2Tips(): Promise<L2Tips>;
24
26
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZV9zb3VyY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXNzYWdpbmcvbDFfdG9fbDJfbWVzc2FnZV9zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRDs7R0FFRztBQUNILE1BQU0sV0FBVyxtQkFBbUI7SUFDbEM7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXJFOzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFFdEU7O09BRUc7SUFDSCxTQUFTLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQzlCIn0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZV9zb3VyY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXNzYWdpbmcvbDFfdG9fbDJfbWVzc2FnZV9zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRDs7R0FFRztBQUNILE1BQU0sV0FBVyxtQkFBbUI7SUFDbEM7Ozs7OztPQU1HO0lBQ0gsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFckU7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztJQUV0RTs7T0FFRztJQUNILFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDOUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"l1_to_l2_message_source.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message_source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAErE;;;;OAIG;IACH,qBAAqB,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEtE;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B"}
1
+ {"version":3,"file":"l1_to_l2_message_source.d.ts","sourceRoot":"","sources":["../../src/messaging/l1_to_l2_message_source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAErE;;;;OAIG;IACH,qBAAqB,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEtE;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9B"}
@@ -1,6 +1,8 @@
1
1
  import type { EpochNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { SiblingPath } from '@aztec/foundation/trees';
4
+ import type { AztecNode } from '../interfaces/aztec-node.js';
5
+ import { TxHash } from '../tx/tx_hash.js';
4
6
  /**
5
7
  * # L2-to-L1 Message Tree Structure and Leaf IDs
6
8
  *
@@ -30,10 +32,10 @@ import { SiblingPath } from '@aztec/foundation/trees';
30
32
  * - Compression: If a block has no messages (out hash = 0), that branch is ignored
31
33
  *
32
34
  * 4. **Epoch Tree**
33
- * - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to AZTEC_MAX_EPOCH_DURATION)
35
+ * - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to OUT_HASH_TREE_LEAF_COUNT)
34
36
  * - Root: Epoch out hash (set in the root rollup's public inputs and inserted into the Outbox on L1 when the epoch is proven)
35
37
  * - Type: Unbalanced, non-compressed
36
- * - **Important**: Padded with zeros up to AZTEC_MAX_EPOCH_DURATION to allow for proofs of partial epochs
38
+ * - **Important**: Padded with zeros up to OUT_HASH_TREE_LEAF_COUNT to allow for proofs of partial epochs
37
39
  *
38
40
  * ## Combined Membership Proof
39
41
  * To prove a message exists in an epoch, we combine the sibling paths from all 4 trees:
@@ -84,14 +86,38 @@ import { SiblingPath } from '@aztec/foundation/trees';
84
86
  * @returns The unique leaf ID used for tracking message consumption on L1
85
87
  */
86
88
  export declare function getL2ToL1MessageLeafId(membershipWitness: Pick<L2ToL1MembershipWitness, 'leafIndex' | 'siblingPath'>): bigint;
87
- export interface MessageRetrieval {
88
- getL2ToL1Messages(epoch: EpochNumber): Promise<Fr[][][][]>;
89
- }
90
89
  export type L2ToL1MembershipWitness = {
91
90
  root: Fr;
92
91
  leafIndex: bigint;
93
92
  siblingPath: SiblingPath<number>;
93
+ epochNumber: EpochNumber;
94
94
  };
95
- export declare function computeL2ToL1MembershipWitness(messageRetriever: MessageRetrieval, epoch: EpochNumber, message: Fr): Promise<L2ToL1MembershipWitness | undefined>;
96
- export declare function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch: Fr[][][][], message: Fr): L2ToL1MembershipWitness;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdG9fbDFfbWVtYmVyc2hpcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMl90b19sMV9tZW1iZXJzaGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUE0RCxNQUFNLHlCQUF5QixDQUFDO0FBRWhIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3RUc7QUFFSDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixzQkFBc0IsQ0FDcEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLFdBQVcsR0FBRyxhQUFhLENBQUMsR0FDNUUsTUFBTSxDQUVSO0FBRUQsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0NBQzVEO0FBRUQsTUFBTSxNQUFNLHVCQUF1QixHQUFHO0lBQ3BDLElBQUksRUFBRSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDbEMsQ0FBQztBQUVGLHdCQUFzQiw4QkFBOEIsQ0FDbEQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEtBQUssRUFBRSxXQUFXLEVBQ2xCLE9BQU8sRUFBRSxFQUFFLEdBQ1YsT0FBTyxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQyxDQU85QztBQUlELHdCQUFnQixpREFBaUQsQ0FDL0QsZUFBZSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUMzQixPQUFPLEVBQUUsRUFBRSxHQUNWLHVCQUF1QixDQXFGekIifQ==
95
+ /**
96
+ * Computes the L2 to L1 membership witness for a given message in a transaction.
97
+ *
98
+ * @param node - The Aztec node to query for block/tx/epoch data.
99
+ * @param message - The L2 to L1 message hash to prove membership of.
100
+ * @param txHash - The hash of the transaction that emitted the message.
101
+ * @param messageIndexInTx - Optional index of the message within the transaction's L2-to-L1 messages.
102
+ * If not provided, the message is found by scanning the tx's messages (throws if duplicates exist).
103
+ * @returns The membership witness and epoch number, or undefined if the tx is not yet in a block/epoch.
104
+ */
105
+ export declare function computeL2ToL1MembershipWitness(node: Pick<AztecNode, 'getL2ToL1Messages' | 'getTxReceipt' | 'getTxEffect' | 'getBlock' | 'getCheckpointsDataForEpoch'>, message: Fr, txHash: TxHash, messageIndexInTx?: number): Promise<L2ToL1MembershipWitness | undefined>;
106
+ /**
107
+ * Computes a membership witness for a message in the epoch's L2-to-L1 message tree, given explicit position indices.
108
+ *
109
+ * @param messagesInEpoch - All L2-to-L1 messages in the epoch, organized as checkpoints → blocks → txs → messages.
110
+ * @param message - The message hash to prove membership of.
111
+ * @param checkpointIndex - Index of the checkpoint within the epoch's message array.
112
+ * @param blockIndex - Index of the block within the checkpoint.
113
+ * @param txIndex - Index of the transaction within the block.
114
+ * @param messageIndexInTx - Optional index of the message within the transaction's messages.
115
+ * If not provided, the message is found by scanning (throws if duplicates exist within the tx).
116
+ */
117
+ /** @internal Exported for testing only. */
118
+ export declare function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch: Fr[][][][], message: Fr, checkpointIndex: number, blockIndex: number, txIndex: number, messageIndexInTx?: number): {
119
+ root: Fr;
120
+ leafIndex: bigint;
121
+ siblingPath: SiblingPath<number>;
122
+ };
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdG9fbDFfbWVtYmVyc2hpcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMl90b19sMV9tZW1iZXJzaGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUE0RCxNQUFNLHlCQUF5QixDQUFDO0FBRWhILE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VHO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0Isc0JBQXNCLENBQ3BDLGlCQUFpQixFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEdBQUcsYUFBYSxDQUFDLEdBQzVFLE1BQU0sQ0FFUjtBQUVELE1BQU0sTUFBTSx1QkFBdUIsR0FBRztJQUNwQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ1QsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLFdBQVcsRUFBRSxXQUFXLENBQUM7Q0FDMUIsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FDbEQsSUFBSSxFQUFFLElBQUksQ0FDUixTQUFTLEVBQ1QsbUJBQW1CLEdBQUcsY0FBYyxHQUFHLGFBQWEsR0FBRyxVQUFVLEdBQUcsNEJBQTRCLENBQ2pHLEVBQ0QsT0FBTyxFQUFFLEVBQUUsRUFDWCxNQUFNLEVBQUUsTUFBTSxFQUNkLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxHQUN4QixPQUFPLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDLENBa0M5QztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCwyQ0FBMkM7QUFDM0Msd0JBQWdCLGlEQUFpRCxDQUMvRCxlQUFlLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQ1gsZUFBZSxFQUFFLE1BQU0sRUFDdkIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFDZixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sR0FDeEI7SUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7Q0FBRSxDQW9FbkUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"l2_to_l1_membership.d.ts","sourceRoot":"","sources":["../../src/messaging/l2_to_l1_membership.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAA4D,MAAM,yBAAyB,CAAC;AAEhH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAG,aAAa,CAAC,GAC5E,MAAM,CAER;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,EAAE,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,EAAE,GACV,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAO9C;AAID,wBAAgB,iDAAiD,CAC/D,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAC3B,OAAO,EAAE,EAAE,GACV,uBAAuB,CAqFzB"}
1
+ {"version":3,"file":"l2_to_l1_membership.d.ts","sourceRoot":"","sources":["../../src/messaging/l2_to_l1_membership.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,WAAW,EAA4D,MAAM,yBAAyB,CAAC;AAEhH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,IAAI,CAAC,uBAAuB,EAAE,WAAW,GAAG,aAAa,CAAC,GAC5E,MAAM,CAER;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,EAAE,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,IAAI,CACR,SAAS,EACT,mBAAmB,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,GAAG,4BAA4B,CACjG,EACD,OAAO,EAAE,EAAE,EACX,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAkC9C;AAED;;;;;;;;;;GAUG;AACH,2CAA2C;AAC3C,wBAAgB,iDAAiD,CAC/D,eAAe,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAC3B,OAAO,EAAE,EAAE,EACX,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GACxB;IAAE,IAAI,EAAE,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAoEnE"}