@aztec/stdlib 0.0.1-commit.993d52e → 0.0.1-commit.9a89641

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 (1162) hide show
  1. package/dest/abi/abi.d.ts +169 -1083
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +52 -20
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +19 -5
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +38 -5
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +49 -26
  12. package/dest/abi/decoder.d.ts +15 -47
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +33 -86
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +60 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +21 -30
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +28 -9
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/avm/avm.d.ts +2228 -10934
  47. package/dest/avm/avm.d.ts.map +1 -1
  48. package/dest/avm/avm.js +10 -5
  49. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  50. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  51. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  52. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  53. package/dest/avm/avm_proving_request.d.ts +653 -5446
  54. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  55. package/dest/avm/index.d.ts +1 -6
  56. package/dest/avm/index.d.ts.map +1 -1
  57. package/dest/avm/index.js +0 -5
  58. package/dest/avm/message_pack.js +12 -3
  59. package/dest/avm/public_data_write.d.ts +6 -12
  60. package/dest/avm/public_data_write.d.ts.map +1 -1
  61. package/dest/avm/revert_code.d.ts +5 -21
  62. package/dest/avm/revert_code.d.ts.map +1 -1
  63. package/dest/avm/revert_code.js +12 -30
  64. package/dest/aztec-address/index.d.ts +42 -12
  65. package/dest/aztec-address/index.d.ts.map +1 -1
  66. package/dest/aztec-address/index.js +40 -13
  67. package/dest/block/attestation_info.d.ts +3 -2
  68. package/dest/block/attestation_info.d.ts.map +1 -1
  69. package/dest/block/attestation_info.js +10 -5
  70. package/dest/block/block_data.d.ts +13 -38
  71. package/dest/block/block_data.d.ts.map +1 -1
  72. package/dest/block/block_data.js +2 -2
  73. package/dest/block/block_hash.d.ts +11 -10
  74. package/dest/block/block_hash.d.ts.map +1 -1
  75. package/dest/block/block_hash.js +10 -9
  76. package/dest/block/block_parameter.d.ts +37 -4
  77. package/dest/block/block_parameter.d.ts.map +1 -1
  78. package/dest/block/block_parameter.js +53 -2
  79. package/dest/block/in_block.d.ts +5 -24
  80. package/dest/block/in_block.d.ts.map +1 -1
  81. package/dest/block/index.d.ts +1 -2
  82. package/dest/block/index.d.ts.map +1 -1
  83. package/dest/block/index.js +0 -1
  84. package/dest/block/l2_block.d.ts +21 -41
  85. package/dest/block/l2_block.d.ts.map +1 -1
  86. package/dest/block/l2_block.js +12 -2
  87. package/dest/block/l2_block_info.d.ts +10 -29
  88. package/dest/block/l2_block_info.d.ts.map +1 -1
  89. package/dest/block/l2_block_info.js +6 -5
  90. package/dest/block/l2_block_source.d.ts +237 -355
  91. package/dest/block/l2_block_source.d.ts.map +1 -1
  92. package/dest/block/l2_block_source.js +85 -1
  93. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  94. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  95. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  96. package/dest/block/l2_block_stream/index.d.ts +2 -1
  97. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/index.js +1 -0
  99. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  100. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  101. package/dest/block/l2_block_stream/interfaces.js +25 -1
  102. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  103. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  104. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  105. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  106. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  107. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  108. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  109. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  110. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  111. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  112. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  113. package/dest/block/proposal/attestations_and_signers.js +73 -25
  114. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  115. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  116. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  117. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  118. package/dest/block/test/l2_tips_store_test_suite.js +301 -36
  119. package/dest/block/validate_block_result.d.ts +16 -1
  120. package/dest/block/validate_block_result.d.ts.map +1 -1
  121. package/dest/block/validate_block_result.js +18 -3
  122. package/dest/checkpoint/checkpoint.d.ts +31 -96
  123. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  124. package/dest/checkpoint/checkpoint.js +20 -7
  125. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  126. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  127. package/dest/checkpoint/checkpoint_data.js +12 -0
  128. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  129. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  130. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  131. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  132. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  133. package/dest/checkpoint/digest.d.ts +18 -0
  134. package/dest/checkpoint/digest.d.ts.map +1 -0
  135. package/dest/checkpoint/digest.js +12 -0
  136. package/dest/checkpoint/index.d.ts +6 -1
  137. package/dest/checkpoint/index.d.ts.map +1 -1
  138. package/dest/checkpoint/index.js +5 -0
  139. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  140. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  141. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  142. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  143. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  144. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  145. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  146. package/dest/checkpoint/simulation_overrides.js +98 -0
  147. package/dest/checkpoint/validate.d.ts +44 -0
  148. package/dest/checkpoint/validate.d.ts.map +1 -0
  149. package/dest/checkpoint/validate.js +123 -0
  150. package/dest/config/chain-config.d.ts +4 -9
  151. package/dest/config/chain-config.d.ts.map +1 -1
  152. package/dest/config/chain-config.js +13 -12
  153. package/dest/config/index.d.ts +2 -1
  154. package/dest/config/index.d.ts.map +1 -1
  155. package/dest/config/index.js +1 -0
  156. package/dest/config/network-consensus-config.d.ts +72 -0
  157. package/dest/config/network-consensus-config.d.ts.map +1 -0
  158. package/dest/config/network-consensus-config.js +223 -0
  159. package/dest/config/node-rpc-config.d.ts +1 -1
  160. package/dest/config/node-rpc-config.d.ts.map +1 -1
  161. package/dest/config/node-rpc-config.js +1 -1
  162. package/dest/config/sequencer-config.d.ts +6 -2
  163. package/dest/config/sequencer-config.d.ts.map +1 -1
  164. package/dest/config/sequencer-config.js +38 -6
  165. package/dest/contract/artifact_hash.d.ts +2 -2
  166. package/dest/contract/artifact_hash.d.ts.map +1 -1
  167. package/dest/contract/artifact_hash.js +10 -2
  168. package/dest/contract/complete_address.d.ts +3 -2
  169. package/dest/contract/complete_address.d.ts.map +1 -1
  170. package/dest/contract/complete_address.js +6 -2
  171. package/dest/contract/contract_address.d.ts +10 -9
  172. package/dest/contract/contract_address.d.ts.map +1 -1
  173. package/dest/contract/contract_address.js +6 -5
  174. package/dest/contract/contract_class.d.ts +1 -1
  175. package/dest/contract/contract_class.d.ts.map +1 -1
  176. package/dest/contract/contract_class.js +3 -2
  177. package/dest/contract/contract_class_id.d.ts +2 -2
  178. package/dest/contract/contract_class_id.js +2 -2
  179. package/dest/contract/contract_deployment_data.d.ts +15 -61
  180. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  181. package/dest/contract/contract_instance.d.ts +19 -3
  182. package/dest/contract/contract_instance.d.ts.map +1 -1
  183. package/dest/contract/contract_instance.js +55 -3
  184. package/dest/contract/index.d.ts +1 -4
  185. package/dest/contract/index.d.ts.map +1 -1
  186. package/dest/contract/index.js +0 -3
  187. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  188. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_class.js +1 -28
  190. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  191. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  192. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  193. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  194. package/dest/contract/interfaces/contract_instance.js +11 -4
  195. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  196. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  197. package/dest/contract/interfaces/node-info.d.ts +11 -1
  198. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  199. package/dest/contract/interfaces/node-info.js +7 -1
  200. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  201. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  202. package/dest/contract/partial_address.d.ts +9 -3
  203. package/dest/contract/partial_address.d.ts.map +1 -1
  204. package/dest/contract/partial_address.js +8 -2
  205. package/dest/contract/private_function.d.ts +1 -1
  206. package/dest/contract/private_function.d.ts.map +1 -1
  207. package/dest/contract/private_function.js +2 -4
  208. package/dest/database-version/database_version.d.ts +5 -11
  209. package/dest/database-version/database_version.d.ts.map +1 -1
  210. package/dest/database-version/version_manager.d.ts +22 -4
  211. package/dest/database-version/version_manager.d.ts.map +1 -1
  212. package/dest/database-version/version_manager.js +87 -6
  213. package/dest/deserialization/index.d.ts +35 -3
  214. package/dest/deserialization/index.d.ts.map +1 -1
  215. package/dest/deserialization/index.js +32 -1
  216. package/dest/epoch-helpers/index.d.ts +12 -20
  217. package/dest/epoch-helpers/index.d.ts.map +1 -1
  218. package/dest/epoch-helpers/index.js +16 -2
  219. package/dest/file-store/factory.d.ts +4 -3
  220. package/dest/file-store/factory.d.ts.map +1 -1
  221. package/dest/file-store/factory.js +9 -2
  222. package/dest/file-store/http.d.ts +9 -2
  223. package/dest/file-store/http.d.ts.map +1 -1
  224. package/dest/file-store/http.js +20 -9
  225. package/dest/file-store/index.d.ts +3 -1
  226. package/dest/file-store/index.d.ts.map +1 -1
  227. package/dest/file-store/index.js +1 -0
  228. package/dest/file-store/memory.d.ts +24 -0
  229. package/dest/file-store/memory.d.ts.map +1 -0
  230. package/dest/file-store/memory.js +80 -0
  231. package/dest/gas/fee_math.d.ts +49 -0
  232. package/dest/gas/fee_math.d.ts.map +1 -0
  233. package/dest/gas/fee_math.js +80 -0
  234. package/dest/gas/gas.d.ts +9 -14
  235. package/dest/gas/gas.d.ts.map +1 -1
  236. package/dest/gas/gas.js +6 -3
  237. package/dest/gas/gas_fees.d.ts +13 -14
  238. package/dest/gas/gas_fees.d.ts.map +1 -1
  239. package/dest/gas/gas_fees.js +20 -4
  240. package/dest/gas/gas_settings.d.ts +60 -86
  241. package/dest/gas/gas_settings.d.ts.map +1 -1
  242. package/dest/gas/gas_settings.js +49 -9
  243. package/dest/gas/index.d.ts +3 -1
  244. package/dest/gas/index.d.ts.map +1 -1
  245. package/dest/gas/index.js +2 -0
  246. package/dest/gas/tx_gas_limits.d.ts +72 -0
  247. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  248. package/dest/gas/tx_gas_limits.js +85 -0
  249. package/dest/ha-signing/config.d.ts +86 -0
  250. package/dest/ha-signing/config.d.ts.map +1 -0
  251. package/dest/ha-signing/config.js +94 -0
  252. package/dest/ha-signing/index.d.ts +4 -0
  253. package/dest/ha-signing/index.d.ts.map +1 -0
  254. package/dest/ha-signing/index.js +3 -0
  255. package/dest/ha-signing/local_config.d.ts +40 -0
  256. package/dest/ha-signing/local_config.d.ts.map +1 -0
  257. package/dest/ha-signing/local_config.js +30 -0
  258. package/dest/ha-signing/types.d.ts +90 -0
  259. package/dest/ha-signing/types.d.ts.map +1 -0
  260. package/dest/ha-signing/types.js +39 -0
  261. package/dest/hash/hash.d.ts +34 -2
  262. package/dest/hash/hash.d.ts.map +1 -1
  263. package/dest/hash/hash.js +63 -9
  264. package/dest/interfaces/allowed_element.d.ts +17 -35
  265. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  266. package/dest/interfaces/allowed_element.js +8 -8
  267. package/dest/interfaces/api_limit.d.ts +7 -2
  268. package/dest/interfaces/api_limit.d.ts.map +1 -1
  269. package/dest/interfaces/api_limit.js +4 -1
  270. package/dest/interfaces/archiver.d.ts +27 -32
  271. package/dest/interfaces/archiver.d.ts.map +1 -1
  272. package/dest/interfaces/archiver.js +216 -69
  273. package/dest/interfaces/aztec-node-admin.d.ts +90 -280
  274. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  275. package/dest/interfaces/aztec-node-admin.js +60 -17
  276. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  277. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  278. package/dest/interfaces/aztec-node-debug.js +49 -0
  279. package/dest/interfaces/aztec-node.d.ts +165 -115
  280. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  281. package/dest/interfaces/aztec-node.js +351 -72
  282. package/dest/interfaces/block-builder.d.ts +48 -12
  283. package/dest/interfaces/block-builder.d.ts.map +1 -1
  284. package/dest/interfaces/block-builder.js +13 -6
  285. package/dest/interfaces/block_response.d.ts +90 -0
  286. package/dest/interfaces/block_response.d.ts.map +1 -0
  287. package/dest/interfaces/block_response.js +30 -0
  288. package/dest/interfaces/chain_tips.d.ts +11 -0
  289. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  290. package/dest/interfaces/chain_tips.js +6 -0
  291. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  292. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  293. package/dest/interfaces/checkpoint_parameter.js +18 -0
  294. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  295. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  296. package/dest/interfaces/checkpoint_response.js +26 -0
  297. package/dest/interfaces/client.d.ts +9 -2
  298. package/dest/interfaces/client.d.ts.map +1 -1
  299. package/dest/interfaces/client.js +7 -1
  300. package/dest/interfaces/configs.d.ts +89 -131
  301. package/dest/interfaces/configs.d.ts.map +1 -1
  302. package/dest/interfaces/configs.js +19 -4
  303. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  304. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  305. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  306. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  307. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  308. package/dest/interfaces/l1_publish_info.js +26 -0
  309. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  310. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  311. package/dest/interfaces/l2_logs_source.js +5 -0
  312. package/dest/interfaces/merkle_tree_operations.d.ts +19 -23
  313. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  314. package/dest/interfaces/p2p-bootstrap.js +8 -2
  315. package/dest/interfaces/p2p.d.ts +46 -7
  316. package/dest/interfaces/p2p.d.ts.map +1 -1
  317. package/dest/interfaces/p2p.js +41 -6
  318. package/dest/interfaces/private_kernel_prover.d.ts +131 -12
  319. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  320. package/dest/interfaces/prover-agent.d.ts +5 -23
  321. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  322. package/dest/interfaces/prover-agent.js +4 -1
  323. package/dest/interfaces/prover-client.d.ts +10 -27
  324. package/dest/interfaces/prover-client.d.ts.map +1 -1
  325. package/dest/interfaces/prover-client.js +7 -4
  326. package/dest/interfaces/prover-node.d.ts +12 -8
  327. package/dest/interfaces/prover-node.d.ts.map +1 -1
  328. package/dest/interfaces/prover-node.js +37 -16
  329. package/dest/interfaces/proving-job-source.js +24 -4
  330. package/dest/interfaces/proving-job.d.ts +757 -5795
  331. package/dest/interfaces/proving-job.d.ts.map +1 -1
  332. package/dest/interfaces/proving-job.js +14 -5
  333. package/dest/interfaces/public_storage_override.d.ts +22 -0
  334. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  335. package/dest/interfaces/public_storage_override.js +7 -0
  336. package/dest/interfaces/server.d.ts +6 -3
  337. package/dest/interfaces/server.d.ts.map +1 -1
  338. package/dest/interfaces/server.js +5 -2
  339. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  340. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  341. package/dest/interfaces/slasher.d.ts +25 -65
  342. package/dest/interfaces/slasher.d.ts.map +1 -1
  343. package/dest/interfaces/slasher.js +8 -4
  344. package/dest/interfaces/tx_provider.d.ts +10 -1
  345. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  346. package/dest/interfaces/validator.d.ts +83 -213
  347. package/dest/interfaces/validator.d.ts.map +1 -1
  348. package/dest/interfaces/validator.js +16 -7
  349. package/dest/interfaces/world_state.d.ts +19 -5
  350. package/dest/interfaces/world_state.d.ts.map +1 -1
  351. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  352. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  353. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  354. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  355. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  356. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  357. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  358. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  359. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  360. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  361. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  362. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  363. package/dest/kernel/hints/index.d.ts +1 -2
  364. package/dest/kernel/hints/index.d.ts.map +1 -1
  365. package/dest/kernel/hints/index.js +0 -1
  366. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  367. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  368. package/dest/kernel/hints/key_validation_request.js +20 -18
  369. package/dest/kernel/hints/read_request.js +1 -1
  370. package/dest/kernel/index.d.ts +10 -2
  371. package/dest/kernel/index.d.ts.map +1 -1
  372. package/dest/kernel/index.js +9 -1
  373. package/dest/kernel/log_hash.d.ts +6 -2
  374. package/dest/kernel/log_hash.d.ts.map +1 -1
  375. package/dest/kernel/log_hash.js +23 -11
  376. package/dest/kernel/note_hash.js +1 -1
  377. package/dest/kernel/nullifier.js +1 -1
  378. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  379. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  380. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  381. package/dest/kernel/private_context_inputs.d.ts +4 -3
  382. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  383. package/dest/kernel/private_context_inputs.js +7 -3
  384. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -10
  385. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  387. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  388. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  389. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  390. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  391. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  392. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  393. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  394. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  395. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  396. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  397. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  398. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  399. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  400. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  401. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  402. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  403. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  404. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  405. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  406. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  407. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  408. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  409. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  410. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  411. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  412. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  413. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  414. package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
  415. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  416. package/dest/kernel/private_kernel_prover_output.js +4 -1
  417. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  418. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  419. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  420. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  421. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  422. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  423. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  424. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  425. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
  426. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  427. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  428. package/dest/kernel/private_log_data.d.ts +1 -1
  429. package/dest/kernel/private_log_data.d.ts.map +1 -1
  430. package/dest/kernel/private_log_data.js +1 -1
  431. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  432. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  433. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  434. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  435. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  436. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  437. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  438. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  439. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  440. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  441. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  442. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  443. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  444. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  445. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  446. package/dest/kernel/public_call_request.d.ts +15 -30
  447. package/dest/kernel/public_call_request.d.ts.map +1 -1
  448. package/dest/kernel/public_call_request.js +16 -7
  449. package/dest/kernel/utils/index.d.ts +1 -2
  450. package/dest/kernel/utils/index.d.ts.map +1 -1
  451. package/dest/kernel/utils/index.js +0 -1
  452. package/dest/keys/derivation.d.ts +45 -6
  453. package/dest/keys/derivation.d.ts.map +1 -1
  454. package/dest/keys/derivation.js +55 -22
  455. package/dest/keys/public_key.d.ts +22 -3
  456. package/dest/keys/public_key.d.ts.map +1 -1
  457. package/dest/keys/public_key.js +20 -1
  458. package/dest/keys/public_keys.d.ts +55 -82
  459. package/dest/keys/public_keys.d.ts.map +1 -1
  460. package/dest/keys/public_keys.js +102 -74
  461. package/dest/kv-store/config.d.ts +14 -0
  462. package/dest/kv-store/config.d.ts.map +1 -0
  463. package/dest/kv-store/config.js +21 -0
  464. package/dest/kv-store/index.d.ts +2 -0
  465. package/dest/kv-store/index.d.ts.map +1 -0
  466. package/dest/kv-store/index.js +1 -0
  467. package/dest/l1-contracts/index.d.ts +2 -2
  468. package/dest/l1-contracts/index.d.ts.map +1 -1
  469. package/dest/l1-contracts/index.js +1 -1
  470. package/dest/logs/app_tagging_secret.d.ts +69 -0
  471. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  472. package/dest/logs/app_tagging_secret.js +116 -0
  473. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  474. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  475. package/dest/logs/app_tagging_secret_kind.js +17 -0
  476. package/dest/logs/contract_class_log.d.ts +16 -35
  477. package/dest/logs/contract_class_log.d.ts.map +1 -1
  478. package/dest/logs/contract_class_log.js +11 -13
  479. package/dest/logs/index.d.ts +8 -7
  480. package/dest/logs/index.d.ts.map +1 -1
  481. package/dest/logs/index.js +7 -6
  482. package/dest/logs/log_cursor.d.ts +51 -0
  483. package/dest/logs/log_cursor.d.ts.map +1 -0
  484. package/dest/logs/log_cursor.js +82 -0
  485. package/dest/logs/log_result.d.ts +54 -0
  486. package/dest/logs/log_result.d.ts.map +1 -0
  487. package/dest/logs/log_result.js +56 -0
  488. package/dest/logs/logs_query.d.ts +82 -0
  489. package/dest/logs/logs_query.d.ts.map +1 -0
  490. package/dest/logs/logs_query.js +50 -0
  491. package/dest/logs/message_context.d.ts +4 -16
  492. package/dest/logs/message_context.d.ts.map +1 -1
  493. package/dest/logs/message_context.js +1 -48
  494. package/dest/logs/pending_tagged_log.d.ts +6 -9
  495. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  496. package/dest/logs/pending_tagged_log.js +1 -31
  497. package/dest/logs/pre_tag.d.ts +11 -24
  498. package/dest/logs/pre_tag.d.ts.map +1 -1
  499. package/dest/logs/pre_tag.js +2 -2
  500. package/dest/logs/private_log.d.ts +7 -12
  501. package/dest/logs/private_log.d.ts.map +1 -1
  502. package/dest/logs/private_log.js +6 -3
  503. package/dest/logs/public_log.d.ts +4 -3
  504. package/dest/logs/public_log.d.ts.map +1 -1
  505. package/dest/logs/public_log.js +2 -1
  506. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  507. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  508. package/dest/logs/query_all_logs_by_tags.js +64 -0
  509. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  510. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  511. package/dest/logs/shared_secret_derivation.js +49 -10
  512. package/dest/logs/siloed_tag.d.ts +8 -7
  513. package/dest/logs/siloed_tag.d.ts.map +1 -1
  514. package/dest/logs/siloed_tag.js +13 -3
  515. package/dest/logs/tag.d.ts +5 -6
  516. package/dest/logs/tag.d.ts.map +1 -1
  517. package/dest/logs/tag.js +4 -0
  518. package/dest/logs/tagging_index_range.d.ts +22 -0
  519. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  520. package/dest/logs/tagging_index_range.js +8 -0
  521. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  522. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  523. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  524. package/dest/messaging/index.d.ts +2 -1
  525. package/dest/messaging/index.d.ts.map +1 -1
  526. package/dest/messaging/index.js +1 -0
  527. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  528. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  529. package/dest/messaging/l1_to_l2_message.js +38 -15
  530. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  531. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  532. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  533. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  534. package/dest/messaging/l2_to_l1_membership.js +130 -27
  535. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  536. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  537. package/dest/messaging/l2_to_l1_message.js +21 -12
  538. package/dest/noir/index.d.ts +7 -5
  539. package/dest/noir/index.d.ts.map +1 -1
  540. package/dest/note/note.d.ts +2 -2
  541. package/dest/note/note.d.ts.map +1 -1
  542. package/dest/note/note_dao.d.ts +1 -1
  543. package/dest/note/note_dao.d.ts.map +1 -1
  544. package/dest/note/note_dao.js +1 -4
  545. package/dest/p2p/attestation_utils.d.ts +1 -1
  546. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  547. package/dest/p2p/attestation_utils.js +8 -1
  548. package/dest/p2p/block_proposal.d.ts +32 -15
  549. package/dest/p2p/block_proposal.d.ts.map +1 -1
  550. package/dest/p2p/block_proposal.js +58 -40
  551. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  552. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  553. package/dest/p2p/checkpoint_attestation.js +33 -24
  554. package/dest/p2p/checkpoint_proposal.d.ts +37 -22
  555. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  556. package/dest/p2p/checkpoint_proposal.js +60 -62
  557. package/dest/p2p/consensus_payload.d.ts +27 -20
  558. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  559. package/dest/p2p/consensus_payload.js +38 -19
  560. package/dest/p2p/gossipable.d.ts +4 -4
  561. package/dest/p2p/gossipable.d.ts.map +1 -1
  562. package/dest/p2p/index.d.ts +1 -2
  563. package/dest/p2p/index.d.ts.map +1 -1
  564. package/dest/p2p/index.js +0 -1
  565. package/dest/p2p/peer_error.d.ts +3 -1
  566. package/dest/p2p/peer_error.d.ts.map +1 -1
  567. package/dest/p2p/peer_error.js +5 -0
  568. package/dest/p2p/signature_utils.d.ts +35 -17
  569. package/dest/p2p/signature_utils.d.ts.map +1 -1
  570. package/dest/p2p/signature_utils.js +125 -20
  571. package/dest/p2p/signed_txs.d.ts +15 -13
  572. package/dest/p2p/signed_txs.d.ts.map +1 -1
  573. package/dest/p2p/signed_txs.js +26 -24
  574. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  575. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  576. package/dest/parity/parity_base_private_inputs.js +7 -5
  577. package/dest/parity/parity_public_inputs.d.ts +8 -4
  578. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  579. package/dest/parity/parity_public_inputs.js +6 -3
  580. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  581. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  582. package/dest/proofs/chonk_proof.d.ts +57 -7
  583. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  584. package/dest/proofs/chonk_proof.js +112 -15
  585. package/dest/proofs/recursive_proof.d.ts +2 -2
  586. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  587. package/dest/rollup/avm_proof_data.d.ts +3 -3
  588. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  589. package/dest/rollup/block_headers_hash.d.ts +1 -1
  590. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  591. package/dest/rollup/block_headers_hash.js +8 -2
  592. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  593. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  594. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  595. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  596. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  597. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  598. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  599. package/dest/rollup/checkpoint_header.d.ts +8 -3
  600. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  601. package/dest/rollup/checkpoint_header.js +20 -10
  602. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  603. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  604. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  605. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  606. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  607. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  608. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  609. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  610. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  611. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  612. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  613. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  614. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  615. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  616. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  617. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  618. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  619. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  620. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  621. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  622. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  623. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  624. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  625. package/dest/schemas/schemas.d.ts +32 -78
  626. package/dest/schemas/schemas.d.ts.map +1 -1
  627. package/dest/schemas/schemas.js +2 -2
  628. package/dest/slashing/helpers.d.ts +2 -2
  629. package/dest/slashing/helpers.d.ts.map +1 -1
  630. package/dest/slashing/helpers.js +10 -7
  631. package/dest/slashing/index.d.ts +2 -3
  632. package/dest/slashing/index.d.ts.map +1 -1
  633. package/dest/slashing/index.js +1 -2
  634. package/dest/slashing/serialization.d.ts +2 -6
  635. package/dest/slashing/serialization.d.ts.map +1 -1
  636. package/dest/slashing/serialization.js +0 -60
  637. package/dest/slashing/types.d.ts +18 -112
  638. package/dest/slashing/types.d.ts.map +1 -1
  639. package/dest/slashing/types.js +16 -24
  640. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  641. package/dest/slashing/votes.d.ts.map +1 -0
  642. package/dest/slashing/{tally.js → votes.js} +30 -2
  643. package/dest/snapshots/types.d.ts +15 -78
  644. package/dest/snapshots/types.d.ts.map +1 -1
  645. package/dest/stats/stats.d.ts +2 -2
  646. package/dest/stats/stats.d.ts.map +1 -1
  647. package/dest/tests/factories.d.ts +25 -58
  648. package/dest/tests/factories.d.ts.map +1 -1
  649. package/dest/tests/factories.js +81 -116
  650. package/dest/tests/mocks.d.ts +11 -6
  651. package/dest/tests/mocks.d.ts.map +1 -1
  652. package/dest/tests/mocks.js +57 -63
  653. package/dest/timetable/budgets.d.ts +57 -0
  654. package/dest/timetable/budgets.d.ts.map +1 -0
  655. package/dest/timetable/budgets.js +56 -0
  656. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  657. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  658. package/dest/timetable/build_proposer_timetable.js +17 -0
  659. package/dest/timetable/consensus_timetable.d.ts +70 -0
  660. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  661. package/dest/timetable/consensus_timetable.js +89 -0
  662. package/dest/timetable/index.d.ts +5 -37
  663. package/dest/timetable/index.d.ts.map +1 -1
  664. package/dest/timetable/index.js +4 -39
  665. package/dest/timetable/proposer_timetable.d.ts +106 -0
  666. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  667. package/dest/timetable/proposer_timetable.js +132 -0
  668. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  669. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  670. package/dest/trees/append_only_tree_snapshot.js +6 -3
  671. package/dest/trees/nullifier_leaf.d.ts +19 -42
  672. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  673. package/dest/trees/nullifier_leaf.js +3 -0
  674. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  675. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  676. package/dest/trees/nullifier_membership_witness.js +0 -21
  677. package/dest/trees/public_data_leaf.d.ts +21 -53
  678. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  679. package/dest/trees/public_data_witness.d.ts +19 -71
  680. package/dest/trees/public_data_witness.d.ts.map +1 -1
  681. package/dest/trees/public_data_witness.js +0 -27
  682. package/dest/tx/block_header.d.ts +7 -4
  683. package/dest/tx/block_header.d.ts.map +1 -1
  684. package/dest/tx/block_header.js +11 -4
  685. package/dest/tx/call_context.d.ts +4 -14
  686. package/dest/tx/call_context.d.ts.map +1 -1
  687. package/dest/tx/capsule.d.ts +7 -3
  688. package/dest/tx/capsule.d.ts.map +1 -1
  689. package/dest/tx/capsule.js +9 -3
  690. package/dest/tx/execution_payload.d.ts +1 -1
  691. package/dest/tx/execution_payload.d.ts.map +1 -1
  692. package/dest/tx/execution_payload.js +1 -1
  693. package/dest/tx/fee_provider.d.ts +10 -0
  694. package/dest/tx/fee_provider.d.ts.map +1 -0
  695. package/dest/tx/fee_provider.js +1 -0
  696. package/dest/tx/function_data.d.ts +4 -10
  697. package/dest/tx/function_data.d.ts.map +1 -1
  698. package/dest/tx/global_variable_builder.d.ts +4 -15
  699. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  700. package/dest/tx/global_variables.d.ts +16 -49
  701. package/dest/tx/global_variables.d.ts.map +1 -1
  702. package/dest/tx/global_variables.js +10 -14
  703. package/dest/tx/hashed_values.d.ts +10 -3
  704. package/dest/tx/hashed_values.d.ts.map +1 -1
  705. package/dest/tx/hashed_values.js +15 -4
  706. package/dest/tx/in_tx.d.ts +5 -17
  707. package/dest/tx/in_tx.d.ts.map +1 -1
  708. package/dest/tx/index.d.ts +2 -2
  709. package/dest/tx/index.d.ts.map +1 -1
  710. package/dest/tx/index.js +1 -1
  711. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  712. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  713. package/dest/tx/indexed_tx_effect.js +9 -6
  714. package/dest/tx/offchain_effect.js +1 -1
  715. package/dest/tx/partial_state_reference.d.ts +22 -65
  716. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  717. package/dest/tx/partial_state_reference.js +6 -3
  718. package/dest/tx/private_execution_result.d.ts +11 -21
  719. package/dest/tx/private_execution_result.d.ts.map +1 -1
  720. package/dest/tx/private_execution_result.js +6 -6
  721. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  722. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  723. package/dest/tx/private_tx_constant_data.js +13 -4
  724. package/dest/tx/profiling.d.ts +67 -353
  725. package/dest/tx/profiling.d.ts.map +1 -1
  726. package/dest/tx/profiling.js +19 -7
  727. package/dest/tx/protocol_contracts.d.ts +5 -9
  728. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  729. package/dest/tx/proven_tx.d.ts +30 -74
  730. package/dest/tx/proven_tx.d.ts.map +1 -1
  731. package/dest/tx/proven_tx.js +6 -0
  732. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  733. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  734. package/dest/tx/public_call_request_with_calldata.js +6 -3
  735. package/dest/tx/simulated_tx.d.ts +77 -1149
  736. package/dest/tx/simulated_tx.d.ts.map +1 -1
  737. package/dest/tx/simulated_tx.js +23 -13
  738. package/dest/tx/state_reference.d.ts +30 -117
  739. package/dest/tx/state_reference.d.ts.map +1 -1
  740. package/dest/tx/state_reference.js +6 -4
  741. package/dest/tx/tree_snapshots.d.ts +27 -84
  742. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  743. package/dest/tx/tree_snapshots.js +6 -4
  744. package/dest/tx/tx.d.ts +34 -17
  745. package/dest/tx/tx.d.ts.map +1 -1
  746. package/dest/tx/tx.js +70 -30
  747. package/dest/tx/tx_constant_data.d.ts +4 -3
  748. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  749. package/dest/tx/tx_constant_data.js +6 -3
  750. package/dest/tx/tx_context.d.ts +32 -131
  751. package/dest/tx/tx_context.d.ts.map +1 -1
  752. package/dest/tx/tx_context.js +6 -6
  753. package/dest/tx/tx_hash.d.ts +6 -4
  754. package/dest/tx/tx_hash.d.ts.map +1 -1
  755. package/dest/tx/tx_hash.js +13 -5
  756. package/dest/tx/tx_receipt.d.ts +145 -59
  757. package/dest/tx/tx_receipt.d.ts.map +1 -1
  758. package/dest/tx/tx_receipt.js +144 -58
  759. package/dest/tx/validator/error_texts.d.ts +10 -2
  760. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  761. package/dest/tx/validator/error_texts.js +11 -1
  762. package/dest/tx/validator/tx_validator.d.ts +5 -27
  763. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  764. package/dest/tx/validator/tx_validator.js +0 -4
  765. package/dest/types/shared.d.ts +4 -12
  766. package/dest/types/shared.d.ts.map +1 -1
  767. package/dest/types/shared.js +6 -12
  768. package/dest/update-checker/dev_version.d.ts +3 -0
  769. package/dest/update-checker/dev_version.d.ts.map +1 -0
  770. package/dest/update-checker/dev_version.js +1 -0
  771. package/dest/update-checker/index.d.ts +2 -1
  772. package/dest/update-checker/index.d.ts.map +1 -1
  773. package/dest/update-checker/index.js +1 -0
  774. package/dest/update-checker/package_version.d.ts +6 -3
  775. package/dest/update-checker/package_version.d.ts.map +1 -1
  776. package/dest/update-checker/package_version.js +9 -7
  777. package/dest/validators/errors.d.ts +21 -1
  778. package/dest/validators/errors.d.ts.map +1 -1
  779. package/dest/validators/errors.js +19 -0
  780. package/dest/validators/schemas.d.ts +147 -614
  781. package/dest/validators/schemas.d.ts.map +1 -1
  782. package/dest/validators/schemas.js +6 -4
  783. package/dest/validators/types.d.ts +20 -3
  784. package/dest/validators/types.d.ts.map +1 -1
  785. package/dest/versioning/versioning.d.ts +4 -2
  786. package/dest/versioning/versioning.d.ts.map +1 -1
  787. package/dest/versioning/versioning.js +5 -2
  788. package/dest/vks/verification_key.d.ts +4 -139
  789. package/dest/vks/verification_key.d.ts.map +1 -1
  790. package/dest/vks/verification_key.js +5 -126
  791. package/dest/world-state/genesis_data.d.ts +21 -0
  792. package/dest/world-state/genesis_data.d.ts.map +1 -0
  793. package/dest/world-state/genesis_data.js +8 -0
  794. package/dest/world-state/index.d.ts +2 -1
  795. package/dest/world-state/index.d.ts.map +1 -1
  796. package/dest/world-state/index.js +1 -0
  797. package/dest/world-state/world_state_revision.d.ts +11 -39
  798. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  799. package/dest/world-state/world_state_revision.js +7 -21
  800. package/package.json +15 -13
  801. package/src/abi/abi.ts +110 -25
  802. package/src/abi/authorization_selector.ts +2 -8
  803. package/src/abi/buffer.ts +38 -5
  804. package/src/abi/contract_artifact.ts +51 -22
  805. package/src/abi/decoder.ts +53 -100
  806. package/src/abi/encoder.ts +83 -7
  807. package/src/abi/event_metadata_definition.ts +2 -0
  808. package/src/abi/event_selector.ts +2 -8
  809. package/src/abi/function_call.ts +19 -7
  810. package/src/abi/function_selector.ts +4 -13
  811. package/src/abi/function_signature_decoder.ts +77 -0
  812. package/src/abi/index.ts +1 -0
  813. package/src/abi/note_selector.ts +3 -12
  814. package/src/abi/selector.ts +1 -1
  815. package/src/abi/utils.ts +31 -4
  816. package/src/avm/avm.ts +10 -2
  817. package/src/avm/index.ts +0 -5
  818. package/src/avm/message_pack.ts +12 -3
  819. package/src/avm/revert_code.ts +19 -39
  820. package/src/aztec-address/index.ts +50 -17
  821. package/src/block/attestation_info.ts +16 -11
  822. package/src/block/block_data.ts +3 -4
  823. package/src/block/block_hash.ts +21 -14
  824. package/src/block/block_parameter.ts +72 -4
  825. package/src/block/index.ts +0 -1
  826. package/src/block/l2_block.ts +13 -1
  827. package/src/block/l2_block_info.ts +8 -6
  828. package/src/block/l2_block_source.ts +278 -143
  829. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  830. package/src/block/l2_block_stream/index.ts +1 -0
  831. package/src/block/l2_block_stream/interfaces.ts +101 -9
  832. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  833. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  834. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  835. package/src/block/proposal/attestations_and_signers.ts +85 -24
  836. package/src/block/test/l2_tips_store_test_suite.ts +276 -22
  837. package/src/block/validate_block_result.ts +48 -2
  838. package/src/checkpoint/checkpoint.ts +25 -6
  839. package/src/checkpoint/checkpoint_data.ts +44 -4
  840. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  841. package/src/checkpoint/digest.ts +28 -0
  842. package/src/checkpoint/index.ts +5 -0
  843. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  844. package/src/checkpoint/simulation_overrides.ts +171 -0
  845. package/src/checkpoint/validate.ts +240 -0
  846. package/src/config/chain-config.ts +13 -16
  847. package/src/config/index.ts +1 -0
  848. package/src/config/network-consensus-config.ts +291 -0
  849. package/src/config/node-rpc-config.ts +2 -1
  850. package/src/config/sequencer-config.ts +68 -9
  851. package/src/contract/artifact_hash.ts +15 -3
  852. package/src/contract/complete_address.ts +7 -3
  853. package/src/contract/contract_address.ts +11 -10
  854. package/src/contract/contract_class.ts +3 -2
  855. package/src/contract/contract_class_id.ts +2 -2
  856. package/src/contract/contract_instance.ts +73 -3
  857. package/src/contract/index.ts +0 -3
  858. package/src/contract/interfaces/contract_class.ts +2 -82
  859. package/src/contract/interfaces/contract_data_source.ts +2 -4
  860. package/src/contract/interfaces/contract_instance.ts +32 -10
  861. package/src/contract/interfaces/node-info.ts +11 -0
  862. package/src/contract/partial_address.ts +8 -2
  863. package/src/contract/private_function.ts +3 -1
  864. package/src/database-version/version_manager.ts +113 -6
  865. package/src/deserialization/index.ts +35 -2
  866. package/src/epoch-helpers/index.ts +27 -0
  867. package/src/file-store/factory.ts +20 -4
  868. package/src/file-store/http.ts +29 -10
  869. package/src/file-store/index.ts +2 -0
  870. package/src/file-store/memory.ts +94 -0
  871. package/src/gas/README.md +318 -0
  872. package/src/gas/fee_math.ts +120 -0
  873. package/src/gas/gas.ts +8 -3
  874. package/src/gas/gas_fees.ts +29 -10
  875. package/src/gas/gas_settings.ts +63 -15
  876. package/src/gas/index.ts +2 -0
  877. package/src/gas/tx_gas_limits.ts +123 -0
  878. package/src/ha-signing/config.ts +170 -0
  879. package/src/ha-signing/index.ts +29 -0
  880. package/src/ha-signing/local_config.ts +65 -0
  881. package/src/ha-signing/types.ts +126 -0
  882. package/src/hash/hash.ts +63 -10
  883. package/src/interfaces/allowed_element.ts +29 -9
  884. package/src/interfaces/api_limit.ts +6 -1
  885. package/src/interfaces/archiver.ts +96 -92
  886. package/src/interfaces/aztec-node-admin.ts +36 -21
  887. package/src/interfaces/aztec-node-debug.ts +92 -0
  888. package/src/interfaces/aztec-node.ts +406 -260
  889. package/src/interfaces/block-builder.ts +70 -15
  890. package/src/interfaces/block_response.ts +92 -0
  891. package/src/interfaces/chain_tips.ts +16 -0
  892. package/src/interfaces/checkpoint_parameter.ts +20 -0
  893. package/src/interfaces/checkpoint_response.ts +84 -0
  894. package/src/interfaces/client.ts +8 -1
  895. package/src/interfaces/configs.ts +91 -14
  896. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  897. package/src/interfaces/l1_publish_info.ts +40 -0
  898. package/src/interfaces/l2_logs_source.ts +13 -39
  899. package/src/interfaces/merkle_tree_operations.ts +19 -22
  900. package/src/interfaces/p2p-bootstrap.ts +2 -2
  901. package/src/interfaces/p2p.ts +59 -19
  902. package/src/interfaces/private_kernel_prover.ts +192 -13
  903. package/src/interfaces/prover-agent.ts +1 -1
  904. package/src/interfaces/prover-client.ts +11 -8
  905. package/src/interfaces/prover-node.ts +36 -21
  906. package/src/interfaces/proving-job-source.ts +4 -4
  907. package/src/interfaces/proving-job.ts +18 -6
  908. package/src/interfaces/public_storage_override.ts +26 -0
  909. package/src/interfaces/server.ts +5 -2
  910. package/src/interfaces/server_circuit_prover.ts +2 -2
  911. package/src/interfaces/slasher.ts +17 -10
  912. package/src/interfaces/tx_provider.ts +10 -0
  913. package/src/interfaces/validator.ts +90 -39
  914. package/src/interfaces/world_state.ts +19 -4
  915. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  916. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  917. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  918. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  919. package/src/kernel/hints/index.ts +0 -1
  920. package/src/kernel/hints/key_validation_request.ts +18 -16
  921. package/src/kernel/hints/read_request.ts +1 -1
  922. package/src/kernel/index.ts +9 -1
  923. package/src/kernel/log_hash.ts +36 -13
  924. package/src/kernel/note_hash.ts +1 -1
  925. package/src/kernel/nullifier.ts +1 -1
  926. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  927. package/src/kernel/private_context_inputs.ts +10 -3
  928. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  929. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  930. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  931. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  932. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  933. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  934. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  935. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  936. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  937. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  938. package/src/kernel/private_kernel_prover_output.ts +4 -0
  939. package/src/kernel/private_kernel_reset_dimensions.ts +16 -6
  940. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  941. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  942. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  943. package/src/kernel/private_log_data.ts +4 -1
  944. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  945. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  946. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  947. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  948. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  949. package/src/kernel/public_call_request.ts +22 -7
  950. package/src/kernel/utils/index.ts +0 -1
  951. package/src/keys/derivation.ts +79 -22
  952. package/src/keys/public_key.ts +26 -2
  953. package/src/keys/public_keys.ts +124 -110
  954. package/src/kv-store/config.ts +29 -0
  955. package/src/kv-store/index.ts +1 -0
  956. package/src/l1-contracts/index.ts +1 -1
  957. package/src/logs/app_tagging_secret.ts +160 -0
  958. package/src/logs/app_tagging_secret_kind.ts +21 -0
  959. package/src/logs/contract_class_log.ts +15 -14
  960. package/src/logs/index.ts +7 -6
  961. package/src/logs/log_cursor.ts +110 -0
  962. package/src/logs/log_result.ts +104 -0
  963. package/src/logs/logs_query.ts +138 -0
  964. package/src/logs/message_context.ts +6 -50
  965. package/src/logs/pending_tagged_log.ts +6 -35
  966. package/src/logs/pre_tag.ts +3 -6
  967. package/src/logs/private_log.ts +9 -3
  968. package/src/logs/public_log.ts +4 -2
  969. package/src/logs/query_all_logs_by_tags.ts +98 -0
  970. package/src/logs/shared_secret_derivation.ts +55 -11
  971. package/src/logs/siloed_tag.ts +20 -11
  972. package/src/logs/tag.ts +8 -8
  973. package/src/logs/tagging_index_range.ts +18 -0
  974. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  975. package/src/messaging/index.ts +1 -0
  976. package/src/messaging/l1_to_l2_message.ts +56 -15
  977. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  978. package/src/messaging/l2_to_l1_membership.ts +189 -35
  979. package/src/messaging/l2_to_l1_message.ts +29 -9
  980. package/src/noir/index.ts +6 -3
  981. package/src/note/note_dao.ts +1 -4
  982. package/src/p2p/attestation_utils.ts +8 -1
  983. package/src/p2p/block_proposal.ts +112 -37
  984. package/src/p2p/checkpoint_attestation.ts +38 -30
  985. package/src/p2p/checkpoint_proposal.ts +127 -86
  986. package/src/p2p/consensus_payload.ts +59 -28
  987. package/src/p2p/gossipable.ts +4 -4
  988. package/src/p2p/index.ts +0 -1
  989. package/src/p2p/peer_error.ts +7 -0
  990. package/src/p2p/signature_utils.ts +117 -23
  991. package/src/p2p/signed_txs.ts +46 -28
  992. package/src/parity/parity_base_private_inputs.ts +10 -4
  993. package/src/parity/parity_public_inputs.ts +9 -2
  994. package/src/proofs/chonk_proof.ts +132 -12
  995. package/src/rollup/avm_proof_data.ts +2 -2
  996. package/src/rollup/block_headers_hash.ts +11 -2
  997. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  998. package/src/rollup/checkpoint_header.ts +16 -2
  999. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  1000. package/src/schemas/schemas.ts +6 -1
  1001. package/src/slashing/helpers.ts +13 -9
  1002. package/src/slashing/index.ts +1 -2
  1003. package/src/slashing/serialization.ts +1 -81
  1004. package/src/slashing/types.ts +24 -49
  1005. package/src/slashing/{tally.ts → votes.ts} +34 -1
  1006. package/src/stats/stats.ts +10 -2
  1007. package/src/tests/factories.ts +111 -157
  1008. package/src/tests/mocks.ts +88 -76
  1009. package/src/timetable/README.md +609 -0
  1010. package/src/timetable/budgets.ts +87 -0
  1011. package/src/timetable/build_proposer_timetable.ts +42 -0
  1012. package/src/timetable/consensus_timetable.ts +126 -0
  1013. package/src/timetable/index.ts +4 -66
  1014. package/src/timetable/proposer_timetable.ts +190 -0
  1015. package/src/timetable/timetable-example.svg +108 -0
  1016. package/src/trees/append_only_tree_snapshot.ts +8 -3
  1017. package/src/trees/nullifier_leaf.ts +4 -0
  1018. package/src/trees/nullifier_membership_witness.ts +0 -21
  1019. package/src/trees/public_data_witness.ts +0 -31
  1020. package/src/tx/block_header.ts +16 -5
  1021. package/src/tx/capsule.ts +10 -2
  1022. package/src/tx/execution_payload.ts +2 -1
  1023. package/src/tx/fee_provider.ts +10 -0
  1024. package/src/tx/global_variable_builder.ts +3 -20
  1025. package/src/tx/global_variables.ts +12 -20
  1026. package/src/tx/hashed_values.ts +19 -9
  1027. package/src/tx/index.ts +1 -1
  1028. package/src/tx/indexed_tx_effect.ts +18 -6
  1029. package/src/tx/offchain_effect.ts +1 -1
  1030. package/src/tx/partial_state_reference.ts +8 -3
  1031. package/src/tx/private_execution_result.ts +5 -5
  1032. package/src/tx/private_tx_constant_data.ts +25 -2
  1033. package/src/tx/profiling.ts +17 -6
  1034. package/src/tx/proven_tx.ts +6 -0
  1035. package/src/tx/public_call_request_with_calldata.ts +8 -3
  1036. package/src/tx/simulated_tx.ts +39 -20
  1037. package/src/tx/state_reference.ts +9 -4
  1038. package/src/tx/tree_snapshots.ts +9 -4
  1039. package/src/tx/tx.ts +98 -37
  1040. package/src/tx/tx_constant_data.ts +8 -3
  1041. package/src/tx/tx_context.ts +8 -3
  1042. package/src/tx/tx_hash.ts +20 -5
  1043. package/src/tx/tx_receipt.ts +267 -82
  1044. package/src/tx/validator/error_texts.ts +14 -1
  1045. package/src/tx/validator/tx_validator.ts +1 -5
  1046. package/src/types/shared.ts +8 -13
  1047. package/src/update-checker/dev_version.ts +2 -0
  1048. package/src/update-checker/index.ts +1 -0
  1049. package/src/update-checker/package_version.ts +11 -11
  1050. package/src/validators/errors.ts +26 -0
  1051. package/src/validators/schemas.ts +6 -4
  1052. package/src/validators/types.ts +21 -2
  1053. package/src/versioning/versioning.ts +5 -2
  1054. package/src/vks/verification_key.ts +5 -184
  1055. package/src/world-state/genesis_data.ts +37 -0
  1056. package/src/world-state/index.ts +1 -0
  1057. package/src/world-state/world_state_revision.ts +9 -34
  1058. package/dest/abi/mocked_keys.d.ts +0 -2
  1059. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1060. package/dest/abi/mocked_keys.js +0 -1
  1061. package/dest/avm/contract_storage_read.d.ts +0 -58
  1062. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  1063. package/dest/avm/contract_storage_read.js +0 -65
  1064. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  1065. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  1066. package/dest/avm/contract_storage_update_request.js +0 -80
  1067. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  1068. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  1069. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  1070. package/dest/avm/public_data_update_request.d.ts +0 -62
  1071. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  1072. package/dest/avm/public_data_update_request.js +0 -67
  1073. package/dest/avm/public_inner_call_request.d.ts +0 -50
  1074. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  1075. package/dest/avm/public_inner_call_request.js +0 -74
  1076. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1077. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1078. package/dest/block/checkpointed_l2_block.js +0 -46
  1079. package/dest/contract/deployment_info.d.ts +0 -24
  1080. package/dest/contract/deployment_info.d.ts.map +0 -1
  1081. package/dest/contract/deployment_info.js +0 -3
  1082. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1083. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1084. package/dest/contract/private_function_membership_proof.js +0 -124
  1085. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1086. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1087. package/dest/contract/utility_function_membership_proof.js +0 -87
  1088. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1089. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1090. package/dest/interfaces/epoch-prover.js +0 -1
  1091. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1092. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1093. package/dest/interfaces/get_logs_response.js +0 -12
  1094. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1095. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1096. package/dest/interfaces/prover-coordination.js +0 -1
  1097. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1098. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1099. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1100. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1101. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1102. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1103. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1104. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1105. package/dest/kernel/utils/optional_number.js +0 -42
  1106. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1107. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1108. package/dest/l1-contracts/slash_factory.js +0 -158
  1109. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1110. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1111. package/dest/logs/extended_contract_class_log.js +0 -67
  1112. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1113. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1114. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  1115. package/dest/logs/extended_public_log.d.ts +0 -106
  1116. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1117. package/dest/logs/extended_public_log.js +0 -73
  1118. package/dest/logs/log_filter.d.ts +0 -22
  1119. package/dest/logs/log_filter.d.ts.map +0 -1
  1120. package/dest/logs/log_filter.js +0 -11
  1121. package/dest/logs/log_id.d.ts +0 -85
  1122. package/dest/logs/log_id.d.ts.map +0 -1
  1123. package/dest/logs/log_id.js +0 -94
  1124. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1125. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1126. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1127. package/dest/p2p/interface.d.ts +0 -5
  1128. package/dest/p2p/interface.d.ts.map +0 -1
  1129. package/dest/p2p/interface.js +0 -1
  1130. package/dest/slashing/empire.d.ts +0 -31
  1131. package/dest/slashing/empire.d.ts.map +0 -1
  1132. package/dest/slashing/empire.js +0 -87
  1133. package/dest/slashing/tally.d.ts.map +0 -1
  1134. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1135. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1136. package/dest/tx/validator/empty_validator.js +0 -7
  1137. package/src/abi/mocked_keys.ts +0 -2
  1138. package/src/avm/contract_storage_read.ts +0 -77
  1139. package/src/avm/contract_storage_update_request.ts +0 -93
  1140. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1141. package/src/avm/public_data_update_request.ts +0 -106
  1142. package/src/avm/public_inner_call_request.ts +0 -85
  1143. package/src/block/checkpointed_l2_block.ts +0 -70
  1144. package/src/contract/deployment_info.ts +0 -25
  1145. package/src/contract/private_function_membership_proof.ts +0 -167
  1146. package/src/contract/utility_function_membership_proof.ts +0 -118
  1147. package/src/interfaces/epoch-prover.ts +0 -72
  1148. package/src/interfaces/get_logs_response.ts +0 -35
  1149. package/src/interfaces/prover-coordination.ts +0 -17
  1150. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1151. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1152. package/src/kernel/utils/optional_number.ts +0 -50
  1153. package/src/l1-contracts/slash_factory.ts +0 -180
  1154. package/src/logs/extended_contract_class_log.ts +0 -87
  1155. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1156. package/src/logs/extended_public_log.ts +0 -94
  1157. package/src/logs/log_filter.ts +0 -31
  1158. package/src/logs/log_id.ts +0 -125
  1159. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1160. package/src/p2p/interface.ts +0 -4
  1161. package/src/slashing/empire.ts +0 -104
  1162. package/src/tx/validator/empty_validator.ts +0 -7
@@ -1,17 +1,41 @@
1
- import type { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { GrumpkinScalar, type Point } 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 the raw ECDH shared secret point `S = secretKey * publicKey`.
7
+ *
8
+ * @throws If the publicKey is zero.
9
+ */
10
+ export declare function deriveEcdhSharedSecretPoint(secretKey: GrumpkinScalar, publicKey: PublicKey): Promise<Point>;
11
+ /**
12
+ * Derives an app-siloed ECDH shared secret from keys: ECDHs `S = secretKey * publicKey` via
13
+ * {@link deriveEcdhSharedSecretPoint}, then app-silos it via {@link appSiloEcdhSharedSecretPoint}.
7
14
  *
8
15
  * @param secretKey - The secret key used to derive shared secret.
9
16
  * @param publicKey - The public key used to derive shared secret.
10
- * @returns A derived shared secret.
17
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
18
+ * @returns The app-siloed shared secret as a Field.
11
19
  * @throws If the publicKey is zero.
20
+ */
21
+ export declare function appSiloEcdhSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey, contractAddress: AztecAddress): Promise<Fr>;
22
+ /**
23
+ * App-silos a shared secret point: `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, app)`.
24
+ *
25
+ * Mirrors `compute_app_siloed_shared_secret` in aztec-nr.
26
+ *
27
+ * @param point - The raw shared secret point `S`.
28
+ * @param app - The contract address to silo to.
29
+ */
30
+ export declare function appSiloEcdhSharedSecretPoint(point: Point, app: AztecAddress): Promise<Fr>;
31
+ /**
32
+ * Protects a handshake's shared secret from being forged by the recipient: `S' = hash(ephPk, recipientPoint) * S`.
33
+ *
34
+ * Mirrors aztec-nr's `protect_from_forgery` and must stay byte-compatible with it.
12
35
  *
13
- * TODO(#12656): This function is kept around because of the utilityGetSharedSecret oracle. Nuke this once returning
14
- * the app-siloed secret.
36
+ * @param secret - The raw shared secret `S` to protect.
37
+ * @param ephPk - The handshake's ephemeral public key.
38
+ * @param recipientPoint - The recipient's address point.
15
39
  */
16
- export declare function deriveEcdhSharedSecret(secretKey: GrumpkinScalar, publicKey: PublicKey): Promise<Point>;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQixzQkFBc0IsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQU90RyJ9
40
+ export declare function protectFromForgery(secret: Point, ephPk: Point, recipientPoint: Point): Promise<Point>;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsMkJBQTJCLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FPM0c7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsdUJBQXVCLENBQzNDLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FHYjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsNEJBQTRCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFekY7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBTTNHIn0=
@@ -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,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAO3G;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,EAAE,CAAC,CAGb;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAEzF;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAM3G"}
@@ -1,19 +1,58 @@
1
+ import { DomainSeparator } from '@aztec/constants';
1
2
  import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
3
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
+ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
2
5
  /**
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.
6
+ * Derives the raw ECDH shared secret point `S = secretKey * publicKey`.
6
7
  *
7
- * @param secretKey - The secret key used to derive shared secret.
8
- * @param publicKey - The public key used to derive shared secret.
9
- * @returns A derived shared secret.
10
8
  * @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) {
9
+ */ export function deriveEcdhSharedSecretPoint(secretKey, publicKey) {
15
10
  if (publicKey.isZero()) {
16
11
  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
12
  }
18
13
  return Grumpkin.mul(publicKey, secretKey);
19
14
  }
15
+ /**
16
+ * Derives an app-siloed ECDH shared secret from keys: ECDHs `S = secretKey * publicKey` via
17
+ * {@link deriveEcdhSharedSecretPoint}, then app-silos it via {@link appSiloEcdhSharedSecretPoint}.
18
+ *
19
+ * @param secretKey - The secret key used to derive shared secret.
20
+ * @param publicKey - The public key used to derive shared secret.
21
+ * @param contractAddress - The address of the calling contract, used for app-siloing.
22
+ * @returns The app-siloed shared secret as a Field.
23
+ * @throws If the publicKey is zero.
24
+ */ export async function appSiloEcdhSharedSecret(secretKey, publicKey, contractAddress) {
25
+ const rawSharedSecret = await deriveEcdhSharedSecretPoint(secretKey, publicKey);
26
+ return appSiloEcdhSharedSecretPoint(rawSharedSecret, contractAddress);
27
+ }
28
+ /**
29
+ * App-silos a shared secret point: `s_app = h(DOM_SEP__APP_SILOED_ECDH_SHARED_SECRET, S.x, S.y, app)`.
30
+ *
31
+ * Mirrors `compute_app_siloed_shared_secret` in aztec-nr.
32
+ *
33
+ * @param point - The raw shared secret point `S`.
34
+ * @param app - The contract address to silo to.
35
+ */ export function appSiloEcdhSharedSecretPoint(point, app) {
36
+ return poseidon2HashWithSeparator([
37
+ point.x,
38
+ point.y,
39
+ app
40
+ ], DomainSeparator.APP_SILOED_ECDH_SHARED_SECRET);
41
+ }
42
+ /**
43
+ * Protects a handshake's shared secret from being forged by the recipient: `S' = hash(ephPk, recipientPoint) * S`.
44
+ *
45
+ * Mirrors aztec-nr's `protect_from_forgery` and must stay byte-compatible with it.
46
+ *
47
+ * @param secret - The raw shared secret `S` to protect.
48
+ * @param ephPk - The handshake's ephemeral public key.
49
+ * @param recipientPoint - The recipient's address point.
50
+ */ export async function protectFromForgery(secret, ephPk, recipientPoint) {
51
+ const scalar = await poseidon2HashWithSeparator([
52
+ ephPk.x,
53
+ ephPk.y,
54
+ recipientPoint.x,
55
+ recipientPoint.y
56
+ ], DomainSeparator.HANDSHAKE_FORGERY_PROTECTION);
57
+ return Grumpkin.mul(secret, new GrumpkinScalar(scalar.toBigInt()));
58
+ }
@@ -1,25 +1,26 @@
1
- import type { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { 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
4
  import type { PreTag } from './pre_tag.js';
5
5
  import { Tag } from './tag.js';
6
- /** Branding to ensure fields are not interchangeable types. */
7
- export interface SiloedTag {
8
- /** Brand. */
9
- _branding: 'SiloedTag';
10
- }
11
6
  /**
12
7
  * Represents a tag used in private log as it "appears on the chain" - that is the tag is siloed with a contract
13
8
  * address that emitted the log.
14
9
  */
15
10
  export declare class SiloedTag {
16
11
  readonly value: Fr;
12
+ /** Branding for nominal typing. */
13
+ private readonly _branding;
17
14
  constructor(value: Fr);
18
15
  static compute(preTag: PreTag): Promise<SiloedTag>;
16
+ /**
17
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
18
+ */
19
19
  static computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag>;
20
20
  toString(): string;
21
21
  toJSON(): string;
22
22
  equals(other: SiloedTag): boolean;
23
+ static random(): SiloedTag;
23
24
  static get schema(): ZodFor<SiloedTag>;
24
25
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUkvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsYUFBYTtJQUNiLFNBQVMsRUFBRSxXQUFXLENBQUM7Q0FDeEI7QUFFRDs7O0dBR0c7QUFDSCxxQkFBYSxTQUFTO2FBQ1EsS0FBSyxFQUFFLEVBQUU7SUFBckMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHdkQ7SUFFRCxPQUFhLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBR2pGO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUVoQztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUVyQztDQUNGIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lsb2VkX3RhZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3Mvc2lsb2VkX3RhZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0I7OztHQUdHO0FBQ0gscUJBQWEsU0FBUzthQUlRLEtBQUssRUFBRSxFQUFFO0lBSHJDLG1DQUFtQztJQUNuQyxpQkFBeUIsU0FBUyxDQUFjO0lBRWhELFlBQTRCLEtBQUssRUFBRSxFQUFFLEVBQUk7SUFFekMsT0FBYSxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBUXZEO0lBRUQ7O09BRUc7SUFDSCxPQUFhLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBR2pGO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUVoQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUV6QjtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUVyQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AAAA,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,CAGvD;IAED,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
+ {"version":3,"file":"siloed_tag.d.ts","sourceRoot":"","sources":["../../src/logs/siloed_tag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;;GAGG;AACH,qBAAa,SAAS;aAIQ,KAAK,EAAE,EAAE;IAHrC,mCAAmC;IACnC,iBAAyB,SAAS,CAAc;IAEhD,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAQvD;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,CAAC,MAAM,IAAI,SAAS,CAEzB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAErC;CACF"}
@@ -1,5 +1,8 @@
1
- import { computeSiloedPrivateLogFirstField } from '../hash/hash.js';
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { computeLogTag, computeSiloedPrivateLogFirstField } from '../hash/hash.js';
2
4
  import { schemas } from '../schemas/schemas.js';
5
+ import { AppTaggingSecretKind } from './app_tagging_secret_kind.js';
3
6
  import { Tag } from './tag.js';
4
7
  /**
5
8
  * Represents a tag used in private log as it "appears on the chain" - that is the tag is siloed with a contract
@@ -11,9 +14,13 @@ import { Tag } from './tag.js';
11
14
  }
12
15
  static async compute(preTag) {
13
16
  const tag = await Tag.compute(preTag);
14
- return SiloedTag.computeFromTagAndApp(tag, preTag.extendedSecret.app);
17
+ const domainSeparator = preTag.extendedSecret.kind === AppTaggingSecretKind.CONSTRAINED ? DomainSeparator.CONSTRAINED_MSG_LOG_TAG : DomainSeparator.UNCONSTRAINED_MSG_LOG_TAG;
18
+ const logTag = await computeLogTag(tag.value, domainSeparator);
19
+ return SiloedTag.computeFromTagAndApp(new Tag(logTag), preTag.extendedSecret.app);
15
20
  }
16
- static async computeFromTagAndApp(tag, app) {
21
+ /**
22
+ * Unlike `compute`, this expects a tag whose value is already domain-separated.
23
+ */ static async computeFromTagAndApp(tag, app) {
17
24
  const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
18
25
  return new SiloedTag(siloedTag);
19
26
  }
@@ -26,6 +33,9 @@ import { Tag } from './tag.js';
26
33
  equals(other) {
27
34
  return this.value.equals(other.value);
28
35
  }
36
+ static random() {
37
+ return new SiloedTag(Fr.random());
38
+ }
29
39
  static get schema() {
30
40
  return schemas.Fr.transform((fr)=>new SiloedTag(fr));
31
41
  }
@@ -1,21 +1,20 @@
1
- import type { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ZodFor } from '@aztec/foundation/schemas';
3
3
  import type { PreTag } from './pre_tag.js';
4
- export interface Tag {
5
- /** Brand. */
6
- _branding: 'Tag';
7
- }
8
4
  /**
9
5
  * Represents a tag of a private log. This is not the tag that "appears" on the chain as this tag is first siloed
10
6
  * with a contract address by kernels before being included in the final log.
11
7
  */
12
8
  export declare class Tag {
13
9
  readonly value: Fr;
10
+ /** Branding for nominal typing. */
11
+ private readonly _branding;
14
12
  constructor(value: Fr);
15
13
  static compute(preTag: PreTag): Promise<Tag>;
16
14
  toString(): string;
17
15
  toJSON(): string;
18
16
  equals(other: Tag): boolean;
17
+ static random(): Tag;
19
18
  static get schema(): ZodFor<Tag>;
20
19
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHeEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSTNDLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLGFBQWE7SUFDYixTQUFTLEVBQUUsS0FBSyxDQUFDO0NBQ2xCO0FBRUQ7OztHQUdHO0FBQ0gscUJBQWEsR0FBRzthQUNjLEtBQUssRUFBRSxFQUFFO0lBQXJDLFlBQTRCLEtBQUssRUFBRSxFQUFFLEVBQUk7SUFFekMsT0FBYSxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBR2pEO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLElBQUksTUFBTSxDQUVmO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUUxQjtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUUvQjtDQUNGIn0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3hELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzQzs7O0dBR0c7QUFDSCxxQkFBYSxHQUFHO2FBSWMsS0FBSyxFQUFFLEVBQUU7SUFIckMsbUNBQW1DO0lBQ25DLGlCQUF5QixTQUFTLENBQVE7SUFFMUMsWUFBNEIsS0FBSyxFQUFFLEVBQUUsRUFBSTtJQUV6QyxPQUFhLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FHakQ7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxNQUFNLENBRWY7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBRTFCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBRW5CO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBRS9CO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/logs/tag.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAI3C,MAAM,WAAW,GAAG;IAClB,aAAa;IACb,SAAS,EAAE,KAAK,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,GAAG;aACc,KAAK,EAAE,EAAE;IAArC,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAGjD;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1B;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAE/B;CACF"}
1
+ {"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../src/logs/tag.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,qBAAa,GAAG;aAIc,KAAK,EAAE,EAAE;IAHrC,mCAAmC;IACnC,iBAAyB,SAAS,CAAQ;IAE1C,YAA4B,KAAK,EAAE,EAAE,EAAI;IAEzC,OAAa,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAGjD;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,MAAM,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1B;IAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAEnB;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAE/B;CACF"}
package/dest/logs/tag.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { schemas } from '../schemas/schemas.js';
3
4
  /**
4
5
  * Represents a tag of a private log. This is not the tag that "appears" on the chain as this tag is first siloed
@@ -24,6 +25,9 @@ import { schemas } from '../schemas/schemas.js';
24
25
  equals(other) {
25
26
  return this.value.equals(other.value);
26
27
  }
28
+ static random() {
29
+ return new Tag(Fr.random());
30
+ }
27
31
  static get schema() {
28
32
  return schemas.Fr.transform((fr)=>new Tag(fr));
29
33
  }
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { type AppTaggingSecret } from './app_tagging_secret.js';
3
+ /** Represents a range of tagging indexes for a given app tagging secret. */
4
+ export type TaggingIndexRange = {
5
+ extendedSecret: AppTaggingSecret;
6
+ lowestIndex: number;
7
+ highestIndex: number;
8
+ };
9
+ export declare const TaggingIndexRangeSchema: z.ZodObject<{
10
+ extendedSecret: z.ZodPipe<z.ZodObject<{
11
+ kind: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"unconstrained">, z.ZodLiteral<"constrained">]>>;
12
+ secret: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
13
+ app: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
14
+ }, z.core.$strip>, z.ZodTransform<AppTaggingSecret, {
15
+ kind: "constrained" | "unconstrained";
16
+ secret: import("@aztec/foundation/schemas").Fr;
17
+ app: import("../aztec-address/index.js").AztecAddress;
18
+ }>>;
19
+ lowestIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
20
+ highestIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>;
21
+ }, z.core.$strip>;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnZ2luZ19pbmRleF9yYW5nZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZ3MvdGFnZ2luZ19pbmRleF9yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBRXhGLDRFQUE0RTtBQUM1RSxNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIsY0FBYyxFQUFFLGdCQUFnQixDQUFDO0lBQ2pDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsWUFBWSxFQUFFLE1BQU0sQ0FBQztDQUN0QixDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1Qjs7Ozs7Ozs7Ozs7O2lCQUlsQyxDQUFDIn0=
@@ -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,EAAE,KAAK,gBAAgB,EAA0B,MAAM,yBAAyB,CAAC;AAExF,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,gBAAgB,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;iBAIlC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { schemas } from '@aztec/foundation/schemas';
2
+ import { z } from 'zod';
3
+ import { AppTaggingSecretSchema } from './app_tagging_secret.js';
4
+ export const TaggingIndexRangeSchema = z.object({
5
+ extendedSecret: AppTaggingSecretSchema,
6
+ lowestIndex: schemas.Integer,
7
+ highestIndex: schemas.Integer
8
+ });
@@ -0,0 +1,9 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { MerkleTreeWriteOperations } from '../interfaces/merkle_tree_operations.js';
3
+ /**
4
+ * Pads `l1ToL2Messages` to `NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP` and appends them to the
5
+ * L1→L2 message tree of `db`. Use whenever a fork at "state before the first block of a
6
+ * checkpoint" needs to mirror what the world-state synchronizer inserts at sync time.
7
+ */
8
+ export declare function appendL1ToL2MessagesToTree(db: MerkleTreeWriteOperations, l1ToL2Messages: Fr[]): Promise<void>;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwZW5kX2wxX3RvX2wyX21lc3NhZ2VzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVzc2FnaW5nL2FwcGVuZF9sMV90b19sMl9tZXNzYWdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUd6Rjs7OztHQUlHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUFDLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVFuSCJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append_l1_to_l2_messages.d.ts","sourceRoot":"","sources":["../../src/messaging/append_l1_to_l2_messages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAGzF;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,yBAAyB,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnH"}
@@ -0,0 +1,12 @@
1
+ import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
2
+ import { padArrayEnd } from '@aztec/foundation/collection';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { MerkleTreeId } from '../trees/merkle_tree_id.js';
5
+ /**
6
+ * Pads `l1ToL2Messages` to `NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP` and appends them to the
7
+ * L1→L2 message tree of `db`. Use whenever a fork at "state before the first block of a
8
+ * checkpoint" needs to mirror what the world-state synchronizer inserts at sync time.
9
+ */ export async function appendL1ToL2MessagesToTree(db, l1ToL2Messages) {
10
+ const padded = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, 'Too many L1 to L2 messages');
11
+ await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, padded);
12
+ }
@@ -1,3 +1,4 @@
1
+ export * from './append_l1_to_l2_messages.js';
1
2
  export * from './in_hash.js';
2
3
  export * from './inbox_leaf.js';
3
4
  export * from './l1_to_l2_message.js';
@@ -7,4 +8,4 @@ export * from './l2_actor.js';
7
8
  export * from './l2_to_l1_message.js';
8
9
  export * from './l2_to_l1_membership.js';
9
10
  export * from './out_hash.js';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXNzYWdpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZUFBZSxDQUFDIn0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXNzYWdpbmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxlQUFlLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './append_l1_to_l2_messages.js';
1
2
  export * from './in_hash.js';
2
3
  export * from './inbox_leaf.js';
3
4
  export * from './l1_to_l2_message.js';
@@ -1,8 +1,9 @@
1
- import type { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
1
+ import { type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
2
2
  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,26 @@ 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
+ /**
49
+ * The unsiloed nullifier a message consumer derives, together with the contract address needed to silo it.
50
+ */
51
+ export interface UnsiloedMessageNullifier {
52
+ contractAddress: AztecAddress;
53
+ nullifier: Fr;
54
+ }
55
+ /**
56
+ * Computes the unsiloed nullifier that the fee juice contract (and any consumer following the same scheme) derives when
57
+ * consuming an L1 to L2 message.
58
+ *
59
+ * This is not a general-purpose utility: other contracts may derive the secret hash and hence the nullifier
60
+ * differently. The result is unsiloed — callers silo it (with the consuming contract's address) before looking it up
61
+ * in the nullifier tree.
62
+ */
63
+ export declare function computeFeeJuiceMessageNullifier(messageHash: Fr, secret: Fr): Promise<Fr>;
64
+ /**
65
+ * Fetches the membership witness of an L1 to L2 message. When `unsiloedNullifier` is provided, the message is
66
+ * additionally required to be un-nullified.
67
+ */
68
+ export declare function getL1ToL2MessageWitness(node: AztecNode, messageHash: Fr, unsiloedNullifier?: UnsiloedMessageNullifier, referenceBlock?: BlockParameter): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
69
+ export declare function getNonNullifiedL1ToL2MessageWitness(node: AztecNode, contractAddress: AztecAddress, messageHash: Fr, secret: Fr, referenceBlock?: BlockParameter): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMV90b19sMl9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsS0FBSyx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2xGLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxxQkFBYSxhQUFhO0lBRXRCLHVDQUF1QzthQUN2QixNQUFNLEVBQUUsT0FBTztJQUMvQiwwQ0FBMEM7YUFDMUIsU0FBUyxFQUFFLE9BQU87SUFDbEMsMkJBQTJCO2FBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDM0IsdUNBQXVDO2FBQ3ZCLFVBQVUsRUFBRSxFQUFFO0lBQzlCLGdEQUFnRDthQUNoQyxLQUFLLEVBQUUsRUFBRTtJQVYzQjtJQUNFLHVDQUF1QztJQUN2QixNQUFNLEVBQUUsT0FBTztJQUMvQiwwQ0FBMEM7SUFDMUIsU0FBUyxFQUFFLE9BQU87SUFDbEMsMkJBQTJCO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDM0IsdUNBQXVDO0lBQ3ZCLFVBQVUsRUFBRSxFQUFFO0lBQzlCLGdEQUFnRDtJQUNoQyxLQUFLLEVBQUUsRUFBRSxFQUN2QjtJQUVKOzs7T0FHRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsSUFBSSxJQUFJLEVBQUUsQ0FFVDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsYUFBYSxDQVE5RDtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FHN0M7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FFNUI7SUFFRCxPQUFhLE1BQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLENBRTVDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsZUFBZSxFQUFFLFlBQVksQ0FBQztJQUM5QixTQUFTLEVBQUUsRUFBRSxDQUFDO0NBQ2Y7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLCtCQUErQixDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBRXhGO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLHVCQUF1QixDQUMzQyxJQUFJLEVBQUUsU0FBUyxFQUNmLFdBQVcsRUFBRSxFQUFFLEVBQ2YsaUJBQWlCLENBQUMsRUFBRSx3QkFBd0IsRUFDNUMsY0FBYyxHQUFFLGNBQXlCLEdBQ3hDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FvQmpFO0FBR0Qsd0JBQXNCLG1DQUFtQyxDQUN2RCxJQUFJLEVBQUUsU0FBUyxFQUNmLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFdBQVcsRUFBRSxFQUFFLEVBQ2YsTUFBTSxFQUFFLEVBQUUsRUFDVixjQUFjLEdBQUUsY0FBeUIsR0FDeEMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxPQUFPLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUdqRSJ9
@@ -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,EAAmB,KAAK,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAGlF,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;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,YAAY,CAAC;IAC9B,SAAS,EAAE,EAAE,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAExF;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,EAAE,EACf,iBAAiB,CAAC,EAAE,wBAAwB,EAC5C,cAAc,GAAE,cAAyB,GACxC,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAoBjE;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,CAGjE"}
@@ -1,8 +1,10 @@
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
1
3
  import { sha256ToField } from '@aztec/foundation/crypto/sha256';
2
4
  import { Fr } from '@aztec/foundation/curves/bn254';
3
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
6
  import { bufferToHex } from '@aztec/foundation/string';
5
- import { computeL1ToL2MessageNullifier } from '../hash/hash.js';
7
+ import { siloNullifier } from '../hash/hash.js';
6
8
  import { MerkleTreeId } from '../trees/merkle_tree_id.js';
7
9
  import { L1Actor } from './l1_actor.js';
8
10
  import { L2Actor } from './l2_actor.js';
@@ -62,22 +64,43 @@ import { L2Actor } from './l2_actor.js';
62
64
  return new L1ToL2Message(L1Actor.random(), await L2Actor.random(), Fr.random(), Fr.random(), Fr.random());
63
65
  }
64
66
  }
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) {
67
+ /**
68
+ * Computes the unsiloed nullifier that the fee juice contract (and any consumer following the same scheme) derives when
69
+ * consuming an L1 to L2 message.
70
+ *
71
+ * This is not a general-purpose utility: other contracts may derive the secret hash and hence the nullifier
72
+ * differently. The result is unsiloed — callers silo it (with the consuming contract's address) before looking it up
73
+ * in the nullifier tree.
74
+ */ export function computeFeeJuiceMessageNullifier(messageHash, secret) {
75
+ return poseidon2HashWithSeparator([
76
+ messageHash,
77
+ secret
78
+ ], DomainSeparator.MESSAGE_NULLIFIER);
79
+ }
80
+ /**
81
+ * Fetches the membership witness of an L1 to L2 message. When `unsiloedNullifier` is provided, the message is
82
+ * additionally required to be un-nullified.
83
+ */ export async function getL1ToL2MessageWitness(node, messageHash, unsiloedNullifier, referenceBlock = 'latest') {
84
+ // Both requests are dispatched before awaiting so they run concurrently.
85
+ const l1ToL2ResponsePromise = node.getL1ToL2MessageMembershipWitness(referenceBlock, messageHash);
86
+ const nullifierResponsePromise = unsiloedNullifier ? siloNullifier(unsiloedNullifier.contractAddress, unsiloedNullifier.nullifier).then((siloed)=>node.findLeavesIndexes(referenceBlock, MerkleTreeId.NULLIFIER_TREE, [
87
+ siloed
88
+ ])) : undefined;
89
+ const l1ToL2Response = await l1ToL2ResponsePromise;
90
+ if (!l1ToL2Response) {
69
91
  throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
70
92
  }
71
- const [messageIndex, siblingPath] = response;
72
- const messageNullifier = await computeL1ToL2MessageNullifier(contractAddress, messageHash, secret);
73
- const [nullifierIndex] = await node.findLeavesIndexes('latest', MerkleTreeId.NULLIFIER_TREE, [
74
- messageNullifier
75
- ]);
76
- if (nullifierIndex !== undefined) {
93
+ const nullifierResponse = await nullifierResponsePromise;
94
+ if (nullifierResponse?.[0] !== undefined) {
77
95
  throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
78
96
  }
79
- return [
80
- messageIndex,
81
- siblingPath
82
- ];
97
+ return l1ToL2Response;
98
+ }
99
+ // 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.
100
+ export async function getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret, referenceBlock = 'latest') {
101
+ const nullifier = await computeFeeJuiceMessageNullifier(messageHash, secret);
102
+ return getL1ToL2MessageWitness(node, messageHash, {
103
+ contractAddress,
104
+ nullifier
105
+ }, referenceBlock);
83
106
  }
@@ -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,23 @@
1
- import type { EpochNumber } from '@aztec/foundation/branded-types';
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 { z } from 'zod';
5
+ import type { AztecNode } from '../interfaces/aztec-node.js';
6
+ import { TxHash } from '../tx/tx_hash.js';
7
+ import type { TxReceipt } from '../tx/tx_receipt.js';
8
+ /**
9
+ * Provides access to the L1 Outbox's per-epoch roots so the witness helper can pick the smallest
10
+ * partial-proof root that covers a tx's checkpoint. Implemented by `OutboxContract` in the
11
+ * ethereum package.
12
+ */
13
+ export interface OutboxRootsReader {
14
+ /**
15
+ * Returns the array of roots stored for `epoch`. Slot `i` holds the root inserted for
16
+ * `numCheckpointsInEpoch = i + 1`, or `Fr.ZERO` if no proof of that depth has landed yet. The
17
+ * returned array length is `MAX_CHECKPOINTS_PER_EPOCH`.
18
+ */
19
+ getRoots(epoch: EpochNumber): Promise<Fr[]>;
20
+ }
4
21
  /**
5
22
  * # L2-to-L1 Message Tree Structure and Leaf IDs
6
23
  *
@@ -84,14 +101,60 @@ import { SiblingPath } from '@aztec/foundation/trees';
84
101
  * @returns The unique leaf ID used for tracking message consumption on L1
85
102
  */
86
103
  export declare function getL2ToL1MessageLeafId(membershipWitness: Pick<L2ToL1MembershipWitness, 'leafIndex' | 'siblingPath'>): bigint;
87
- export interface MessageRetrieval {
88
- getL2ToL1Messages(epoch: EpochNumber): Promise<Fr[][][][]>;
89
- }
90
104
  export type L2ToL1MembershipWitness = {
105
+ epochNumber: EpochNumber;
106
+ /**
107
+ * The number of checkpoints covered by the partial-proof root this witness was built against
108
+ * (1-indexed; equal to `roots-array-index + 1` on the Outbox). Pass this through to
109
+ * `Outbox.consume` so the contract reads the matching root slot.
110
+ */
111
+ numCheckpointsInEpoch: number;
112
+ root: Fr;
113
+ leafIndex: bigint;
114
+ siblingPath: SiblingPath<number>;
115
+ };
116
+ /**
117
+ * Zod schema for {@link L2ToL1MembershipWitness}. The sibling-path length varies with the shape of
118
+ * the per-epoch tree, so we use the unsized `SiblingPath.schema` here rather than a fixed-height
119
+ * `schemaFor`.
120
+ */
121
+ export declare const L2ToL1MembershipWitnessSchema: z.ZodType<L2ToL1MembershipWitness, unknown, z.core.$ZodTypeInternals<L2ToL1MembershipWitness, unknown>>;
122
+ /**
123
+ * Computes the L2 to L1 membership witness for a given message in a transaction.
124
+ *
125
+ * Queries the L1 Outbox to find the smallest partial-proof root that covers the tx's checkpoint,
126
+ * then builds the witness against that root by including only the first `numCheckpointsInEpoch`
127
+ * checkpoints of the epoch in the tree (the remaining slots are zero-padded, matching the shape
128
+ * the rollup proved). Returns `undefined` if the tx is not yet in a block/epoch or if the Outbox
129
+ * holds no root yet that covers the tx's checkpoint.
130
+ *
131
+ * @param node - The Aztec node to query for block/tx/epoch data.
132
+ * @param outboxOrRoots - Either an `OutboxRootsReader` (the helper will fetch the per-epoch roots),
133
+ * or an already-resolved roots array of length `MAX_CHECKPOINTS_PER_EPOCH`. Pass the array when
134
+ * you already read the outbox (e.g. inside a tight loop that resolves witnesses for many
135
+ * messages in the same epoch) to avoid redundant L1 reads.
136
+ * @param message - The L2 to L1 message hash to prove membership of.
137
+ * @param txHashOrReceipt - Either the tx hash, or the already-fetched `TxReceipt`. Passing the
138
+ * receipt skips an internal `getTxReceipt` call.
139
+ * @param messageIndexInTx - Optional index of the message within the transaction's L2-to-L1 messages.
140
+ * If not provided, the message is found by scanning the tx's messages (throws if duplicates exist).
141
+ */
142
+ export declare function computeL2ToL1MembershipWitness(node: Pick<AztecNode, 'getL2ToL1Messages' | 'getTxReceipt' | 'getBlock' | 'getCheckpointsData'>, outboxOrRoots: OutboxRootsReader | Fr[], message: Fr, txHashOrReceipt: TxHash | Pick<TxReceipt, 'txHash' | 'epochNumber' | 'blockNumber' | 'txIndexInBlock'>, messageIndexInTx?: number): Promise<L2ToL1MembershipWitness | undefined>;
143
+ /**
144
+ * Computes a membership witness for a message in the epoch's L2-to-L1 message tree, given explicit position indices.
145
+ *
146
+ * @param messagesInEpoch - All L2-to-L1 messages in the epoch, organized as checkpoints → blocks → txs → messages.
147
+ * @param message - The message hash to prove membership of.
148
+ * @param checkpointIndex - Index of the checkpoint within the epoch's message array.
149
+ * @param blockIndex - Index of the block within the checkpoint.
150
+ * @param txIndex - Index of the transaction within the block.
151
+ * @param messageIndexInTx - Optional index of the message within the transaction's messages.
152
+ * If not provided, the message is found by scanning (throws if duplicates exist within the tx).
153
+ */
154
+ /** @internal Exported for testing only. */
155
+ export declare function computeL2ToL1MembershipWitnessFromMessagesInEpoch(messagesInEpoch: Fr[][][][], message: Fr, checkpointIndex: number, blockIndex: number, txIndex: number, messageIndexInTx?: number): {
91
156
  root: Fr;
92
157
  leafIndex: bigint;
93
158
  siblingPath: SiblingPath<number>;
94
159
  };
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==
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdG9fbDFfbWVtYmVyc2hpcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lc3NhZ2luZy9sMl90b19sMV9tZW1iZXJzaGlwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBcUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBNEQsTUFBTSx5QkFBeUIsQ0FBQztBQUVoSCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRDs7OztHQUlHO0FBQ0gsTUFBTSxXQUFXLGlCQUFpQjtJQUNoQzs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLEtBQUssRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Q0FDN0M7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0VHO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0Isc0JBQXNCLENBQ3BDLGlCQUFpQixFQUFFLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEdBQUcsYUFBYSxDQUFDLEdBQzVFLE1BQU0sQ0FFUjtBQUVELE1BQU0sTUFBTSx1QkFBdUIsR0FBRztJQUNwQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCOzs7O09BSUc7SUFDSCxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztDQUNsQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILGVBQU8sTUFBTSw2QkFBNkIseUdBTVMsQ0FBQztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FDbEQsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLEdBQUcsY0FBYyxHQUFHLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxFQUMvRixhQUFhLEVBQUUsaUJBQWlCLEdBQUcsRUFBRSxFQUFFLEVBQ3ZDLE9BQU8sRUFBRSxFQUFFLEVBQ1gsZUFBZSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsR0FBRyxhQUFhLEdBQUcsYUFBYSxHQUFHLGdCQUFnQixDQUFDLEVBQ3RHLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxHQUN4QixPQUFPLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxDQUFDLENBZ0U5QztBQWdCRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsMkNBQTJDO0FBQzNDLHdCQUFnQixpREFBaUQsQ0FDL0QsZUFBZSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUMzQixPQUFPLEVBQUUsRUFBRSxFQUNYLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEdBQ3hCO0lBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0NBQUUsQ0FvRW5FIn0=