@aztec/stdlib 0.0.0-test.1 → 0.0.1-commit.b655e406

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 (1341) hide show
  1. package/dest/abi/abi.d.ts +316 -323
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +71 -37
  4. package/dest/abi/authorization_selector.d.ts +52 -0
  5. package/dest/abi/authorization_selector.d.ts.map +1 -0
  6. package/dest/abi/authorization_selector.js +70 -0
  7. package/dest/abi/buffer.d.ts +0 -2
  8. package/dest/abi/buffer.d.ts.map +1 -1
  9. package/dest/abi/contract_artifact.d.ts +17 -4
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +76 -53
  12. package/dest/abi/decoder.d.ts +1 -1
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +8 -10
  15. package/dest/abi/encoder.d.ts.map +1 -1
  16. package/dest/abi/encoder.js +68 -2
  17. package/dest/abi/event_metadata_definition.d.ts +8 -0
  18. package/dest/abi/event_metadata_definition.d.ts.map +1 -0
  19. package/dest/abi/event_selector.d.ts +0 -2
  20. package/dest/abi/event_selector.d.ts.map +1 -1
  21. package/dest/abi/function_call.d.ts +7 -2
  22. package/dest/abi/function_call.d.ts.map +1 -1
  23. package/dest/abi/function_call.js +6 -2
  24. package/dest/abi/function_selector.d.ts +0 -2
  25. package/dest/abi/function_selector.d.ts.map +1 -1
  26. package/dest/abi/index.d.ts +2 -0
  27. package/dest/abi/index.d.ts.map +1 -1
  28. package/dest/abi/index.js +2 -0
  29. package/dest/abi/note_selector.d.ts +0 -2
  30. package/dest/abi/note_selector.d.ts.map +1 -1
  31. package/dest/abi/selector.d.ts +0 -3
  32. package/dest/abi/selector.d.ts.map +1 -1
  33. package/dest/abi/utils.d.ts +6 -2
  34. package/dest/abi/utils.d.ts.map +1 -1
  35. package/dest/abi/utils.js +7 -0
  36. package/dest/auth_witness/auth_witness.d.ts +22 -3
  37. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  38. package/dest/auth_witness/auth_witness.js +29 -0
  39. package/dest/avm/avm.d.ts +8446 -2091
  40. package/dest/avm/avm.d.ts.map +1 -1
  41. package/dest/avm/avm.js +371 -131
  42. package/dest/avm/avm_accumulated_data.d.ts +78 -20
  43. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  44. package/dest/avm/avm_accumulated_data.js +91 -11
  45. package/dest/avm/avm_circuit_public_inputs.d.ts +276 -216
  46. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.js +60 -9
  48. package/dest/avm/avm_proving_request.d.ts +4119 -1161
  49. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  50. package/dest/avm/contract_storage_read.d.ts +1 -3
  51. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  52. package/dest/avm/contract_storage_update_request.d.ts +1 -3
  53. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  54. package/dest/avm/index.d.ts +1 -1
  55. package/dest/avm/index.d.ts.map +1 -1
  56. package/dest/avm/index.js +1 -1
  57. package/dest/avm/message_pack.d.ts +1 -2
  58. package/dest/avm/message_pack.d.ts.map +1 -1
  59. package/dest/avm/message_pack.js +36 -6
  60. package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
  61. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  62. package/dest/avm/public_data_read.d.ts +1 -3
  63. package/dest/avm/public_data_read.d.ts.map +1 -1
  64. package/dest/avm/public_data_update_request.d.ts +1 -4
  65. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  66. package/dest/avm/public_data_write.d.ts +5 -3
  67. package/dest/avm/public_data_write.d.ts.map +1 -1
  68. package/dest/avm/public_data_write.js +22 -1
  69. package/dest/avm/public_inner_call_request.d.ts +1 -4
  70. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  71. package/dest/avm/public_inner_call_request.js +1 -1
  72. package/dest/avm/revert_code.d.ts +0 -3
  73. package/dest/avm/revert_code.d.ts.map +1 -1
  74. package/dest/aztec-address/index.d.ts +1 -4
  75. package/dest/aztec-address/index.d.ts.map +1 -1
  76. package/dest/block/attestation_info.d.ts +30 -0
  77. package/dest/block/attestation_info.d.ts.map +1 -0
  78. package/dest/block/attestation_info.js +39 -0
  79. package/dest/block/block_hash.d.ts +5 -3
  80. package/dest/block/block_hash.d.ts.map +1 -1
  81. package/dest/block/block_hash.js +11 -0
  82. package/dest/block/body.d.ts +7 -6
  83. package/dest/block/body.d.ts.map +1 -1
  84. package/dest/block/body.js +26 -27
  85. package/dest/block/in_block.d.ts +12 -11
  86. package/dest/block/in_block.d.ts.map +1 -1
  87. package/dest/block/in_block.js +4 -4
  88. package/dest/block/index.d.ts +7 -2
  89. package/dest/block/index.d.ts.map +1 -1
  90. package/dest/block/index.js +7 -2
  91. package/dest/block/l2_block.d.ts +24 -23
  92. package/dest/block/l2_block.d.ts.map +1 -1
  93. package/dest/block/l2_block.js +55 -49
  94. package/dest/block/l2_block_code_to_purge.d.ts +4 -16
  95. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  96. package/dest/block/l2_block_code_to_purge.js +26 -17
  97. package/dest/block/l2_block_header.d.ts +100 -0
  98. package/dest/block/l2_block_header.d.ts.map +1 -0
  99. package/dest/block/l2_block_header.js +146 -0
  100. package/dest/block/l2_block_info.d.ts +41 -0
  101. package/dest/block/l2_block_info.d.ts.map +1 -0
  102. package/dest/block/l2_block_info.js +40 -0
  103. package/dest/block/l2_block_source.d.ts +84 -15
  104. package/dest/block/l2_block_source.d.ts.map +1 -1
  105. package/dest/block/l2_block_source.js +11 -0
  106. package/dest/block/l2_block_stream/index.d.ts +4 -0
  107. package/dest/block/l2_block_stream/index.d.ts.map +1 -0
  108. package/dest/block/l2_block_stream/index.js +3 -0
  109. package/dest/block/l2_block_stream/interfaces.d.ts +26 -0
  110. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -0
  111. package/dest/block/l2_block_stream/interfaces.js +1 -0
  112. package/dest/block/l2_block_stream/l2_block_stream.d.ts +35 -0
  113. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -0
  114. package/dest/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.js +70 -19
  115. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +18 -0
  116. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -0
  117. package/dest/block/l2_block_stream/l2_tips_memory_store.js +70 -0
  118. package/dest/block/proposal/attestations_and_signers.d.ts +48 -0
  119. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
  120. package/dest/block/proposal/attestations_and_signers.js +99 -0
  121. package/dest/block/proposal/committee_attestation.d.ts +36 -0
  122. package/dest/block/proposal/committee_attestation.d.ts.map +1 -0
  123. package/dest/block/proposal/committee_attestation.js +101 -0
  124. package/dest/block/proposal/index.d.ts +3 -0
  125. package/dest/block/proposal/index.d.ts.map +1 -0
  126. package/dest/block/proposal/index.js +2 -0
  127. package/dest/block/published_l2_block.d.ts +143 -0
  128. package/dest/block/published_l2_block.d.ts.map +1 -0
  129. package/dest/block/published_l2_block.js +63 -0
  130. package/dest/block/test/index.d.ts +2 -0
  131. package/dest/block/test/index.d.ts.map +1 -0
  132. package/dest/block/test/index.js +1 -0
  133. package/dest/block/test/l2_tips_store_test_suite.d.ts +3 -0
  134. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -0
  135. package/dest/block/test/l2_tips_store_test_suite.js +106 -0
  136. package/dest/block/validate_block_result.d.ts +222 -0
  137. package/dest/block/validate_block_result.d.ts.map +1 -0
  138. package/dest/block/validate_block_result.js +83 -0
  139. package/dest/checkpoint/checkpoint_body.d.ts +4 -0
  140. package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
  141. package/dest/checkpoint/checkpoint_body.js +9 -0
  142. package/dest/checkpoint/index.d.ts +2 -0
  143. package/dest/checkpoint/index.d.ts.map +1 -0
  144. package/dest/checkpoint/index.js +1 -0
  145. package/dest/config/{config.d.ts → chain-config.d.ts} +5 -4
  146. package/dest/config/chain-config.d.ts.map +1 -0
  147. package/dest/config/{config.js → chain-config.js} +4 -5
  148. package/dest/config/index.d.ts +2 -1
  149. package/dest/config/index.d.ts.map +1 -1
  150. package/dest/config/index.js +2 -1
  151. package/dest/config/node-rpc-config.d.ts +13 -0
  152. package/dest/config/node-rpc-config.d.ts.map +1 -0
  153. package/dest/config/node-rpc-config.js +24 -0
  154. package/dest/contract/artifact_hash.d.ts +6 -8
  155. package/dest/contract/artifact_hash.d.ts.map +1 -1
  156. package/dest/contract/artifact_hash.js +11 -10
  157. package/dest/contract/complete_address.d.ts +0 -2
  158. package/dest/contract/complete_address.d.ts.map +1 -1
  159. package/dest/contract/contract_address.d.ts +1 -1
  160. package/dest/contract/contract_address.js +1 -1
  161. package/dest/contract/contract_class.d.ts.map +1 -1
  162. package/dest/contract/contract_class.js +3 -19
  163. package/dest/contract/contract_class_id.d.ts +0 -2
  164. package/dest/contract/contract_class_id.d.ts.map +1 -1
  165. package/dest/contract/contract_class_id.js +6 -4
  166. package/dest/contract/contract_class_metadata.d.ts +8 -0
  167. package/dest/contract/contract_class_metadata.d.ts.map +1 -0
  168. package/dest/contract/contract_class_metadata.js +1 -0
  169. package/dest/contract/contract_instance.d.ts +13 -14
  170. package/dest/contract/contract_instance.d.ts.map +1 -1
  171. package/dest/contract/contract_instance.js +7 -7
  172. package/dest/contract/contract_instance_update.d.ts +3 -4
  173. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  174. package/dest/contract/contract_instance_update.js +6 -6
  175. package/dest/contract/contract_metadata.d.ts +7 -0
  176. package/dest/contract/contract_metadata.d.ts.map +1 -0
  177. package/dest/contract/contract_metadata.js +1 -0
  178. package/dest/contract/index.d.ts +3 -1
  179. package/dest/contract/index.d.ts.map +1 -1
  180. package/dest/contract/index.js +3 -1
  181. package/dest/contract/interfaces/contract_class.d.ts +46 -186
  182. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  183. package/dest/contract/interfaces/contract_class.js +4 -9
  184. package/dest/contract/interfaces/contract_data_source.d.ts +10 -18
  185. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  186. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  187. package/dest/contract/interfaces/contract_instance_update.d.ts +9 -8
  188. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_instance_update.js +1 -1
  190. package/dest/contract/interfaces/node-info.d.ts +2 -2
  191. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  192. package/dest/contract/interfaces/node-info.js +1 -1
  193. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +9 -9
  194. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  195. package/dest/contract/interfaces/protocol_contract_addresses.js +4 -4
  196. package/dest/contract/private_function.d.ts +0 -2
  197. package/dest/contract/private_function.d.ts.map +1 -1
  198. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  199. package/dest/contract/private_function_membership_proof.js +7 -7
  200. package/dest/contract/utility_function_membership_proof.d.ts +27 -0
  201. package/dest/contract/utility_function_membership_proof.d.ts.map +1 -0
  202. package/dest/contract/{unconstrained_function_membership_proof.js → utility_function_membership_proof.js} +13 -13
  203. package/dest/database-version/version_manager.d.ts +29 -10
  204. package/dest/database-version/version_manager.d.ts.map +1 -1
  205. package/dest/database-version/version_manager.js +42 -21
  206. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +20 -0
  207. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -0
  208. package/dest/{shared_mutable/shared_mutable_values.js → delayed_public_mutable/delayed_public_mutable_values.js} +16 -16
  209. package/dest/{shared_mutable/shared_mutable_values_with_hash.d.ts → delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts} +6 -6
  210. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -0
  211. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +30 -0
  212. package/dest/delayed_public_mutable/index.d.ts +5 -0
  213. package/dest/delayed_public_mutable/index.d.ts.map +1 -0
  214. package/dest/delayed_public_mutable/index.js +4 -0
  215. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +10 -0
  216. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -0
  217. package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.js +5 -5
  218. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +12 -0
  219. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -0
  220. package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.js +7 -7
  221. package/dest/epoch-helpers/index.d.ts +24 -2
  222. package/dest/epoch-helpers/index.d.ts.map +1 -1
  223. package/dest/epoch-helpers/index.js +32 -2
  224. package/dest/errors/proving_error.d.ts.map +1 -1
  225. package/dest/errors/simulation_error.d.ts.map +1 -1
  226. package/dest/errors/simulation_error.js +2 -2
  227. package/dest/fees/transaction_fee.d.ts +5 -0
  228. package/dest/fees/transaction_fee.d.ts.map +1 -1
  229. package/dest/fees/transaction_fee.js +15 -5
  230. package/dest/file-store/factory.d.ts +7 -0
  231. package/dest/file-store/factory.d.ts.map +1 -0
  232. package/dest/file-store/factory.js +64 -0
  233. package/dest/file-store/gcs.d.ts +20 -0
  234. package/dest/file-store/gcs.d.ts.map +1 -0
  235. package/dest/file-store/gcs.js +115 -0
  236. package/dest/file-store/http.d.ts +14 -0
  237. package/dest/file-store/http.d.ts.map +1 -0
  238. package/dest/file-store/http.js +69 -0
  239. package/dest/file-store/index.d.ts +3 -0
  240. package/dest/file-store/index.d.ts.map +1 -0
  241. package/dest/file-store/index.js +2 -0
  242. package/dest/file-store/interface.d.ts +28 -0
  243. package/dest/file-store/interface.d.ts.map +1 -0
  244. package/dest/file-store/interface.js +1 -0
  245. package/dest/file-store/local.d.ts +14 -0
  246. package/dest/file-store/local.d.ts.map +1 -0
  247. package/dest/file-store/local.js +40 -0
  248. package/dest/file-store/s3.d.ts +26 -0
  249. package/dest/file-store/s3.d.ts.map +1 -0
  250. package/dest/file-store/s3.js +252 -0
  251. package/dest/gas/gas.d.ts +2 -4
  252. package/dest/gas/gas.d.ts.map +1 -1
  253. package/dest/gas/gas.js +4 -1
  254. package/dest/gas/gas_fees.d.ts +16 -18
  255. package/dest/gas/gas_fees.d.ts.map +1 -1
  256. package/dest/gas/gas_fees.js +17 -18
  257. package/dest/gas/gas_settings.d.ts +25 -27
  258. package/dest/gas/gas_settings.d.ts.map +1 -1
  259. package/dest/gas/gas_settings.js +6 -6
  260. package/dest/hash/hash.d.ts +27 -7
  261. package/dest/hash/hash.d.ts.map +1 -1
  262. package/dest/hash/hash.js +36 -24
  263. package/dest/interfaces/allowed_element.d.ts +53 -0
  264. package/dest/interfaces/allowed_element.d.ts.map +1 -0
  265. package/dest/interfaces/allowed_element.js +18 -0
  266. package/dest/interfaces/api_limit.d.ts +4 -0
  267. package/dest/interfaces/api_limit.d.ts.map +1 -0
  268. package/dest/interfaces/api_limit.js +3 -0
  269. package/dest/interfaces/archiver.d.ts +44 -2
  270. package/dest/interfaces/archiver.d.ts.map +1 -1
  271. package/dest/interfaces/archiver.js +33 -15
  272. package/dest/interfaces/aztec-node-admin.d.ts +289 -0
  273. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -0
  274. package/dest/interfaces/aztec-node-admin.js +37 -0
  275. package/dest/interfaces/aztec-node.d.ts +93 -79
  276. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  277. package/dest/interfaces/aztec-node.js +43 -32
  278. package/dest/interfaces/block-builder.d.ts +40 -4
  279. package/dest/interfaces/block-builder.d.ts.map +1 -1
  280. package/dest/interfaces/block-builder.js +1 -1
  281. package/dest/interfaces/client.d.ts +2 -1
  282. package/dest/interfaces/client.d.ts.map +1 -1
  283. package/dest/interfaces/client.js +2 -1
  284. package/dest/interfaces/configs.d.ts +59 -34
  285. package/dest/interfaces/configs.d.ts.map +1 -1
  286. package/dest/interfaces/configs.js +11 -18
  287. package/dest/interfaces/epoch-prover.d.ts +34 -15
  288. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  289. package/dest/interfaces/get_logs_response.d.ts +1 -1
  290. package/dest/interfaces/l2_logs_source.d.ts +2 -1
  291. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  292. package/dest/interfaces/merkle_tree_operations.d.ts +26 -10
  293. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  294. package/dest/interfaces/p2p.d.ts +15 -3
  295. package/dest/interfaces/p2p.d.ts.map +1 -1
  296. package/dest/interfaces/p2p.js +6 -2
  297. package/dest/interfaces/private_kernel_prover.d.ts +5 -6
  298. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  299. package/dest/interfaces/prover-agent.d.ts +31 -6
  300. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  301. package/dest/interfaces/prover-agent.js +15 -6
  302. package/dest/interfaces/prover-client.d.ts +5 -5
  303. package/dest/interfaces/prover-client.d.ts.map +1 -1
  304. package/dest/interfaces/prover-client.js +8 -6
  305. package/dest/interfaces/prover-coordination.d.ts +4 -9
  306. package/dest/interfaces/prover-coordination.d.ts.map +1 -1
  307. package/dest/interfaces/prover-coordination.js +1 -7
  308. package/dest/interfaces/prover-node.d.ts +5 -2
  309. package/dest/interfaces/prover-node.d.ts.map +1 -1
  310. package/dest/interfaces/prover-node.js +8 -3
  311. package/dest/interfaces/proving-job.d.ts +4422 -1342
  312. package/dest/interfaces/proving-job.d.ts.map +1 -1
  313. package/dest/interfaces/proving-job.js +136 -105
  314. package/dest/interfaces/public_state_source.d.ts +8 -0
  315. package/dest/interfaces/public_state_source.d.ts.map +1 -0
  316. package/dest/interfaces/public_state_source.js +1 -0
  317. package/dest/interfaces/server.d.ts +11 -5
  318. package/dest/interfaces/server.d.ts.map +1 -1
  319. package/dest/interfaces/server.js +11 -5
  320. package/dest/interfaces/server_circuit_prover.d.ts +46 -34
  321. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  322. package/dest/interfaces/service.d.ts +3 -2
  323. package/dest/interfaces/service.d.ts.map +1 -1
  324. package/dest/interfaces/slasher.d.ts +86 -0
  325. package/dest/interfaces/slasher.d.ts.map +1 -0
  326. package/dest/interfaces/slasher.js +23 -0
  327. package/dest/interfaces/tx_provider.d.ts +24 -0
  328. package/dest/interfaces/tx_provider.d.ts.map +1 -0
  329. package/dest/interfaces/tx_provider.js +1 -0
  330. package/dest/interfaces/validator.d.ts +163 -0
  331. package/dest/interfaces/validator.d.ts.map +1 -0
  332. package/dest/interfaces/validator.js +18 -0
  333. package/dest/interfaces/world_state.d.ts +23 -21
  334. package/dest/interfaces/world_state.d.ts.map +1 -1
  335. package/dest/interfaces/world_state.js +1 -1
  336. package/dest/kernel/claimed_length_array.d.ts +34 -0
  337. package/dest/kernel/claimed_length_array.d.ts.map +1 -0
  338. package/dest/kernel/claimed_length_array.js +58 -0
  339. package/dest/kernel/hiding_kernel_private_inputs.d.ts +19 -0
  340. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -0
  341. package/dest/kernel/hiding_kernel_private_inputs.js +34 -0
  342. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -6
  343. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  344. package/dest/kernel/hints/build_note_hash_read_request_hints.js +18 -20
  345. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +10 -12
  346. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  347. package/dest/kernel/hints/build_nullifier_read_request_hints.js +17 -32
  348. package/dest/kernel/hints/build_transient_data_hints.d.ts +4 -3
  349. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  350. package/dest/kernel/hints/build_transient_data_hints.js +9 -10
  351. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
  352. package/dest/kernel/hints/index.d.ts +1 -2
  353. package/dest/kernel/hints/index.d.ts.map +1 -1
  354. package/dest/kernel/hints/index.js +1 -2
  355. package/dest/kernel/hints/key_validation_hint.d.ts +3 -9
  356. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  357. package/dest/kernel/hints/key_validation_hint.js +5 -7
  358. package/dest/kernel/hints/key_validation_request.d.ts +1 -3
  359. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  360. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -3
  361. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  362. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +0 -2
  363. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  364. package/dest/kernel/hints/note_hash_read_request_hints.js +4 -4
  365. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -5
  366. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  367. package/dest/kernel/hints/nullifier_read_request_hints.js +4 -4
  368. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +9 -11
  369. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  370. package/dest/kernel/hints/private_kernel_reset_hints.js +13 -9
  371. package/dest/kernel/hints/read_request.d.ts +0 -2
  372. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  373. package/dest/kernel/hints/read_request_hints.d.ts +29 -31
  374. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  375. package/dest/kernel/hints/read_request_hints.js +28 -28
  376. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -3
  377. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  378. package/dest/kernel/hints/{transient_data_index_hint.d.ts → transient_data_squashing_hint.d.ts} +5 -8
  379. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -0
  380. package/dest/kernel/hints/{transient_data_index_hint.js → transient_data_squashing_hint.js} +5 -5
  381. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -2
  382. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  383. package/dest/kernel/index.d.ts +4 -2
  384. package/dest/kernel/index.d.ts.map +1 -1
  385. package/dest/kernel/index.js +4 -2
  386. package/dest/kernel/log_hash.d.ts +27 -9
  387. package/dest/kernel/log_hash.d.ts.map +1 -1
  388. package/dest/kernel/log_hash.js +72 -13
  389. package/dest/kernel/note_hash.d.ts +0 -2
  390. package/dest/kernel/note_hash.d.ts.map +1 -1
  391. package/dest/kernel/nullifier.d.ts +2 -4
  392. package/dest/kernel/nullifier.d.ts.map +1 -1
  393. package/dest/kernel/nullifier.js +11 -11
  394. package/dest/kernel/padded_side_effects.d.ts +26 -0
  395. package/dest/kernel/padded_side_effects.d.ts.map +1 -0
  396. package/dest/kernel/padded_side_effects.js +51 -0
  397. package/dest/kernel/private_accumulated_data.d.ts +19 -20
  398. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  399. package/dest/kernel/private_accumulated_data.js +5 -5
  400. package/dest/kernel/private_call_data.d.ts +8 -30
  401. package/dest/kernel/private_call_data.d.ts.map +1 -1
  402. package/dest/kernel/private_call_data.js +6 -18
  403. package/dest/kernel/private_call_request.d.ts +1 -3
  404. package/dest/kernel/private_call_request.d.ts.map +1 -1
  405. package/dest/kernel/private_call_request.js +1 -1
  406. package/dest/kernel/private_circuit_public_inputs.d.ts +35 -36
  407. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  408. package/dest/kernel/private_circuit_public_inputs.js +45 -27
  409. package/dest/kernel/private_context_inputs.d.ts +2 -2
  410. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  411. package/dest/kernel/private_context_inputs.js +4 -4
  412. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +14 -7
  413. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  414. package/dest/kernel/private_kernel_circuit_public_inputs.js +9 -5
  415. package/dest/kernel/private_kernel_data.d.ts +7 -28
  416. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  417. package/dest/kernel/private_kernel_data.js +10 -21
  418. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +6 -7
  419. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  420. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  421. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -3
  422. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  423. package/dest/kernel/private_kernel_prover_output.d.ts +79 -0
  424. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -0
  425. package/dest/kernel/private_kernel_prover_output.js +28 -0
  426. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +9 -8
  427. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  428. package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +10 -6
  429. package/dest/kernel/private_kernel_reset_dimensions.d.ts +11 -13
  430. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  431. package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
  432. package/dest/kernel/private_kernel_simulated_output.d.ts +6 -12
  433. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  434. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +20 -4
  435. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  436. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +14 -6
  437. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +20 -12
  438. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  439. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +28 -21
  440. package/dest/kernel/private_log_data.d.ts +1 -4
  441. package/dest/kernel/private_log_data.d.ts.map +1 -1
  442. package/dest/kernel/private_log_data.js +4 -2
  443. package/dest/kernel/private_to_avm_accumulated_data.d.ts +4 -13
  444. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  445. package/dest/kernel/private_to_avm_accumulated_data.js +11 -0
  446. package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -5
  447. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  448. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -7
  449. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  450. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +16 -10
  451. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +3 -6
  452. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  453. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +13 -15
  454. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  455. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +11 -12
  456. package/dest/kernel/private_validation_requests.d.ts +9 -24
  457. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  458. package/dest/kernel/private_validation_requests.js +10 -22
  459. package/dest/kernel/public_call_request.d.ts +70 -24
  460. package/dest/kernel/public_call_request.d.ts.map +1 -1
  461. package/dest/kernel/public_call_request.js +77 -20
  462. package/dest/kernel/utils/optional_number.d.ts +1 -3
  463. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  464. package/dest/kernel/utils/order_and_comparison.d.ts +0 -3
  465. package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -1
  466. package/dest/kernel/utils/order_and_comparison.js +0 -19
  467. package/dest/keys/derivation.d.ts +0 -2
  468. package/dest/keys/derivation.d.ts.map +1 -1
  469. package/dest/keys/derivation.js +2 -15
  470. package/dest/keys/public_keys.d.ts +0 -2
  471. package/dest/keys/public_keys.d.ts.map +1 -1
  472. package/dest/keys/public_keys.js +0 -1
  473. package/dest/l1-contracts/index.d.ts +2 -0
  474. package/dest/l1-contracts/index.d.ts.map +1 -0
  475. package/dest/l1-contracts/index.js +1 -0
  476. package/dest/l1-contracts/slash_factory.d.ts +44 -0
  477. package/dest/l1-contracts/slash_factory.d.ts.map +1 -0
  478. package/dest/l1-contracts/slash_factory.js +157 -0
  479. package/dest/logs/contract_class_log.d.ts +54 -16
  480. package/dest/logs/contract_class_log.d.ts.map +1 -1
  481. package/dest/logs/contract_class_log.js +110 -79
  482. package/dest/logs/debug_log.d.ts +13 -0
  483. package/dest/logs/debug_log.d.ts.map +1 -0
  484. package/dest/logs/debug_log.js +26 -0
  485. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  486. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  487. package/dest/logs/directional_app_tagging_secret.js +63 -0
  488. package/dest/logs/extended_contract_class_log.d.ts +0 -2
  489. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  490. package/dest/logs/extended_public_log.d.ts +1 -3
  491. package/dest/logs/extended_public_log.d.ts.map +1 -1
  492. package/dest/logs/index.d.ts +6 -2
  493. package/dest/logs/index.d.ts.map +1 -1
  494. package/dest/logs/index.js +6 -2
  495. package/dest/logs/log_id.d.ts +0 -2
  496. package/dest/logs/log_id.d.ts.map +1 -1
  497. package/dest/logs/log_with_tx_data.d.ts +12 -4
  498. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  499. package/dest/logs/log_with_tx_data.js +23 -10
  500. package/dest/logs/message_context.d.ts +29 -0
  501. package/dest/logs/message_context.d.ts.map +1 -0
  502. package/dest/logs/message_context.js +56 -0
  503. package/dest/logs/pending_tagged_log.d.ts +14 -0
  504. package/dest/logs/pending_tagged_log.d.ts.map +1 -0
  505. package/dest/logs/pending_tagged_log.js +34 -0
  506. package/dest/logs/pre_tag.d.ts +34 -0
  507. package/dest/logs/pre_tag.d.ts.map +1 -0
  508. package/dest/logs/pre_tag.js +7 -0
  509. package/dest/logs/private_log.d.ts +16 -8
  510. package/dest/logs/private_log.d.ts.map +1 -1
  511. package/dest/logs/private_log.js +50 -22
  512. package/dest/logs/public_log.d.ts +26 -12
  513. package/dest/logs/public_log.d.ts.map +1 -1
  514. package/dest/logs/public_log.js +128 -34
  515. package/dest/logs/{l1_payload/shared_secret_derivation.d.ts → shared_secret_derivation.d.ts} +4 -3
  516. package/dest/logs/shared_secret_derivation.d.ts.map +1 -0
  517. package/dest/logs/{l1_payload/shared_secret_derivation.js → shared_secret_derivation.js} +5 -9
  518. package/dest/logs/tx_scoped_l2_log.d.ts +28 -33
  519. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  520. package/dest/logs/tx_scoped_l2_log.js +36 -19
  521. package/dest/messaging/inbox_leaf.d.ts +8 -3
  522. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  523. package/dest/messaging/inbox_leaf.js +16 -2
  524. package/dest/messaging/index.d.ts +1 -0
  525. package/dest/messaging/index.d.ts.map +1 -1
  526. package/dest/messaging/index.js +1 -0
  527. package/dest/messaging/l1_actor.d.ts +0 -2
  528. package/dest/messaging/l1_actor.d.ts.map +1 -1
  529. package/dest/messaging/l1_to_l2_message.d.ts +0 -2
  530. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  531. package/dest/messaging/l1_to_l2_message_source.d.ts +6 -1
  532. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  533. package/dest/messaging/l2_actor.d.ts +0 -2
  534. package/dest/messaging/l2_actor.d.ts.map +1 -1
  535. package/dest/messaging/l2_to_l1_membership.d.ts +14 -0
  536. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -0
  537. package/dest/messaging/l2_to_l1_membership.js +63 -0
  538. package/dest/messaging/l2_to_l1_message.d.ts +110 -18
  539. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  540. package/dest/messaging/l2_to_l1_message.js +83 -37
  541. package/dest/noir/index.d.ts +19 -2
  542. package/dest/noir/index.d.ts.map +1 -1
  543. package/dest/noir/index.js +1 -0
  544. package/dest/note/index.d.ts +1 -1
  545. package/dest/note/index.d.ts.map +1 -1
  546. package/dest/note/index.js +1 -1
  547. package/dest/note/note.d.ts +39 -6
  548. package/dest/note/note.d.ts.map +1 -1
  549. package/dest/note/note.js +51 -4
  550. package/dest/note/notes_filter.d.ts +5 -7
  551. package/dest/note/notes_filter.d.ts.map +1 -1
  552. package/dest/note/notes_filter.js +1 -4
  553. package/dest/note/unique_note.d.ts +43 -0
  554. package/dest/note/unique_note.d.ts.map +1 -0
  555. package/dest/note/unique_note.js +67 -0
  556. package/dest/p2p/attestation_utils.d.ts +10 -0
  557. package/dest/p2p/attestation_utils.d.ts.map +1 -0
  558. package/dest/p2p/attestation_utils.js +21 -0
  559. package/dest/p2p/block_attestation.d.ts +51 -13
  560. package/dest/p2p/block_attestation.d.ts.map +1 -1
  561. package/dest/p2p/block_attestation.js +45 -23
  562. package/dest/p2p/block_proposal.d.ts +26 -10
  563. package/dest/p2p/block_proposal.d.ts.map +1 -1
  564. package/dest/p2p/block_proposal.js +47 -20
  565. package/dest/p2p/consensus_payload.d.ts +216 -20
  566. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  567. package/dest/p2p/consensus_payload.js +47 -25
  568. package/dest/p2p/gossipable.d.ts +18 -17
  569. package/dest/p2p/gossipable.d.ts.map +1 -1
  570. package/dest/p2p/gossipable.js +35 -4
  571. package/dest/p2p/index.d.ts +1 -0
  572. package/dest/p2p/index.d.ts.map +1 -1
  573. package/dest/p2p/index.js +1 -0
  574. package/dest/p2p/interface.d.ts +0 -13
  575. package/dest/p2p/interface.d.ts.map +1 -1
  576. package/dest/p2p/interface.js +1 -19
  577. package/dest/p2p/signature_utils.d.ts +5 -6
  578. package/dest/p2p/signature_utils.d.ts.map +1 -1
  579. package/dest/p2p/signature_utils.js +5 -4
  580. package/dest/p2p/topic_type.d.ts +6 -9
  581. package/dest/p2p/topic_type.d.ts.map +1 -1
  582. package/dest/p2p/topic_type.js +35 -15
  583. package/dest/parity/index.d.ts +2 -3
  584. package/dest/parity/index.d.ts.map +1 -1
  585. package/dest/parity/index.js +2 -3
  586. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +9 -11
  587. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  588. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  589. package/dest/parity/parity_public_inputs.d.ts +2 -4
  590. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  591. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  592. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  593. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  594. package/dest/proofs/chonk_proof.d.ts +28 -0
  595. package/dest/proofs/chonk_proof.d.ts.map +1 -0
  596. package/dest/proofs/chonk_proof.js +101 -0
  597. package/dest/proofs/index.d.ts +2 -1
  598. package/dest/proofs/index.d.ts.map +1 -1
  599. package/dest/proofs/index.js +2 -1
  600. package/dest/proofs/proof.d.ts +5 -6
  601. package/dest/proofs/proof.d.ts.map +1 -1
  602. package/dest/proofs/proof.js +28 -20
  603. package/dest/proofs/proof_data.d.ts +21 -0
  604. package/dest/proofs/proof_data.d.ts.map +1 -0
  605. package/dest/proofs/proof_data.js +22 -0
  606. package/dest/proofs/proving_request_type.d.ts +17 -12
  607. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  608. package/dest/proofs/proving_request_type.js +17 -11
  609. package/dest/proofs/recursive_proof.d.ts +4 -6
  610. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  611. package/dest/rollup/avm_proof_data.d.ts +5 -15
  612. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  613. package/dest/rollup/avm_proof_data.js +8 -24
  614. package/dest/rollup/base_rollup_hints.d.ts +35 -36
  615. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  616. package/dest/rollup/base_rollup_hints.js +41 -40
  617. package/dest/rollup/block_constant_data.d.ts +51 -0
  618. package/dest/rollup/block_constant_data.d.ts.map +1 -0
  619. package/dest/rollup/block_constant_data.js +50 -0
  620. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +19 -14
  621. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  622. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  623. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  624. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  625. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  626. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  627. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  628. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  629. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  630. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  631. package/dest/rollup/checkpoint_constant_data.js +55 -0
  632. package/dest/rollup/checkpoint_header.d.ts +83 -0
  633. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  634. package/dest/rollup/checkpoint_header.js +154 -0
  635. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  636. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  637. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  638. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  639. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  640. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  641. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  642. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  643. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  644. package/dest/rollup/epoch_constant_data.d.ts +56 -0
  645. package/dest/rollup/epoch_constant_data.d.ts.map +1 -0
  646. package/dest/rollup/epoch_constant_data.js +53 -0
  647. package/dest/rollup/index.d.ts +19 -16
  648. package/dest/rollup/index.d.ts.map +1 -1
  649. package/dest/rollup/index.js +19 -16
  650. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  651. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  652. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  653. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
  654. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
  655. package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
  656. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
  657. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
  658. package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
  659. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  660. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  661. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  662. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  663. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  664. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  665. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  666. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  667. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  668. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -40
  669. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  670. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  671. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +13 -14
  672. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  673. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  674. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +19 -30
  675. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  676. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +16 -21
  677. package/dest/schemas/schemas.d.ts +6 -6
  678. package/dest/schemas/schemas.d.ts.map +1 -1
  679. package/dest/schemas/schemas.js +1 -0
  680. package/dest/slashing/empire.d.ts +31 -0
  681. package/dest/slashing/empire.d.ts.map +1 -0
  682. package/dest/slashing/empire.js +84 -0
  683. package/dest/slashing/helpers.d.ts +35 -0
  684. package/dest/slashing/helpers.d.ts.map +1 -0
  685. package/dest/slashing/helpers.js +89 -0
  686. package/dest/slashing/index.d.ts +7 -0
  687. package/dest/slashing/index.d.ts.map +1 -0
  688. package/dest/slashing/index.js +6 -0
  689. package/dest/slashing/interfaces.d.ts +11 -0
  690. package/dest/slashing/interfaces.d.ts.map +1 -0
  691. package/dest/slashing/interfaces.js +1 -0
  692. package/dest/slashing/serialization.d.ts +8 -0
  693. package/dest/slashing/serialization.d.ts.map +1 -0
  694. package/dest/slashing/serialization.js +78 -0
  695. package/dest/slashing/tally.d.ts +23 -0
  696. package/dest/slashing/tally.d.ts.map +1 -0
  697. package/dest/slashing/tally.js +60 -0
  698. package/dest/slashing/types.d.ts +162 -0
  699. package/dest/slashing/types.d.ts.map +1 -0
  700. package/dest/slashing/types.js +88 -0
  701. package/dest/snapshots/download.d.ts +9 -0
  702. package/dest/snapshots/download.d.ts.map +1 -0
  703. package/dest/snapshots/download.js +93 -0
  704. package/dest/snapshots/index.d.ts +4 -0
  705. package/dest/snapshots/index.d.ts.map +1 -0
  706. package/dest/snapshots/index.js +3 -0
  707. package/dest/snapshots/types.d.ts +120 -0
  708. package/dest/snapshots/types.d.ts.map +1 -0
  709. package/dest/snapshots/types.js +35 -0
  710. package/dest/snapshots/upload.d.ts +8 -0
  711. package/dest/snapshots/upload.d.ts.map +1 -0
  712. package/dest/snapshots/upload.js +42 -0
  713. package/dest/stats/stats.d.ts +9 -9
  714. package/dest/stats/stats.d.ts.map +1 -1
  715. package/dest/tests/factories.d.ts +81 -104
  716. package/dest/tests/factories.d.ts.map +1 -1
  717. package/dest/tests/factories.js +386 -303
  718. package/dest/tests/mocks.d.ts +33 -13
  719. package/dest/tests/mocks.d.ts.map +1 -1
  720. package/dest/tests/mocks.js +116 -82
  721. package/dest/trees/append_only_tree_snapshot.d.ts +7 -6
  722. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  723. package/dest/trees/append_only_tree_snapshot.js +17 -2
  724. package/dest/trees/database_public_state_source.d.ts +11 -0
  725. package/dest/trees/database_public_state_source.d.ts.map +1 -0
  726. package/dest/trees/database_public_state_source.js +18 -0
  727. package/dest/trees/index.d.ts +1 -1
  728. package/dest/trees/index.d.ts.map +1 -1
  729. package/dest/trees/index.js +1 -1
  730. package/dest/trees/merkle_tree_id.d.ts +12 -4
  731. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  732. package/dest/trees/merkle_tree_id.js +10 -0
  733. package/dest/trees/nullifier_leaf.d.ts +49 -17
  734. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  735. package/dest/trees/nullifier_leaf.js +45 -22
  736. package/dest/trees/nullifier_membership_witness.d.ts +41 -22
  737. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  738. package/dest/trees/nullifier_membership_witness.js +14 -1
  739. package/dest/trees/public_data_leaf.d.ts +60 -28
  740. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  741. package/dest/trees/public_data_leaf.js +41 -30
  742. package/dest/trees/public_data_witness.d.ts +47 -30
  743. package/dest/trees/public_data_witness.d.ts.map +1 -1
  744. package/dest/trees/public_data_witness.js +20 -4
  745. package/dest/tx/block_header.d.ts +15 -17
  746. package/dest/tx/block_header.d.ts.map +1 -1
  747. package/dest/tx/block_header.js +20 -19
  748. package/dest/tx/call_context.d.ts +1 -4
  749. package/dest/tx/call_context.d.ts.map +1 -1
  750. package/dest/tx/capsule.d.ts +3 -3
  751. package/dest/tx/capsule.d.ts.map +1 -1
  752. package/dest/tx/capsule.js +2 -0
  753. package/dest/tx/content_commitment.d.ts +24 -81
  754. package/dest/tx/content_commitment.d.ts.map +1 -1
  755. package/dest/tx/content_commitment.js +39 -53
  756. package/dest/tx/function_data.d.ts +0 -2
  757. package/dest/tx/function_data.d.ts.map +1 -1
  758. package/dest/tx/global_variable_builder.d.ts +2 -2
  759. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  760. package/dest/tx/global_variables.d.ts +29 -31
  761. package/dest/tx/global_variables.d.ts.map +1 -1
  762. package/dest/tx/global_variables.js +24 -16
  763. package/dest/tx/hashed_values.d.ts +17 -7
  764. package/dest/tx/hashed_values.d.ts.map +1 -1
  765. package/dest/tx/hashed_values.js +26 -9
  766. package/dest/tx/index.d.ts +8 -2
  767. package/dest/tx/index.d.ts.map +1 -1
  768. package/dest/tx/index.js +8 -2
  769. package/dest/tx/indexed_tx_effect.d.ts +27 -0
  770. package/dest/tx/indexed_tx_effect.d.ts.map +1 -0
  771. package/dest/tx/indexed_tx_effect.js +32 -0
  772. package/dest/tx/offchain_effect.d.ts +14 -0
  773. package/dest/tx/offchain_effect.d.ts.map +1 -0
  774. package/dest/tx/offchain_effect.js +4 -0
  775. package/dest/tx/partial_state_reference.d.ts +10 -3
  776. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  777. package/dest/tx/partial_state_reference.js +22 -2
  778. package/dest/tx/private_execution_result.d.ts +55 -35
  779. package/dest/tx/private_execution_result.d.ts.map +1 -1
  780. package/dest/tx/private_execution_result.js +66 -78
  781. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  782. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  783. package/dest/tx/private_tx_constant_data.js +69 -0
  784. package/dest/tx/processed_tx.d.ts +6 -8
  785. package/dest/tx/processed_tx.d.ts.map +1 -1
  786. package/dest/tx/processed_tx.js +24 -22
  787. package/dest/tx/profiling.d.ts +360 -0
  788. package/dest/tx/profiling.d.ts.map +1 -0
  789. package/dest/tx/profiling.js +129 -0
  790. package/dest/tx/protocol_contracts.d.ts +29 -0
  791. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  792. package/dest/tx/protocol_contracts.js +49 -0
  793. package/dest/tx/proven_tx.d.ts +129 -0
  794. package/dest/tx/proven_tx.d.ts.map +1 -0
  795. package/dest/tx/proven_tx.js +45 -0
  796. package/dest/tx/public_call_request_with_calldata.d.ts +38 -0
  797. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -0
  798. package/dest/tx/public_call_request_with_calldata.js +57 -0
  799. package/dest/tx/public_simulation_output.d.ts +3 -3
  800. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  801. package/dest/tx/public_simulation_output.js +7 -7
  802. package/dest/tx/simulated_tx.d.ts +169 -45
  803. package/dest/tx/simulated_tx.d.ts.map +1 -1
  804. package/dest/tx/simulated_tx.js +52 -47
  805. package/dest/tx/state_reference.d.ts +10 -4
  806. package/dest/tx/state_reference.d.ts.map +1 -1
  807. package/dest/tx/state_reference.js +38 -5
  808. package/dest/tx/tree_snapshots.d.ts +11 -14
  809. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  810. package/dest/tx/tree_snapshots.js +3 -3
  811. package/dest/tx/tx.d.ts +63 -89
  812. package/dest/tx/tx.d.ts.map +1 -1
  813. package/dest/tx/tx.js +147 -148
  814. package/dest/tx/tx_constant_data.d.ts +7 -41
  815. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  816. package/dest/tx/tx_constant_data.js +11 -20
  817. package/dest/tx/tx_context.d.ts +33 -35
  818. package/dest/tx/tx_context.d.ts.map +1 -1
  819. package/dest/tx/tx_effect.d.ts +6 -42
  820. package/dest/tx/tx_effect.d.ts.map +1 -1
  821. package/dest/tx/tx_effect.js +75 -257
  822. package/dest/tx/tx_execution_request.d.ts +13 -6
  823. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  824. package/dest/tx/tx_execution_request.js +16 -9
  825. package/dest/tx/tx_hash.d.ts +11 -4
  826. package/dest/tx/tx_hash.d.ts.map +1 -1
  827. package/dest/tx/tx_hash.js +24 -5
  828. package/dest/tx/tx_receipt.d.ts +1 -30
  829. package/dest/tx/tx_receipt.d.ts.map +1 -1
  830. package/dest/tx/tx_receipt.js +4 -14
  831. package/dest/tx/tx_request.d.ts +11 -9
  832. package/dest/tx/tx_request.d.ts.map +1 -1
  833. package/dest/tx/tx_request.js +11 -8
  834. package/dest/tx/validator/error_texts.d.ts +24 -0
  835. package/dest/tx/validator/error_texts.d.ts.map +1 -0
  836. package/dest/tx/validator/error_texts.js +31 -0
  837. package/dest/tx/validator/tx_validator.d.ts +6 -4
  838. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  839. package/dest/tx/validator/tx_validator.js +3 -0
  840. package/dest/types/shared.d.ts +9 -11
  841. package/dest/types/shared.d.ts.map +1 -1
  842. package/dest/types/shared.js +0 -8
  843. package/dest/update-checker/index.d.ts +2 -0
  844. package/dest/update-checker/index.d.ts.map +1 -0
  845. package/dest/update-checker/index.js +1 -0
  846. package/dest/update-checker/update-checker.d.ts +50 -0
  847. package/dest/update-checker/update-checker.d.ts.map +1 -0
  848. package/dest/update-checker/update-checker.js +130 -0
  849. package/dest/validators/errors.d.ts +34 -0
  850. package/dest/validators/errors.d.ts.map +1 -0
  851. package/dest/validators/errors.js +47 -0
  852. package/dest/validators/index.d.ts +4 -0
  853. package/dest/validators/index.d.ts.map +1 -0
  854. package/dest/validators/index.js +2 -0
  855. package/dest/validators/schemas.d.ts +592 -0
  856. package/dest/validators/schemas.d.ts.map +1 -0
  857. package/dest/validators/schemas.js +52 -0
  858. package/dest/validators/types.d.ts +52 -0
  859. package/dest/validators/types.d.ts.map +1 -0
  860. package/dest/validators/types.js +1 -0
  861. package/dest/versioning/versioning.d.ts +4 -4
  862. package/dest/versioning/versioning.d.ts.map +1 -1
  863. package/dest/versioning/versioning.js +23 -18
  864. package/dest/vks/index.d.ts +1 -1
  865. package/dest/vks/index.d.ts.map +1 -1
  866. package/dest/vks/index.js +1 -1
  867. package/dest/vks/verification_key.d.ts +8 -12
  868. package/dest/vks/verification_key.d.ts.map +1 -1
  869. package/dest/vks/verification_key.js +9 -11
  870. package/dest/vks/{vk_witness_data.d.ts → vk_data.d.ts} +9 -11
  871. package/dest/vks/vk_data.d.ts.map +1 -0
  872. package/dest/vks/{vk_witness_data.js → vk_data.js} +10 -10
  873. package/dest/world-state/index.d.ts +2 -0
  874. package/dest/world-state/index.d.ts.map +1 -0
  875. package/dest/world-state/index.js +1 -0
  876. package/dest/world-state/world_state_revision.d.ts +22 -0
  877. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  878. package/dest/world-state/world_state_revision.js +21 -0
  879. package/dest/zkpassport/index.d.ts +35 -0
  880. package/dest/zkpassport/index.d.ts.map +1 -0
  881. package/dest/zkpassport/index.js +82 -0
  882. package/package.json +40 -23
  883. package/src/abi/abi.ts +96 -66
  884. package/src/abi/authorization_selector.ts +95 -0
  885. package/src/abi/contract_artifact.ts +90 -59
  886. package/src/abi/decoder.ts +18 -13
  887. package/src/abi/encoder.ts +88 -3
  888. package/src/abi/event_metadata_definition.ts +8 -0
  889. package/src/abi/function_call.ts +5 -1
  890. package/src/abi/index.ts +2 -0
  891. package/src/abi/utils.ts +15 -0
  892. package/src/auth_witness/auth_witness.ts +29 -0
  893. package/src/avm/avm.ts +452 -123
  894. package/src/avm/avm_accumulated_data.ts +129 -12
  895. package/src/avm/avm_circuit_public_inputs.ts +80 -3
  896. package/src/avm/index.ts +1 -1
  897. package/src/avm/message_pack.ts +33 -2
  898. package/src/avm/public_data_write.ts +25 -1
  899. package/src/avm/public_inner_call_request.ts +1 -1
  900. package/src/avm/revert_code.ts +5 -5
  901. package/src/block/attestation_info.ts +62 -0
  902. package/src/block/block_hash.ts +14 -0
  903. package/src/block/body.ts +41 -34
  904. package/src/block/in_block.ts +6 -6
  905. package/src/block/index.ts +7 -2
  906. package/src/block/l2_block.ts +59 -64
  907. package/src/block/l2_block_code_to_purge.ts +32 -49
  908. package/src/block/l2_block_header.ts +232 -0
  909. package/src/block/l2_block_info.ts +63 -0
  910. package/src/block/l2_block_source.ts +100 -13
  911. package/src/block/l2_block_stream/index.ts +3 -0
  912. package/src/block/l2_block_stream/interfaces.ts +33 -0
  913. package/src/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.ts +81 -58
  914. package/src/block/l2_block_stream/l2_tips_memory_store.ts +75 -0
  915. package/src/block/proposal/attestations_and_signers.ts +121 -0
  916. package/src/block/proposal/committee_attestation.ts +120 -0
  917. package/src/block/proposal/index.ts +2 -0
  918. package/src/block/published_l2_block.ts +82 -0
  919. package/src/block/test/index.ts +1 -0
  920. package/src/block/test/l2_tips_store_test_suite.ts +87 -0
  921. package/src/block/validate_block_result.ts +122 -0
  922. package/src/checkpoint/checkpoint_body.ts +10 -0
  923. package/src/checkpoint/index.ts +1 -0
  924. package/src/config/{config.ts → chain-config.ts} +8 -7
  925. package/src/config/index.ts +2 -1
  926. package/src/config/node-rpc-config.ts +37 -0
  927. package/src/contract/artifact_hash.ts +14 -12
  928. package/src/contract/contract_address.ts +1 -1
  929. package/src/contract/contract_class.ts +7 -24
  930. package/src/contract/contract_class_id.ts +10 -4
  931. package/src/contract/contract_class_metadata.ts +8 -0
  932. package/src/contract/contract_instance.ts +26 -17
  933. package/src/contract/contract_instance_update.ts +7 -6
  934. package/src/contract/contract_metadata.ts +7 -0
  935. package/src/contract/index.ts +3 -1
  936. package/src/contract/interfaces/contract_class.ts +23 -35
  937. package/src/contract/interfaces/contract_data_source.ts +11 -20
  938. package/src/contract/interfaces/contract_instance_update.ts +4 -3
  939. package/src/contract/interfaces/node-info.ts +3 -3
  940. package/src/contract/interfaces/protocol_contract_addresses.ts +5 -10
  941. package/src/contract/private_function.ts +4 -2
  942. package/src/contract/private_function_membership_proof.ts +7 -7
  943. package/src/contract/{unconstrained_function_membership_proof.ts → utility_function_membership_proof.ts} +18 -18
  944. package/src/database-version/version_manager.ts +78 -25
  945. package/src/{shared_mutable/shared_mutable_values.ts → delayed_public_mutable/delayed_public_mutable_values.ts} +23 -20
  946. package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +38 -0
  947. package/src/delayed_public_mutable/index.ts +4 -0
  948. package/src/delayed_public_mutable/scheduled_delay_change.ts +17 -0
  949. package/src/{shared_mutable → delayed_public_mutable}/scheduled_value_change.ts +11 -5
  950. package/src/epoch-helpers/index.ts +61 -2
  951. package/src/errors/proving_error.ts +5 -1
  952. package/src/errors/simulation_error.ts +2 -2
  953. package/src/fees/transaction_fee.ts +28 -8
  954. package/src/file-store/factory.ts +76 -0
  955. package/src/file-store/gcs.ts +121 -0
  956. package/src/file-store/http.ts +67 -0
  957. package/src/file-store/index.ts +2 -0
  958. package/src/file-store/interface.ts +25 -0
  959. package/src/file-store/local.ts +46 -0
  960. package/src/file-store/s3.ts +254 -0
  961. package/src/gas/gas.ts +9 -2
  962. package/src/gas/gas_fees.ts +27 -23
  963. package/src/gas/gas_settings.ts +11 -9
  964. package/src/hash/hash.ts +45 -27
  965. package/src/interfaces/allowed_element.ts +21 -0
  966. package/src/interfaces/api_limit.ts +3 -0
  967. package/src/interfaces/archiver.ts +67 -25
  968. package/src/interfaces/aztec-node-admin.ts +99 -0
  969. package/src/interfaces/aztec-node.ts +196 -137
  970. package/src/interfaces/block-builder.ts +53 -8
  971. package/src/interfaces/client.ts +2 -1
  972. package/src/interfaces/configs.ts +29 -18
  973. package/src/interfaces/epoch-prover.ts +46 -16
  974. package/src/interfaces/l2_logs_source.ts +2 -1
  975. package/src/interfaces/merkle_tree_operations.ts +30 -8
  976. package/src/interfaces/p2p.ts +29 -4
  977. package/src/interfaces/private_kernel_prover.ts +13 -4
  978. package/src/interfaces/prover-agent.ts +9 -10
  979. package/src/interfaces/prover-client.ts +16 -11
  980. package/src/interfaces/prover-coordination.ts +6 -16
  981. package/src/interfaces/prover-node.ts +10 -2
  982. package/src/interfaces/proving-job.ts +230 -125
  983. package/src/interfaces/public_state_source.ts +9 -0
  984. package/src/interfaces/server.ts +11 -5
  985. package/src/interfaces/server_circuit_prover.ts +110 -58
  986. package/src/interfaces/service.ts +4 -2
  987. package/src/interfaces/slasher.ts +50 -0
  988. package/src/interfaces/tx_provider.ts +17 -0
  989. package/src/interfaces/validator.ts +95 -0
  990. package/src/interfaces/world_state.ts +27 -19
  991. package/src/kernel/claimed_length_array.ts +104 -0
  992. package/src/kernel/hiding_kernel_private_inputs.ts +37 -0
  993. package/src/kernel/hints/build_note_hash_read_request_hints.ts +28 -30
  994. package/src/kernel/hints/build_nullifier_read_request_hints.ts +31 -61
  995. package/src/kernel/hints/build_transient_data_hints.ts +12 -14
  996. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
  997. package/src/kernel/hints/index.ts +1 -2
  998. package/src/kernel/hints/key_validation_hint.ts +4 -6
  999. package/src/kernel/hints/note_hash_read_request_hints.ts +8 -17
  1000. package/src/kernel/hints/nullifier_read_request_hints.ts +11 -20
  1001. package/src/kernel/hints/private_kernel_reset_hints.ts +37 -46
  1002. package/src/kernel/hints/read_request.ts +4 -1
  1003. package/src/kernel/hints/read_request_hints.ts +59 -38
  1004. package/src/kernel/hints/{transient_data_index_hint.ts → transient_data_squashing_hint.ts} +9 -6
  1005. package/src/kernel/hints/tree_leaf_read_request.ts +4 -1
  1006. package/src/kernel/index.ts +4 -2
  1007. package/src/kernel/log_hash.ts +86 -14
  1008. package/src/kernel/note_hash.ts +8 -2
  1009. package/src/kernel/nullifier.ts +16 -9
  1010. package/src/kernel/padded_side_effects.ts +73 -0
  1011. package/src/kernel/private_accumulated_data.ts +25 -25
  1012. package/src/kernel/private_call_data.ts +5 -24
  1013. package/src/kernel/private_call_request.ts +1 -1
  1014. package/src/kernel/private_circuit_public_inputs.ts +100 -76
  1015. package/src/kernel/private_context_inputs.ts +2 -2
  1016. package/src/kernel/private_kernel_circuit_public_inputs.ts +13 -5
  1017. package/src/kernel/private_kernel_data.ts +9 -31
  1018. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  1019. package/src/kernel/private_kernel_prover_output.ts +70 -0
  1020. package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +16 -13
  1021. package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
  1022. package/src/kernel/private_kernel_simulated_output.ts +7 -16
  1023. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +22 -5
  1024. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +41 -24
  1025. package/src/kernel/private_log_data.ts +13 -4
  1026. package/src/kernel/private_to_avm_accumulated_data.ts +18 -1
  1027. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +16 -7
  1028. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +16 -10
  1029. package/src/kernel/private_validation_requests.ts +20 -51
  1030. package/src/kernel/public_call_request.ts +92 -28
  1031. package/src/kernel/utils/order_and_comparison.ts +0 -25
  1032. package/src/keys/derivation.ts +2 -22
  1033. package/src/keys/public_keys.ts +1 -1
  1034. package/src/l1-contracts/index.ts +1 -0
  1035. package/src/l1-contracts/slash_factory.ts +177 -0
  1036. package/src/logs/contract_class_log.ts +134 -64
  1037. package/src/logs/debug_log.ts +32 -0
  1038. package/src/logs/directional_app_tagging_secret.ts +77 -0
  1039. package/src/logs/index.ts +6 -2
  1040. package/src/logs/log_with_tx_data.ts +19 -9
  1041. package/src/logs/message_context.ts +62 -0
  1042. package/src/logs/pending_tagged_log.ts +41 -0
  1043. package/src/logs/pre_tag.ts +25 -0
  1044. package/src/logs/private_log.ts +60 -24
  1045. package/src/logs/public_log.ts +137 -37
  1046. package/src/logs/{l1_payload/shared_secret_derivation.ts → shared_secret_derivation.ts} +6 -15
  1047. package/src/logs/tx_scoped_l2_log.ts +37 -25
  1048. package/src/messaging/inbox_leaf.ts +17 -2
  1049. package/src/messaging/index.ts +1 -0
  1050. package/src/messaging/l1_to_l2_message_source.ts +8 -1
  1051. package/src/messaging/l2_to_l1_membership.ts +98 -0
  1052. package/src/messaging/l2_to_l1_message.ts +105 -40
  1053. package/src/noir/index.ts +19 -2
  1054. package/src/note/index.ts +1 -1
  1055. package/src/note/note.ts +61 -5
  1056. package/src/note/notes_filter.ts +6 -10
  1057. package/src/note/unique_note.ts +88 -0
  1058. package/src/p2p/attestation_utils.ts +35 -0
  1059. package/src/p2p/block_attestation.ts +54 -26
  1060. package/src/p2p/block_proposal.ts +63 -19
  1061. package/src/p2p/consensus_payload.ts +62 -29
  1062. package/src/p2p/gossipable.ts +41 -15
  1063. package/src/p2p/index.ts +1 -0
  1064. package/src/p2p/interface.ts +0 -24
  1065. package/src/p2p/signature_utils.ts +7 -9
  1066. package/src/p2p/topic_type.ts +32 -13
  1067. package/src/parity/index.ts +2 -3
  1068. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  1069. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  1070. package/src/proofs/chonk_proof.ts +118 -0
  1071. package/src/proofs/index.ts +2 -1
  1072. package/src/proofs/proof.ts +29 -21
  1073. package/src/proofs/proof_data.ts +36 -0
  1074. package/src/proofs/proving_request_type.ts +14 -9
  1075. package/src/rollup/avm_proof_data.ts +8 -30
  1076. package/src/rollup/base_rollup_hints.ts +42 -41
  1077. package/src/rollup/block_constant_data.ts +73 -0
  1078. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  1079. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  1080. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  1081. package/src/rollup/checkpoint_constant_data.ts +84 -0
  1082. package/src/rollup/checkpoint_header.ts +224 -0
  1083. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  1084. package/src/rollup/checkpoint_rollup_public_inputs.ts +139 -0
  1085. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  1086. package/src/rollup/epoch_constant_data.ts +62 -0
  1087. package/src/rollup/index.ts +19 -16
  1088. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  1089. package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
  1090. package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
  1091. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  1092. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  1093. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  1094. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  1095. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  1096. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +17 -25
  1097. package/src/schemas/schemas.ts +3 -0
  1098. package/src/slashing/empire.ts +100 -0
  1099. package/src/slashing/helpers.ts +136 -0
  1100. package/src/slashing/index.ts +6 -0
  1101. package/src/slashing/interfaces.ts +11 -0
  1102. package/src/slashing/serialization.ts +103 -0
  1103. package/src/slashing/tally.ts +87 -0
  1104. package/src/slashing/types.ts +152 -0
  1105. package/src/snapshots/download.ts +123 -0
  1106. package/src/snapshots/index.ts +3 -0
  1107. package/src/snapshots/types.ts +70 -0
  1108. package/src/snapshots/upload.ts +64 -0
  1109. package/src/stats/stats.ts +28 -19
  1110. package/src/tests/factories.ts +647 -518
  1111. package/src/tests/mocks.ts +186 -135
  1112. package/src/trees/append_only_tree_snapshot.ts +18 -2
  1113. package/src/trees/database_public_state_source.ts +30 -0
  1114. package/src/trees/index.ts +1 -1
  1115. package/src/trees/merkle_tree_id.ts +12 -0
  1116. package/src/trees/nullifier_leaf.ts +48 -21
  1117. package/src/trees/nullifier_membership_witness.ts +17 -1
  1118. package/src/trees/public_data_leaf.ts +40 -29
  1119. package/src/trees/public_data_witness.ts +23 -4
  1120. package/src/tx/block_header.ts +23 -21
  1121. package/src/tx/capsule.ts +2 -0
  1122. package/src/tx/content_commitment.ts +48 -77
  1123. package/src/tx/global_variable_builder.ts +2 -2
  1124. package/src/tx/global_variables.ts +37 -22
  1125. package/src/tx/hashed_values.ts +29 -9
  1126. package/src/tx/index.ts +8 -2
  1127. package/src/tx/indexed_tx_effect.ts +39 -0
  1128. package/src/tx/offchain_effect.ts +20 -0
  1129. package/src/tx/partial_state_reference.ts +37 -4
  1130. package/src/tx/private_execution_result.ts +69 -88
  1131. package/src/tx/private_tx_constant_data.ts +94 -0
  1132. package/src/tx/processed_tx.ts +41 -35
  1133. package/src/tx/profiling.ts +161 -0
  1134. package/src/tx/protocol_contracts.ts +70 -0
  1135. package/src/tx/proven_tx.ts +62 -0
  1136. package/src/tx/public_call_request_with_calldata.ts +72 -0
  1137. package/src/tx/public_simulation_output.ts +5 -5
  1138. package/src/tx/simulated_tx.ts +66 -76
  1139. package/src/tx/state_reference.ts +54 -5
  1140. package/src/tx/tree_snapshots.ts +13 -13
  1141. package/src/tx/tx.ts +161 -192
  1142. package/src/tx/tx_constant_data.ts +8 -21
  1143. package/src/tx/tx_effect.ts +128 -293
  1144. package/src/tx/tx_execution_request.ts +14 -3
  1145. package/src/tx/tx_hash.ts +26 -5
  1146. package/src/tx/tx_receipt.ts +1 -37
  1147. package/src/tx/tx_request.ts +16 -6
  1148. package/src/tx/validator/error_texts.ts +38 -0
  1149. package/src/tx/validator/tx_validator.ts +5 -0
  1150. package/src/types/shared.ts +10 -9
  1151. package/src/update-checker/index.ts +1 -0
  1152. package/src/update-checker/update-checker.ts +165 -0
  1153. package/src/validators/errors.ts +59 -0
  1154. package/src/validators/index.ts +3 -0
  1155. package/src/validators/schemas.ts +75 -0
  1156. package/src/validators/types.ts +46 -0
  1157. package/src/versioning/versioning.ts +28 -32
  1158. package/src/vks/index.ts +1 -1
  1159. package/src/vks/verification_key.ts +18 -18
  1160. package/src/vks/{vk_witness_data.ts → vk_data.ts} +6 -6
  1161. package/src/world-state/index.ts +1 -0
  1162. package/src/world-state/world_state_revision.ts +21 -0
  1163. package/src/zkpassport/index.ts +119 -0
  1164. package/dest/avm/public_data_hint.d.ts +0 -18
  1165. package/dest/avm/public_data_hint.d.ts.map +0 -1
  1166. package/dest/avm/public_data_hint.js +0 -27
  1167. package/dest/block/l2_block_downloader/index.d.ts +0 -3
  1168. package/dest/block/l2_block_downloader/index.d.ts.map +0 -1
  1169. package/dest/block/l2_block_downloader/index.js +0 -2
  1170. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts +0 -58
  1171. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts.map +0 -1
  1172. package/dest/block/l2_block_downloader/l2_block_downloader.js +0 -124
  1173. package/dest/block/l2_block_downloader/l2_block_stream.d.ts +0 -57
  1174. package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +0 -1
  1175. package/dest/block/nullifier_with_block_source.d.ts +0 -6
  1176. package/dest/block/nullifier_with_block_source.d.ts.map +0 -1
  1177. package/dest/config/config.d.ts.map +0 -1
  1178. package/dest/contract/unconstrained_function_membership_proof.d.ts +0 -27
  1179. package/dest/contract/unconstrained_function_membership_proof.d.ts.map +0 -1
  1180. package/dest/event/event.d.ts +0 -24
  1181. package/dest/event/event.d.ts.map +0 -1
  1182. package/dest/event/event.js +0 -13
  1183. package/dest/event/event_metadata.d.ts +0 -38
  1184. package/dest/event/event_metadata.d.ts.map +0 -1
  1185. package/dest/event/event_metadata.js +0 -45
  1186. package/dest/event/index.d.ts +0 -4
  1187. package/dest/event/index.d.ts.map +0 -1
  1188. package/dest/event/index.js +0 -3
  1189. package/dest/event/l1_event_payload.d.ts +0 -52
  1190. package/dest/event/l1_event_payload.d.ts.map +0 -1
  1191. package/dest/event/l1_event_payload.js +0 -64
  1192. package/dest/interfaces/pxe.d.ts +0 -347
  1193. package/dest/interfaces/pxe.d.ts.map +0 -1
  1194. package/dest/interfaces/pxe.js +0 -104
  1195. package/dest/kernel/combined_constant_data.d.ts +0 -73
  1196. package/dest/kernel/combined_constant_data.d.ts.map +0 -1
  1197. package/dest/kernel/combined_constant_data.js +0 -73
  1198. package/dest/kernel/hints/rollup_validation_requests.d.ts +0 -40
  1199. package/dest/kernel/hints/rollup_validation_requests.d.ts.map +0 -1
  1200. package/dest/kernel/hints/rollup_validation_requests.js +0 -57
  1201. package/dest/kernel/hints/transient_data_index_hint.d.ts.map +0 -1
  1202. package/dest/kernel/private_kernel_prover_profile_result.d.ts +0 -25
  1203. package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +0 -1
  1204. package/dest/kernel/private_kernel_prover_profile_result.js +0 -7
  1205. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  1206. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  1207. package/dest/logs/indexed_tagging_secret.js +0 -50
  1208. package/dest/logs/l1_payload/encrypted_log_payload.d.ts +0 -50
  1209. package/dest/logs/l1_payload/encrypted_log_payload.d.ts.map +0 -1
  1210. package/dest/logs/l1_payload/encrypted_log_payload.js +0 -140
  1211. package/dest/logs/l1_payload/encryption_util.d.ts +0 -24
  1212. package/dest/logs/l1_payload/encryption_util.d.ts.map +0 -1
  1213. package/dest/logs/l1_payload/encryption_util.js +0 -46
  1214. package/dest/logs/l1_payload/index.d.ts +0 -3
  1215. package/dest/logs/l1_payload/index.d.ts.map +0 -1
  1216. package/dest/logs/l1_payload/index.js +0 -2
  1217. package/dest/logs/l1_payload/l1_note_payload.d.ts +0 -82
  1218. package/dest/logs/l1_payload/l1_note_payload.d.ts.map +0 -1
  1219. package/dest/logs/l1_payload/l1_note_payload.js +0 -129
  1220. package/dest/logs/l1_payload/payload.d.ts +0 -60
  1221. package/dest/logs/l1_payload/payload.d.ts.map +0 -1
  1222. package/dest/logs/l1_payload/payload.js +0 -61
  1223. package/dest/logs/l1_payload/shared_secret_derivation.d.ts.map +0 -1
  1224. package/dest/network/index.d.ts +0 -32
  1225. package/dest/network/index.d.ts.map +0 -1
  1226. package/dest/network/index.js +0 -30
  1227. package/dest/note/extended_note.d.ts +0 -124
  1228. package/dest/note/extended_note.d.ts.map +0 -1
  1229. package/dest/note/extended_note.js +0 -115
  1230. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  1231. package/dest/parity/root_parity_input.d.ts +0 -54
  1232. package/dest/parity/root_parity_input.d.ts.map +0 -1
  1233. package/dest/parity/root_parity_input.js +0 -50
  1234. package/dest/parity/root_parity_inputs.d.ts +0 -39
  1235. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  1236. package/dest/proofs/client_ivc_proof.d.ts +0 -21
  1237. package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
  1238. package/dest/proofs/client_ivc_proof.js +0 -44
  1239. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  1240. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  1241. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -159
  1242. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  1243. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -136
  1244. package/dest/rollup/block_root_rollup.d.ts +0 -262
  1245. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  1246. package/dest/rollup/block_root_rollup.js +0 -293
  1247. package/dest/rollup/constant_rollup_data.d.ts +0 -47
  1248. package/dest/rollup/constant_rollup_data.d.ts.map +0 -1
  1249. package/dest/rollup/constant_rollup_data.js +0 -45
  1250. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -54
  1251. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  1252. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -68
  1253. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  1254. package/dest/rollup/previous_rollup_block_data.d.ts +0 -58
  1255. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  1256. package/dest/rollup/previous_rollup_block_data.js +0 -42
  1257. package/dest/rollup/previous_rollup_data.d.ts +0 -58
  1258. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  1259. package/dest/rollup/previous_rollup_data.js +0 -42
  1260. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -23
  1261. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  1262. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  1263. package/dest/rollup/private_tube_data.d.ts +0 -17
  1264. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  1265. package/dest/rollup/private_tube_data.js +0 -25
  1266. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -25
  1267. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  1268. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  1269. package/dest/rollup/public_tube_data.d.ts +0 -17
  1270. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  1271. package/dest/rollup/public_tube_data.js +0 -25
  1272. package/dest/rollup/root_rollup.d.ts +0 -112
  1273. package/dest/rollup/root_rollup.d.ts.map +0 -1
  1274. package/dest/rollup/root_rollup.js +0 -158
  1275. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  1276. package/dest/rollup/state_diff_hints.js +0 -85
  1277. package/dest/rollup/tube_inputs.d.ts +0 -40
  1278. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  1279. package/dest/rollup/tube_inputs.js +0 -57
  1280. package/dest/shared_mutable/index.d.ts +0 -5
  1281. package/dest/shared_mutable/index.d.ts.map +0 -1
  1282. package/dest/shared_mutable/index.js +0 -4
  1283. package/dest/shared_mutable/scheduled_delay_change.d.ts +0 -10
  1284. package/dest/shared_mutable/scheduled_delay_change.d.ts.map +0 -1
  1285. package/dest/shared_mutable/scheduled_value_change.d.ts +0 -11
  1286. package/dest/shared_mutable/scheduled_value_change.d.ts.map +0 -1
  1287. package/dest/shared_mutable/shared_mutable_values.d.ts +0 -22
  1288. package/dest/shared_mutable/shared_mutable_values.d.ts.map +0 -1
  1289. package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +0 -1
  1290. package/dest/shared_mutable/shared_mutable_values_with_hash.js +0 -30
  1291. package/dest/trees/protocol_contract_leaf.d.ts +0 -87
  1292. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  1293. package/dest/trees/protocol_contract_leaf.js +0 -103
  1294. package/dest/tx/max_block_number.d.ts +0 -55
  1295. package/dest/tx/max_block_number.d.ts.map +0 -1
  1296. package/dest/tx/max_block_number.js +0 -65
  1297. package/dest/tx/public_execution_request.d.ts +0 -45
  1298. package/dest/tx/public_execution_request.d.ts.map +0 -1
  1299. package/dest/tx/public_execution_request.js +0 -72
  1300. package/dest/vks/vk_witness_data.d.ts.map +0 -1
  1301. package/src/avm/public_data_hint.ts +0 -38
  1302. package/src/block/l2_block_downloader/index.ts +0 -2
  1303. package/src/block/l2_block_downloader/l2_block_downloader.ts +0 -149
  1304. package/src/block/nullifier_with_block_source.ts +0 -7
  1305. package/src/event/event.ts +0 -16
  1306. package/src/event/event_metadata.ts +0 -56
  1307. package/src/event/index.ts +0 -3
  1308. package/src/event/l1_event_payload.ts +0 -87
  1309. package/src/interfaces/pxe.ts +0 -536
  1310. package/src/kernel/combined_constant_data.ts +0 -128
  1311. package/src/kernel/hints/rollup_validation_requests.ts +0 -73
  1312. package/src/kernel/private_kernel_prover_profile_result.ts +0 -7
  1313. package/src/logs/indexed_tagging_secret.ts +0 -45
  1314. package/src/logs/l1_payload/encrypted_log_payload.ts +0 -202
  1315. package/src/logs/l1_payload/encryption_util.ts +0 -54
  1316. package/src/logs/l1_payload/index.ts +0 -2
  1317. package/src/logs/l1_payload/l1_note_payload.ts +0 -182
  1318. package/src/logs/l1_payload/payload.ts +0 -73
  1319. package/src/network/index.ts +0 -32
  1320. package/src/note/extended_note.ts +0 -168
  1321. package/src/parity/root_parity_input.ts +0 -71
  1322. package/src/proofs/client_ivc_proof.ts +0 -61
  1323. package/src/rollup/block_root_or_block_merge_public_inputs.ts +0 -175
  1324. package/src/rollup/block_root_rollup.ts +0 -362
  1325. package/src/rollup/constant_rollup_data.ts +0 -54
  1326. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -85
  1327. package/src/rollup/previous_rollup_block_data.ts +0 -54
  1328. package/src/rollup/previous_rollup_data.ts +0 -54
  1329. package/src/rollup/private_base_rollup_inputs.ts +0 -50
  1330. package/src/rollup/private_tube_data.ts +0 -35
  1331. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  1332. package/src/rollup/public_tube_data.ts +0 -35
  1333. package/src/rollup/root_rollup.ts +0 -206
  1334. package/src/rollup/tube_inputs.ts +0 -70
  1335. package/src/shared_mutable/index.ts +0 -4
  1336. package/src/shared_mutable/scheduled_delay_change.ts +0 -13
  1337. package/src/shared_mutable/shared_mutable_values_with_hash.ts +0 -38
  1338. package/src/trees/protocol_contract_leaf.ts +0 -132
  1339. package/src/tx/max_block_number.ts +0 -79
  1340. package/src/tx/public_execution_request.ts +0 -97
  1341. /package/dest/{block/nullifier_with_block_source.js → abi/event_metadata_definition.js} +0 -0
@@ -1,15 +1,14 @@
1
- import { makeBlockBlobPublicInputs, makeSpongeBlob } from '@aztec/blob-lib/testing';
1
+ import { makeBatchedBlobAccumulator, makeSpongeBlob } from '@aztec/blob-lib/testing';
2
2
  import {
3
3
  ARCHIVE_HEIGHT,
4
- AVM_PROOF_LENGTH_IN_FIELDS,
4
+ AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
5
5
  AZTEC_MAX_EPOCH_DURATION,
6
- BLOBS_PER_BLOCK,
7
- CONTRACT_CLASS_LOG_DATA_SIZE_IN_FIELDS,
8
- FIELDS_PER_BLOB,
6
+ CHONK_PROOF_LENGTH,
7
+ CONTRACT_CLASS_LOG_SIZE_IN_FIELDS,
9
8
  FIXED_DA_GAS,
10
9
  FIXED_L2_GAS,
11
10
  GeneratorIndex,
12
- L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH,
11
+ L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
13
12
  MAX_CONTRACT_CLASS_LOGS_PER_TX,
14
13
  MAX_ENQUEUED_CALLS_PER_CALL,
15
14
  MAX_ENQUEUED_CALLS_PER_TX,
@@ -25,29 +24,27 @@ import {
25
24
  MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,
26
25
  MAX_PRIVATE_LOGS_PER_CALL,
27
26
  MAX_PRIVATE_LOGS_PER_TX,
28
- MAX_PUBLIC_LOGS_PER_TX,
27
+ MAX_PROTOCOL_CONTRACTS,
28
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
29
29
  MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
30
- NESTED_RECURSIVE_PROOF_LENGTH,
31
30
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
32
- NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH,
33
- NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH,
31
+ NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
32
+ NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
34
33
  NULLIFIER_TREE_HEIGHT,
34
+ NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
35
35
  NUM_BASE_PARITY_PER_ROOT_PARITY,
36
36
  NUM_MSGS_PER_BASE_PARITY,
37
37
  PRIVATE_LOG_SIZE_IN_FIELDS,
38
38
  PUBLIC_DATA_TREE_HEIGHT,
39
- PUBLIC_LOG_DATA_SIZE_IN_FIELDS,
40
- RECURSIVE_PROOF_LENGTH,
41
- TUBE_PROOF_LENGTH,
39
+ RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
42
40
  VK_TREE_HEIGHT,
43
41
  } from '@aztec/constants';
44
42
  import { type FieldsOf, makeHalfFullTuple, makeTuple } from '@aztec/foundation/array';
45
- import { toBufferBE } from '@aztec/foundation/bigint-buffer';
46
- import { compact } from '@aztec/foundation/collection';
47
- import { SchnorrSignature, poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
43
+ import { compact, padArrayEnd } from '@aztec/foundation/collection';
44
+ import { Grumpkin, SchnorrSignature, poseidon2HashWithSeparator, sha256 } from '@aztec/foundation/crypto';
48
45
  import { EthAddress } from '@aztec/foundation/eth-address';
49
- import { Fr, GrumpkinScalar, Point } from '@aztec/foundation/fields';
50
- import type { Bufferable } from '@aztec/foundation/serialize';
46
+ import { Fq, Fr, GrumpkinScalar, Point } from '@aztec/foundation/fields';
47
+ import type { Bufferable, Serializable, Tuple } from '@aztec/foundation/serialize';
51
48
  import { MembershipWitness } from '@aztec/foundation/trees';
52
49
 
53
50
  import { FunctionSelector } from '../abi/function_selector.js';
@@ -55,42 +52,50 @@ import { ContractStorageRead } from '../avm/contract_storage_read.js';
55
52
  import { ContractStorageUpdateRequest } from '../avm/contract_storage_update_request.js';
56
53
  import {
57
54
  AvmAccumulatedData,
58
- AvmAppendTreeHint,
55
+ AvmAccumulatedDataArrayLengths,
56
+ AvmAppendLeavesHint,
57
+ AvmBytecodeCommitmentHint,
59
58
  AvmCircuitInputs,
60
59
  AvmCircuitPublicInputs,
60
+ AvmCommitCheckpointHint,
61
61
  AvmContractClassHint,
62
62
  AvmContractInstanceHint,
63
- AvmEnqueuedCallHint,
63
+ AvmCreateCheckpointHint,
64
64
  AvmExecutionHints,
65
- AvmNullifierReadTreeHint,
66
- AvmNullifierWriteTreeHint,
67
- AvmPublicDataReadTreeHint,
68
- AvmPublicDataWriteTreeHint,
65
+ AvmGetLeafPreimageHintNullifierTree,
66
+ AvmGetLeafPreimageHintPublicDataTree,
67
+ AvmGetLeafValueHint,
68
+ AvmGetPreviousValueIndexHint,
69
+ AvmGetSiblingPathHint,
70
+ AvmRevertCheckpointHint,
71
+ AvmSequentialInsertHintNullifierTree,
72
+ AvmSequentialInsertHintPublicDataTree,
73
+ AvmTxHint,
69
74
  RevertCode,
70
75
  } from '../avm/index.js';
71
- import { PublicDataHint } from '../avm/public_data_hint.js';
72
76
  import { PublicDataRead } from '../avm/public_data_read.js';
73
77
  import { PublicDataWrite } from '../avm/public_data_write.js';
74
78
  import { AztecAddress } from '../aztec-address/index.js';
79
+ import { L2BlockHeader } from '../block/index.js';
75
80
  import {
76
81
  type ContractClassPublic,
77
82
  type ContractInstanceWithAddress,
78
83
  type ExecutablePrivateFunctionWithMembershipProof,
79
84
  type PrivateFunction,
80
- type PublicFunction,
81
85
  SerializableContractInstance,
82
- type UnconstrainedFunctionWithMembershipProof,
86
+ type UtilityFunctionWithMembershipProof,
83
87
  computeContractClassId,
84
88
  computePublicBytecodeCommitment,
85
89
  } from '../contract/index.js';
90
+ import { computeEffectiveGasFees } from '../fees/transaction_fee.js';
86
91
  import { Gas, GasFees, GasSettings, type GasUsed } from '../gas/index.js';
92
+ import { computeCalldataHash } from '../hash/hash.js';
87
93
  import type { MerkleTreeReadOperations } from '../interfaces/merkle_tree_operations.js';
88
94
  import { KeyValidationRequest } from '../kernel/hints/key_validation_request.js';
89
95
  import { KeyValidationRequestAndGenerator } from '../kernel/hints/key_validation_request_and_generator.js';
90
96
  import { ReadRequest } from '../kernel/hints/read_request.js';
91
- import { RollupValidationRequests } from '../kernel/hints/rollup_validation_requests.js';
92
97
  import {
93
- CombinedConstantData,
98
+ ClaimedLengthArray,
94
99
  PartialPrivateTailPublicInputsForPublic,
95
100
  PartialPrivateTailPublicInputsForRollup,
96
101
  PrivateKernelTailCircuitPublicInputs,
@@ -99,69 +104,71 @@ import {
99
104
  PrivateToPublicAccumulatedData,
100
105
  PrivateToPublicKernelCircuitPublicInputs,
101
106
  PrivateToRollupAccumulatedData,
102
- mergeAccumulatedData,
103
107
  } from '../kernel/index.js';
104
- import { LogHash, ScopedLogHash } from '../kernel/log_hash.js';
108
+ import { CountedLogHash, LogHash, ScopedLogHash } from '../kernel/log_hash.js';
105
109
  import { NoteHash } from '../kernel/note_hash.js';
106
110
  import { Nullifier } from '../kernel/nullifier.js';
107
111
  import { PrivateCallRequest } from '../kernel/private_call_request.js';
108
112
  import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inputs.js';
109
113
  import { PrivateLogData } from '../kernel/private_log_data.js';
110
114
  import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
111
- import { CountedPublicCallRequest, PublicCallRequest } from '../kernel/public_call_request.js';
115
+ import {
116
+ CountedPublicCallRequest,
117
+ PublicCallRequest,
118
+ PublicCallRequestArrayLengths,
119
+ } from '../kernel/public_call_request.js';
112
120
  import { PublicKeys, computeAddress } from '../keys/index.js';
113
- import { ContractClassLog } from '../logs/contract_class_log.js';
121
+ import { ContractClassLogFields } from '../logs/index.js';
114
122
  import { PrivateLog } from '../logs/private_log.js';
115
- import { PublicLog } from '../logs/public_log.js';
116
- import { L2ToL1Message, ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
117
- import { BaseParityInputs } from '../parity/base_parity_inputs.js';
123
+ import { FlatPublicLogs, PublicLog } from '../logs/public_log.js';
124
+ import { CountedL2ToL1Message, L2ToL1Message, ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
125
+ import { ParityBasePrivateInputs } from '../parity/parity_base_private_inputs.js';
118
126
  import { ParityPublicInputs } from '../parity/parity_public_inputs.js';
119
- import { RootParityInput } from '../parity/root_parity_input.js';
120
- import { RootParityInputs } from '../parity/root_parity_inputs.js';
127
+ import { ParityRootPrivateInputs } from '../parity/parity_root_private_inputs.js';
128
+ import { ProofData } from '../proofs/index.js';
121
129
  import { Proof } from '../proofs/proof.js';
122
130
  import { ProvingRequestType } from '../proofs/proving_request_type.js';
123
131
  import { makeRecursiveProof } from '../proofs/recursive_proof.js';
124
- import { AvmProofData } from '../rollup/avm_proof_data.js';
125
- import { BaseOrMergeRollupPublicInputs } from '../rollup/base_or_merge_rollup_public_inputs.js';
126
132
  import { PrivateBaseRollupHints, PublicBaseRollupHints } from '../rollup/base_rollup_hints.js';
127
- import { BlockMergeRollupInputs } from '../rollup/block_merge_rollup.js';
128
- import { BlockRootOrBlockMergePublicInputs, FeeRecipient } from '../rollup/block_root_or_block_merge_public_inputs.js';
133
+ import { BlockConstantData } from '../rollup/block_constant_data.js';
134
+ import { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
135
+ import { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
129
136
  import {
130
- BlockRootRollupBlobData,
131
- BlockRootRollupData,
132
- BlockRootRollupInputs,
133
- SingleTxBlockRootRollupInputs,
134
- } from '../rollup/block_root_rollup.js';
135
- import { ConstantRollupData } from '../rollup/constant_rollup_data.js';
136
- import { EmptyBlockRootRollupInputs } from '../rollup/empty_block_root_rollup_inputs.js';
137
- import { MergeRollupInputs } from '../rollup/merge_rollup.js';
138
- import { PreviousRollupBlockData } from '../rollup/previous_rollup_block_data.js';
139
- import { PreviousRollupData } from '../rollup/previous_rollup_data.js';
140
- import { PrivateBaseRollupInputs } from '../rollup/private_base_rollup_inputs.js';
141
- import { PrivateTubeData } from '../rollup/private_tube_data.js';
142
- import { PublicBaseRollupInputs } from '../rollup/public_base_rollup_inputs.js';
143
- import { PublicTubeData } from '../rollup/public_tube_data.js';
144
- import { RootRollupInputs, RootRollupPublicInputs } from '../rollup/root_rollup.js';
145
- import { PrivateBaseStateDiffHints } from '../rollup/state_diff_hints.js';
137
+ BlockRootFirstRollupPrivateInputs,
138
+ BlockRootSingleTxRollupPrivateInputs,
139
+ } from '../rollup/block_root_rollup_private_inputs.js';
140
+ import { CheckpointConstantData } from '../rollup/checkpoint_constant_data.js';
141
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
142
+ import { CheckpointRollupPublicInputs, FeeRecipient } from '../rollup/checkpoint_rollup_public_inputs.js';
143
+ import { EpochConstantData } from '../rollup/epoch_constant_data.js';
144
+ import { PrivateTxBaseRollupPrivateInputs } from '../rollup/private_tx_base_rollup_private_inputs.js';
145
+ import { PublicChonkVerifierPublicInputs } from '../rollup/public_chonk_verifier_public_inputs.js';
146
+ import { PublicTxBaseRollupPrivateInputs } from '../rollup/public_tx_base_rollup_private_inputs.js';
147
+ import { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
148
+ import { TreeSnapshotDiffHints } from '../rollup/tree_snapshot_diff_hints.js';
149
+ import { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
150
+ import { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
146
151
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
147
- import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
152
+ import { MerkleTreeId } from '../trees/merkle_tree_id.js';
153
+ import { NullifierLeaf, NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
148
154
  import { PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
149
155
  import { BlockHeader } from '../tx/block_header.js';
150
156
  import { CallContext } from '../tx/call_context.js';
151
- import { ContentCommitment, NUM_BYTES_PER_SHA256 } from '../tx/content_commitment.js';
157
+ import { ContentCommitment } from '../tx/content_commitment.js';
152
158
  import { FunctionData } from '../tx/function_data.js';
153
159
  import { GlobalVariables } from '../tx/global_variables.js';
154
- import { MaxBlockNumber } from '../tx/max_block_number.js';
155
160
  import { PartialStateReference } from '../tx/partial_state_reference.js';
156
161
  import { makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/processed_tx.js';
162
+ import { ProtocolContracts } from '../tx/protocol_contracts.js';
163
+ import { PublicCallRequestWithCalldata } from '../tx/public_call_request_with_calldata.js';
157
164
  import { StateReference } from '../tx/state_reference.js';
158
165
  import { TreeSnapshots } from '../tx/tree_snapshots.js';
159
166
  import { TxConstantData } from '../tx/tx_constant_data.js';
160
167
  import { TxContext } from '../tx/tx_context.js';
161
168
  import { TxRequest } from '../tx/tx_request.js';
162
- import { RollupTypes, Vector } from '../types/index.js';
169
+ import { Vector } from '../types/index.js';
170
+ import { VkData } from '../vks/index.js';
163
171
  import { VerificationKey, VerificationKeyAsFields, VerificationKeyData } from '../vks/verification_key.js';
164
- import { VkWitnessData } from '../vks/vk_witness_data.js';
165
172
  import { mockTx } from './mocks.js';
166
173
 
167
174
  /**
@@ -170,7 +177,11 @@ import { mockTx } from './mocks.js';
170
177
  * @returns A side effect object.
171
178
  */
172
179
  function makeLogHash(seed: number) {
173
- return new LogHash(fr(seed), seed + 1, seed + 2);
180
+ return new LogHash(fr(seed), seed + 1);
181
+ }
182
+
183
+ function makeCountedLogHash(seed: number) {
184
+ return new CountedLogHash(makeLogHash(seed), seed + 0x10);
174
185
  }
175
186
 
176
187
  function makeScopedLogHash(seed: number) {
@@ -182,19 +193,11 @@ function makeNoteHash(seed: number) {
182
193
  }
183
194
 
184
195
  function makeNullifier(seed: number) {
185
- return new Nullifier(fr(seed), seed + 1, fr(seed + 2));
186
- }
187
-
188
- function makeContractClassLog(seed: number) {
189
- // The '* 1' removes the 'Type instantiation is excessively deep and possibly infinite. ts(2589)' err
190
- return new ContractClassLog(
191
- makeAztecAddress(seed),
192
- makeTuple(CONTRACT_CLASS_LOG_DATA_SIZE_IN_FIELDS * 1, fr, seed + 1),
193
- );
196
+ return new Nullifier(fr(seed), fr(seed + 1), seed + 2);
194
197
  }
195
198
 
196
199
  function makePrivateLog(seed: number) {
197
- return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, fr, seed));
200
+ return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, fr, seed), PRIVATE_LOG_SIZE_IN_FIELDS);
198
201
  }
199
202
 
200
203
  function makePrivateLogData(seed: number) {
@@ -202,7 +205,10 @@ function makePrivateLogData(seed: number) {
202
205
  }
203
206
 
204
207
  function makePublicLog(seed: number) {
205
- return new PublicLog(makeAztecAddress(seed), makeTuple(PUBLIC_LOG_DATA_SIZE_IN_FIELDS, fr, seed + 1));
208
+ return new PublicLog(
209
+ makeAztecAddress(seed),
210
+ new Array(10).fill(null).map((_, i) => new Fr(seed + i)),
211
+ );
206
212
  }
207
213
 
208
214
  /**
@@ -292,24 +298,10 @@ export function makeContractStorageRead(seed = 1): ContractStorageRead {
292
298
  return new ContractStorageRead(fr(seed), fr(seed + 1), seed + 2);
293
299
  }
294
300
 
295
- export function makeRollupValidationRequests(seed = 1) {
296
- return new RollupValidationRequests(new MaxBlockNumber(true, new Fr(seed + 0x31415)));
297
- }
298
-
299
301
  function makeTxConstantData(seed = 1) {
300
302
  return new TxConstantData(makeHeader(seed), makeTxContext(seed + 0x100), new Fr(seed + 0x200), new Fr(seed + 0x201));
301
303
  }
302
304
 
303
- export function makeCombinedConstantData(seed = 1): CombinedConstantData {
304
- return new CombinedConstantData(
305
- makeHeader(seed),
306
- makeTxContext(seed + 0x100),
307
- new Fr(seed + 0x200),
308
- new Fr(seed + 0x201),
309
- makeGlobalVariables(seed + 0x300),
310
- );
311
- }
312
-
313
305
  /**
314
306
  * Creates arbitrary accumulated data.
315
307
  * @param seed - The seed to use for generating the accumulated data.
@@ -355,11 +347,15 @@ function makeAvmAccumulatedData(seed = 1) {
355
347
  makeTuple(MAX_NOTE_HASHES_PER_TX, fr, seed),
356
348
  makeTuple(MAX_NULLIFIERS_PER_TX, fr, seed + 0x100),
357
349
  makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, makeScopedL2ToL1Message, seed + 0x200),
358
- makeTuple(MAX_PUBLIC_LOGS_PER_TX, makePublicLog, seed + 0x300),
350
+ FlatPublicLogs.fromLogs(new Array(20).fill(null).map((_, i) => makePublicLog(seed + i * 256))),
359
351
  makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, makePublicDataWrite, seed + 0x400),
360
352
  );
361
353
  }
362
354
 
355
+ function makeAvmAccumulatedDataArrayLengths(seed = 1) {
356
+ return new AvmAccumulatedDataArrayLengths(seed, seed + 1, seed + 2, seed + 3);
357
+ }
358
+
363
359
  export function makeGas(seed = 1) {
364
360
  return new Gas(seed, seed + 1);
365
361
  }
@@ -400,26 +396,34 @@ export function makePrivateKernelTailCircuitPublicInputs(
400
396
  : undefined;
401
397
  return new PrivateKernelTailCircuitPublicInputs(
402
398
  makeTxConstantData(seed + 0x300),
403
- makeRollupValidationRequests(seed + 0x500),
404
399
  makeGas(seed + 0x600),
405
400
  makeAztecAddress(seed + 0x700),
401
+ BigInt(seed + 0x800),
406
402
  forPublic,
407
403
  forRollup,
408
404
  );
409
405
  }
410
406
 
411
- function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) {
407
+ export function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) {
412
408
  return new PrivateToPublicKernelCircuitPublicInputs(
413
409
  makeTxConstantData(seed),
414
- makeRollupValidationRequests(seed + 0x100),
415
410
  makePrivateToPublicAccumulatedData(seed + 0x200),
416
411
  makePrivateToPublicAccumulatedData(seed + 0x300),
417
412
  makePublicCallRequest(seed + 0x400),
418
413
  makeGas(seed + 0x500),
419
414
  makeAztecAddress(seed + 0x600),
415
+ BigInt(seed + 0x700),
420
416
  );
421
417
  }
422
418
 
419
+ export function makePublicChonkVerifierPublicInputs(seed = 1) {
420
+ return new PublicChonkVerifierPublicInputs(makePrivateToPublicKernelCircuitPublicInputs(seed), fr(seed + 0x1000));
421
+ }
422
+
423
+ export function makeProtocolContracts(seed = 1) {
424
+ return new ProtocolContracts(makeTuple(MAX_PROTOCOL_CONTRACTS, makeAztecAddress, seed));
425
+ }
426
+
423
427
  /**
424
428
  * Creates arbitrary public kernel circuit public inputs.
425
429
  * @param seed - The seed to use for generating the kernel circuit public inputs.
@@ -431,20 +435,24 @@ export function makePrivateToRollupKernelCircuitPublicInputs(
431
435
  ): PrivateToRollupKernelCircuitPublicInputs {
432
436
  return new PrivateToRollupKernelCircuitPublicInputs(
433
437
  makeTxConstantData(seed + 0x100),
434
- makeRollupValidationRequests(seed),
435
438
  makePrivateToRollupAccumulatedData(seed, fullAccumulatedData),
436
439
  makeGas(seed + 0x600),
437
440
  makeAztecAddress(seed + 0x700),
441
+ BigInt(seed + 0x800),
438
442
  );
439
443
  }
440
444
 
441
445
  function makeAvmCircuitPublicInputs(seed = 1) {
442
446
  return new AvmCircuitPublicInputs(
443
447
  makeGlobalVariables(seed),
448
+ makeProtocolContracts(seed + 0x100),
444
449
  makeTreeSnapshots(seed + 0x10),
445
450
  makeGas(seed + 0x20),
446
451
  makeGasSettings(),
452
+ makeGasFees(seed + 0x30),
447
453
  makeAztecAddress(seed + 0x40),
454
+ fr(seed + 0x50),
455
+ makePublicCallRequestArrayLengths(seed + 0x60),
448
456
  makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x100),
449
457
  makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x200),
450
458
  makePublicCallRequest(seed + 0x300),
@@ -454,6 +462,7 @@ function makeAvmCircuitPublicInputs(seed = 1) {
454
462
  makePrivateToAvmAccumulatedData(seed + 0x600),
455
463
  makeTreeSnapshots(seed + 0x700),
456
464
  makeGas(seed + 0x750),
465
+ makeAvmAccumulatedDataArrayLengths(seed + 0x800),
457
466
  makeAvmAccumulatedData(seed + 0x800),
458
467
  fr(seed + 0x900),
459
468
  false,
@@ -522,13 +531,11 @@ function makePrivateCallRequest(seed = 1): PrivateCallRequest {
522
531
  }
523
532
 
524
533
  export function makePublicCallRequest(seed = 1) {
525
- return new PublicCallRequest(
526
- makeAztecAddress(seed),
527
- makeAztecAddress(seed + 1),
528
- makeSelector(seed + 2),
529
- false,
530
- fr(seed + 0x3),
531
- );
534
+ return new PublicCallRequest(makeAztecAddress(seed), makeAztecAddress(seed + 1), false, fr(seed + 0x3));
535
+ }
536
+
537
+ export function makePublicCallRequestArrayLengths(seed = 1) {
538
+ return new PublicCallRequestArrayLengths(seed, seed + 1, seed % 2 === 0);
532
539
  }
533
540
 
534
541
  function makeCountedPublicCallRequest(seed = 1) {
@@ -546,9 +553,19 @@ export function makeTxRequest(seed = 1): TxRequest {
546
553
  functionData: new FunctionData(makeSelector(seed + 0x100), /*isPrivate=*/ true),
547
554
  argsHash: fr(seed + 0x200),
548
555
  txContext: makeTxContext(seed + 0x400),
556
+ salt: fr(seed + 0x500),
549
557
  });
550
558
  }
551
559
 
560
+ function makeClaimedLengthArray<T extends Serializable, N extends number>(
561
+ arraySize: N,
562
+ makeItem: (seed: number) => T,
563
+ seed: number,
564
+ length = arraySize,
565
+ ): ClaimedLengthArray<T, N> {
566
+ return new ClaimedLengthArray(makeTuple(arraySize, makeItem, seed) as Tuple<T, N>, length);
567
+ }
568
+
552
569
  /**
553
570
  * Makes arbitrary private circuit public inputs.
554
571
  * @param seed - The seed to use for generating the private circuit public inputs.
@@ -556,29 +573,33 @@ export function makeTxRequest(seed = 1): TxRequest {
556
573
  */
557
574
  export function makePrivateCircuitPublicInputs(seed = 0): PrivateCircuitPublicInputs {
558
575
  return PrivateCircuitPublicInputs.from({
559
- maxBlockNumber: new MaxBlockNumber(true, new Fr(seed + 0x31415)),
576
+ includeByTimestamp: BigInt(seed + 0x31415),
560
577
  callContext: makeCallContext(seed, { isStaticCall: true }),
561
578
  argsHash: fr(seed + 0x100),
562
579
  returnsHash: fr(seed + 0x200),
563
580
  minRevertibleSideEffectCounter: fr(0),
564
- noteHashReadRequests: makeTuple(MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, makeReadRequest, seed + 0x300),
565
- nullifierReadRequests: makeTuple(MAX_NULLIFIER_READ_REQUESTS_PER_CALL, makeReadRequest, seed + 0x310),
566
- keyValidationRequestsAndGenerators: makeTuple(
581
+ noteHashReadRequests: makeClaimedLengthArray(MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, makeReadRequest, seed + 0x300),
582
+ nullifierReadRequests: makeClaimedLengthArray(MAX_NULLIFIER_READ_REQUESTS_PER_CALL, makeReadRequest, seed + 0x310),
583
+ keyValidationRequestsAndGenerators: makeClaimedLengthArray(
567
584
  MAX_KEY_VALIDATION_REQUESTS_PER_CALL,
568
585
  makeKeyValidationRequestAndGenerators,
569
586
  seed + 0x320,
570
587
  ),
571
- noteHashes: makeTuple(MAX_NOTE_HASHES_PER_CALL, makeNoteHash, seed + 0x400),
572
- nullifiers: makeTuple(MAX_NULLIFIERS_PER_CALL, makeNullifier, seed + 0x500),
573
- privateCallRequests: makeTuple(MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, makePrivateCallRequest, seed + 0x600),
574
- publicCallRequests: makeTuple(MAX_ENQUEUED_CALLS_PER_CALL, makeCountedPublicCallRequest, seed + 0x700),
588
+ noteHashes: makeClaimedLengthArray(MAX_NOTE_HASHES_PER_CALL, makeNoteHash, seed + 0x400),
589
+ nullifiers: makeClaimedLengthArray(MAX_NULLIFIERS_PER_CALL, makeNullifier, seed + 0x500),
590
+ privateCallRequests: makeClaimedLengthArray(
591
+ MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL,
592
+ makePrivateCallRequest,
593
+ seed + 0x600,
594
+ ),
595
+ publicCallRequests: makeClaimedLengthArray(MAX_ENQUEUED_CALLS_PER_CALL, makeCountedPublicCallRequest, seed + 0x700),
575
596
  publicTeardownCallRequest: makePublicCallRequest(seed + 0x800),
576
- l2ToL1Msgs: makeTuple(MAX_L2_TO_L1_MSGS_PER_CALL, makeL2ToL1Message, seed + 0x800),
577
- privateLogs: makeTuple(MAX_PRIVATE_LOGS_PER_CALL, makePrivateLogData, seed + 0x875),
578
- contractClassLogsHashes: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeLogHash, seed + 0xa00),
597
+ l2ToL1Msgs: makeClaimedLengthArray(MAX_L2_TO_L1_MSGS_PER_CALL, makeCountedL2ToL1Message, seed + 0x800),
598
+ privateLogs: makeClaimedLengthArray(MAX_PRIVATE_LOGS_PER_CALL, makePrivateLogData, seed + 0x875),
599
+ contractClassLogsHashes: makeClaimedLengthArray(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeCountedLogHash, seed + 0xa00),
579
600
  startSideEffectCounter: fr(seed + 0x849),
580
601
  endSideEffectCounter: fr(seed + 0x850),
581
- historicalHeader: makeHeader(seed + 0xd00, undefined),
602
+ anchorBlockHeader: makeHeader(seed + 0xd00, undefined),
582
603
  txContext: makeTxContext(seed + 0x1400),
583
604
  isFeePayer: false,
584
605
  });
@@ -588,46 +609,24 @@ export function makeGlobalVariables(seed = 1, overrides: Partial<FieldsOf<Global
588
609
  return GlobalVariables.from({
589
610
  chainId: new Fr(seed),
590
611
  version: new Fr(seed + 1),
591
- blockNumber: new Fr(seed + 2),
612
+ blockNumber: seed + 2,
592
613
  slotNumber: new Fr(seed + 3),
593
- timestamp: new Fr(seed + 4),
614
+ timestamp: BigInt(seed + 4),
594
615
  coinbase: EthAddress.fromField(new Fr(seed + 5)),
595
616
  feeRecipient: AztecAddress.fromField(new Fr(seed + 6)),
596
- gasFees: new GasFees(new Fr(seed + 7), new Fr(seed + 8)),
617
+ gasFees: new GasFees(seed + 7, seed + 8),
597
618
  ...compact(overrides),
598
619
  });
599
620
  }
600
621
 
601
- export function makeGasFees(seed = 1) {
602
- return new GasFees(fr(seed), fr(seed + 1));
622
+ function makeGasFees(seed = 1) {
623
+ return new GasFees(seed, seed + 1);
603
624
  }
604
625
 
605
- export function makeFeeRecipient(seed = 1) {
626
+ function makeFeeRecipient(seed = 1) {
606
627
  return new FeeRecipient(EthAddress.fromField(fr(seed)), fr(seed + 1));
607
628
  }
608
629
 
609
- /**
610
- * Makes constant base rollup data.
611
- * @param seed - The seed to use for generating the constant base rollup data.
612
- * @param blockNumber - The block number to use for generating the global variables.
613
- * @returns A constant base rollup data.
614
- */
615
- export function makeConstantRollupData(
616
- seed = 1,
617
- globalVariables: GlobalVariables | undefined = undefined,
618
- ): ConstantRollupData {
619
- return ConstantRollupData.from({
620
- lastArchive: makeAppendOnlyTreeSnapshot(seed + 0x300),
621
- vkTreeRoot: fr(seed + 0x401),
622
- protocolContractTreeRoot: fr(seed + 0x402),
623
- globalVariables: globalVariables ?? makeGlobalVariables(seed + 0x500),
624
- });
625
- }
626
-
627
- export function makeScopedL2ToL1Message(seed = 1): ScopedL2ToL1Message {
628
- return new ScopedL2ToL1Message(makeL2ToL1Message(seed), makeAztecAddress(seed + 3));
629
- }
630
-
631
630
  /**
632
631
  * Makes arbitrary append only tree snapshot.
633
632
  * @param seed - The seed to use for generating the append only tree snapshot.
@@ -674,20 +673,48 @@ export function makeSchnorrSignature(seed = 1): SchnorrSignature {
674
673
  return new SchnorrSignature(Buffer.alloc(SchnorrSignature.SIZE, seed));
675
674
  }
676
675
 
676
+ function makeBlockConstantData(seed = 1, globalVariables?: GlobalVariables) {
677
+ return new BlockConstantData(
678
+ makeAppendOnlyTreeSnapshot(seed + 0x100),
679
+ makeAppendOnlyTreeSnapshot(seed + 0x200),
680
+ fr(seed + 0x300),
681
+ fr(seed + 0x400),
682
+ globalVariables ?? makeGlobalVariables(seed + 0x500),
683
+ fr(seed + 0x600),
684
+ );
685
+ }
686
+
687
+ function makeCheckpointConstantData(seed = 1) {
688
+ return new CheckpointConstantData(
689
+ fr(seed),
690
+ fr(seed + 1),
691
+ fr(seed + 2),
692
+ fr(seed + 3),
693
+ fr(seed + 4),
694
+ fr(seed + 5),
695
+ makeEthAddress(seed + 6),
696
+ makeAztecAddress(seed + 7),
697
+ makeGasFees(seed + 8),
698
+ );
699
+ }
700
+
701
+ function makeEpochConstantData(seed = 1) {
702
+ return new EpochConstantData(fr(seed), fr(seed + 1), fr(seed + 2), fr(seed + 3), fr(seed + 4));
703
+ }
704
+
677
705
  /**
678
706
  * Makes arbitrary base or merge rollup circuit public inputs.
679
707
  * @param seed - The seed to use for generating the base rollup circuit public inputs.
680
708
  * @param blockNumber - The block number to use for generating the base rollup circuit public inputs.
681
709
  * @returns A base or merge rollup circuit public inputs.
682
710
  */
683
- export function makeBaseOrMergeRollupPublicInputs(
711
+ export function makeTxRollupPublicInputs(
684
712
  seed = 0,
685
713
  globalVariables: GlobalVariables | undefined = undefined,
686
- ): BaseOrMergeRollupPublicInputs {
687
- return new BaseOrMergeRollupPublicInputs(
688
- RollupTypes.Base,
714
+ ): TxRollupPublicInputs {
715
+ return new TxRollupPublicInputs(
689
716
  1,
690
- makeConstantRollupData(seed + 0x200, globalVariables),
717
+ makeBlockConstantData(seed + 0x200, globalVariables),
691
718
  makePartialStateReference(seed + 0x300),
692
719
  makePartialStateReference(seed + 0x400),
693
720
  makeSpongeBlob(seed + 0x500),
@@ -704,147 +731,35 @@ export function makeBaseOrMergeRollupPublicInputs(
704
731
  * @param blockNumber - The block number to use for generating the block merge or block root rollup circuit public inputs.
705
732
  * @returns A block merge or block root rollup circuit public inputs.
706
733
  */
707
- export function makeBlockRootOrBlockMergeRollupPublicInputs(
708
- seed = 0,
709
- globalVariables: GlobalVariables | undefined = undefined,
710
- ): BlockRootOrBlockMergePublicInputs {
711
- return new BlockRootOrBlockMergePublicInputs(
734
+ export function makeBlockRollupPublicInputs(seed = 0): BlockRollupPublicInputs {
735
+ return new BlockRollupPublicInputs(
736
+ makeCheckpointConstantData(seed + 0x100),
712
737
  makeAppendOnlyTreeSnapshot(seed + 0x200),
713
738
  makeAppendOnlyTreeSnapshot(seed + 0x300),
714
- fr(seed + 0x400),
715
- fr(seed + 0x500),
716
- globalVariables ?? makeGlobalVariables(seed + 0x501),
717
- globalVariables ?? makeGlobalVariables(seed + 0x502),
718
- fr(seed + 0x600),
719
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x700),
720
- fr(seed + 0x800),
721
- fr(seed + 0x801),
722
- fr(seed + 0x900),
723
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeBlockBlobPublicInputs(seed), 0x100),
724
- );
725
- }
726
-
727
- /**
728
- * Makes arbitrary previous rollup data.
729
- * @param seed - The seed to use for generating the previous rollup data.
730
- * @param globalVariables - The global variables to use when generating the previous rollup data.
731
- * @returns A previous rollup data.
732
- */
733
- export function makePreviousRollupData(
734
- seed = 0,
735
- globalVariables: GlobalVariables | undefined = undefined,
736
- ): PreviousRollupData {
737
- return new PreviousRollupData(
738
- makeBaseOrMergeRollupPublicInputs(seed, globalVariables),
739
- makeRecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>(
740
- NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
741
- seed + 0x50,
742
- ),
743
- VerificationKeyAsFields.makeFakeHonk(),
744
- makeMembershipWitness(VK_TREE_HEIGHT, seed + 0x120),
745
- );
746
- }
747
-
748
- /**
749
- * Makes arbitrary previous rollup block data.
750
- * @param seed - The seed to use for generating the previous rollup block data.
751
- * @param globalVariables - The global variables to use when generating the previous rollup block data.
752
- * @returns A previous rollup block data.
753
- */
754
- export function makePreviousRollupBlockData(
755
- seed = 0,
756
- globalVariables: GlobalVariables | undefined = undefined,
757
- ): PreviousRollupBlockData {
758
- return new PreviousRollupBlockData(
759
- makeBlockRootOrBlockMergeRollupPublicInputs(seed, globalVariables),
760
- makeRecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>(
761
- NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
762
- seed + 0x50,
763
- ),
764
- VerificationKeyAsFields.makeFakeHonk(),
765
- makeMembershipWitness(VK_TREE_HEIGHT, seed + 0x120),
766
- );
767
- }
768
-
769
- /**
770
- * Makes root rollup inputs.
771
- * @param seed - The seed to use for generating the root rollup inputs.
772
- * @param globalVariables - The global variables to use.
773
- * @returns A root rollup inputs.
774
- */
775
- export function makeRootRollupInputs(seed = 0, globalVariables?: GlobalVariables): RootRollupInputs {
776
- return new RootRollupInputs(
777
- [makePreviousRollupBlockData(seed, globalVariables), makePreviousRollupBlockData(seed + 0x1000, globalVariables)],
778
- fr(seed + 0x2000),
779
- );
780
- }
781
-
782
- function makeBlockRootRollupData(seed = 0) {
783
- return new BlockRootRollupData(
784
- makeRootParityInput<typeof NESTED_RECURSIVE_PROOF_LENGTH>(NESTED_RECURSIVE_PROOF_LENGTH, seed + 0x2000),
785
- makeTuple(L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, fr, 0x2100),
786
- makeTuple(ARCHIVE_HEIGHT, fr, 0x2200),
787
- makeHeader(seed + 0x2300),
788
- fr(seed + 0x2400),
789
- );
790
- }
791
-
792
- function makeBlockRootRollupBlobData(seed = 0) {
793
- return new BlockRootRollupBlobData(
794
- makeTuple(FIELDS_PER_BLOB * BLOBS_PER_BLOCK, fr, 0x2500),
795
- makeTuple(BLOBS_PER_BLOCK, () => makeTuple(2, fr, 0x2600)),
796
- fr(seed + 0x2700),
797
- );
798
- }
799
-
800
- /**
801
- * Makes block root rollup inputs.
802
- * @param seed - The seed to use for generating the root rollup inputs.
803
- * @param globalVariables - The global variables to use.
804
- * @returns A block root rollup inputs.
805
- */
806
- export function makeBlockRootRollupInputs(seed = 0, globalVariables?: GlobalVariables): BlockRootRollupInputs {
807
- return new BlockRootRollupInputs(
808
- [makePreviousRollupData(seed, globalVariables), makePreviousRollupData(seed + 0x1000, globalVariables)],
809
- makeBlockRootRollupData(seed + 0x2000),
810
- makeBlockRootRollupBlobData(seed + 0x4000),
811
- );
812
- }
813
-
814
- export function makeSingleTxBlockRootRollupInputs(seed = 0, globalVariables?: GlobalVariables) {
815
- return new SingleTxBlockRootRollupInputs(
816
- [makePreviousRollupData(seed, globalVariables)],
817
- makeBlockRootRollupData(seed + 0x2000),
818
- makeBlockRootRollupBlobData(seed + 0x4000),
819
- );
820
- }
821
-
822
- /**
823
- * Makes empty block root rollup inputs.
824
- * @param seed - The seed to use for generating the root rollup inputs.
825
- * @param globalVariables - The global variables to use.
826
- * @returns A block root rollup inputs.
827
- */
828
- export function makeEmptyBlockRootRollupInputs(
829
- seed = 0,
830
- globalVariables?: GlobalVariables,
831
- ): EmptyBlockRootRollupInputs {
832
- return new EmptyBlockRootRollupInputs(
833
- makeBlockRootRollupData(seed + 0x1000),
834
- makeConstantRollupData(0x2500, globalVariables),
835
- true,
739
+ makeStateReference(seed + 0x400),
740
+ makeStateReference(seed + 0x500),
741
+ makeSpongeBlob(seed + 0x600),
742
+ makeSpongeBlob(seed + 0x700),
743
+ BigInt(seed + 0x810),
744
+ BigInt(seed + 0x820),
745
+ fr(seed + 0x830),
746
+ fr(seed + 0x840),
747
+ fr(seed + 0x850),
748
+ fr(seed + 0x860),
836
749
  );
837
750
  }
838
751
 
839
- export function makeRootParityInput<PROOF_LENGTH extends number>(
840
- proofSize: PROOF_LENGTH,
841
- seed = 0,
842
- ): RootParityInput<PROOF_LENGTH> {
843
- return new RootParityInput<PROOF_LENGTH>(
844
- makeRecursiveProof<PROOF_LENGTH>(proofSize, seed),
845
- VerificationKeyAsFields.makeFake(seed + 0x100),
846
- makeTuple(VK_TREE_HEIGHT, fr, 0x200),
847
- makeParityPublicInputs(seed + 0x300),
752
+ export function makeCheckpointRollupPublicInputs(seed = 0) {
753
+ const startBlobAccumulator = makeBatchedBlobAccumulator(seed);
754
+ return new CheckpointRollupPublicInputs(
755
+ makeEpochConstantData(seed),
756
+ makeAppendOnlyTreeSnapshot(seed + 0x100),
757
+ makeAppendOnlyTreeSnapshot(seed + 0x200),
758
+ makeTuple(AZTEC_MAX_EPOCH_DURATION, () => fr(seed), 0x300),
759
+ makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x700),
760
+ startBlobAccumulator.toBlobAccumulator(),
761
+ makeBatchedBlobAccumulator(seed + 1).toBlobAccumulator(),
762
+ startBlobAccumulator.finalBlobChallenges,
848
763
  );
849
764
  }
850
765
 
@@ -856,17 +771,13 @@ export function makeParityPublicInputs(seed = 0): ParityPublicInputs {
856
771
  );
857
772
  }
858
773
 
859
- export function makeBaseParityInputs(seed = 0): BaseParityInputs {
860
- return new BaseParityInputs(makeTuple(NUM_MSGS_PER_BASE_PARITY, fr, seed + 0x3000), new Fr(seed + 0x4000));
774
+ export function makeParityBasePrivateInputs(seed = 0): ParityBasePrivateInputs {
775
+ return new ParityBasePrivateInputs(makeTuple(NUM_MSGS_PER_BASE_PARITY, fr, seed + 0x3000), new Fr(seed + 0x4000));
861
776
  }
862
777
 
863
- export function makeRootParityInputs(seed = 0): RootParityInputs {
864
- return new RootParityInputs(
865
- makeTuple(
866
- NUM_BASE_PARITY_PER_ROOT_PARITY,
867
- () => makeRootParityInput<typeof RECURSIVE_PROOF_LENGTH>(RECURSIVE_PROOF_LENGTH),
868
- seed + 0x4100,
869
- ),
778
+ export function makeParityRootPrivateInputs(seed = 0) {
779
+ return new ParityRootPrivateInputs(
780
+ makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, () => makeProofData(seed, makeParityPublicInputs)),
870
781
  );
871
782
  }
872
783
 
@@ -878,18 +789,12 @@ export function makeRootParityInputs(seed = 0): RootParityInputs {
878
789
  */
879
790
  export function makeRootRollupPublicInputs(seed = 0): RootRollupPublicInputs {
880
791
  return new RootRollupPublicInputs(
881
- makeAppendOnlyTreeSnapshot(seed + 0x200),
882
- makeAppendOnlyTreeSnapshot(seed + 0x300),
883
- fr(seed + 0x400),
884
- fr(seed + 0x500),
885
- fr(seed + 0x600),
886
- fr(seed + 0x700),
887
- fr(seed + 0x800),
888
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x900),
889
792
  fr(seed + 0x100),
890
- fr(seed + 0x101),
891
793
  fr(seed + 0x200),
892
- makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeBlockBlobPublicInputs(seed), 0x300),
794
+ makeTuple(AZTEC_MAX_EPOCH_DURATION, () => fr(seed), 0x300),
795
+ makeTuple(AZTEC_MAX_EPOCH_DURATION, () => makeFeeRecipient(seed), 0x500),
796
+ makeEpochConstantData(seed + 0x600),
797
+ makeBatchedBlobAccumulator(seed).toFinalBlobAccumulator(),
893
798
  );
894
799
  }
895
800
 
@@ -897,12 +802,7 @@ export function makeRootRollupPublicInputs(seed = 0): RootRollupPublicInputs {
897
802
  * Makes content commitment
898
803
  */
899
804
  export function makeContentCommitment(seed = 0): ContentCommitment {
900
- return new ContentCommitment(
901
- new Fr(seed),
902
- toBufferBE(BigInt(seed + 0x100), NUM_BYTES_PER_SHA256),
903
- toBufferBE(BigInt(seed + 0x200), NUM_BYTES_PER_SHA256),
904
- toBufferBE(BigInt(seed + 0x300), NUM_BYTES_PER_SHA256),
905
- );
805
+ return new ContentCommitment(fr(seed + 0x100), fr(seed + 0x200), fr(seed + 0x300));
906
806
  }
907
807
 
908
808
  /**
@@ -912,35 +812,73 @@ export function makeHeader(
912
812
  seed = 0,
913
813
  blockNumber: number | undefined = undefined,
914
814
  slotNumber: number | undefined = undefined,
815
+ overrides: Partial<FieldsOf<BlockHeader>> = {},
915
816
  ): BlockHeader {
916
- return new BlockHeader(
817
+ return BlockHeader.from({
818
+ lastArchive: makeAppendOnlyTreeSnapshot(seed + 0x100),
819
+ state: makeStateReference(seed + 0x200),
820
+ spongeBlobHash: fr(seed + 0x300),
821
+ globalVariables: makeGlobalVariables((seed += 0x700), {
822
+ ...(blockNumber ? { blockNumber } : {}),
823
+ ...(slotNumber ? { slotNumber: new Fr(slotNumber) } : {}),
824
+ }),
825
+ totalFees: fr(seed + 0x800),
826
+ totalManaUsed: fr(seed + 0x900),
827
+ ...overrides,
828
+ });
829
+ }
830
+
831
+ export function makeL2BlockHeader(
832
+ seed = 0,
833
+ blockNumber?: number,
834
+ slotNumber?: number,
835
+ overrides: Partial<FieldsOf<L2BlockHeader>> = {},
836
+ ) {
837
+ return new L2BlockHeader(
917
838
  makeAppendOnlyTreeSnapshot(seed + 0x100),
918
- makeContentCommitment(seed + 0x200),
919
- makeStateReference(seed + 0x600),
839
+ overrides?.contentCommitment ?? makeContentCommitment(seed + 0x200),
840
+ overrides?.state ?? makeStateReference(seed + 0x600),
920
841
  makeGlobalVariables((seed += 0x700), {
921
- ...(blockNumber ? { blockNumber: new Fr(blockNumber) } : {}),
842
+ ...(blockNumber ? { blockNumber } : {}),
922
843
  ...(slotNumber ? { slotNumber: new Fr(slotNumber) } : {}),
923
844
  }),
924
- fr(seed + 0x800),
925
- fr(seed + 0x900),
845
+ new Fr(seed + 0x800),
846
+ new Fr(seed + 0x900),
847
+ new Fr(seed + 0xa00),
926
848
  );
927
849
  }
928
850
 
851
+ export function makeCheckpointHeader(seed = 0) {
852
+ return CheckpointHeader.from({
853
+ lastArchiveRoot: fr(seed + 0x100),
854
+ contentCommitment: makeContentCommitment(seed + 0x200),
855
+ slotNumber: new Fr(seed + 0x300),
856
+ timestamp: BigInt(seed + 0x400),
857
+ coinbase: makeEthAddress(seed + 0x500),
858
+ feeRecipient: makeAztecAddress(seed + 0x600),
859
+ gasFees: makeGasFees(seed + 0x700),
860
+ totalManaUsed: fr(seed + 0x800),
861
+ });
862
+ }
863
+
929
864
  /**
930
865
  * Makes arbitrary state reference.
931
866
  * @param seed - The seed to use for generating the state reference.
932
867
  * @returns A state reference.
933
868
  */
934
869
  export function makeStateReference(seed = 0): StateReference {
935
- return new StateReference(makeAppendOnlyTreeSnapshot(seed), makePartialStateReference(seed + 1));
870
+ return new StateReference(
871
+ makeAppendOnlyTreeSnapshot(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP * seed),
872
+ makePartialStateReference(seed + 1),
873
+ );
936
874
  }
937
875
 
938
876
  function makeTreeSnapshots(seed = 0) {
939
877
  return new TreeSnapshots(
940
- makeAppendOnlyTreeSnapshot(seed),
941
- makeAppendOnlyTreeSnapshot(seed + 0x10),
942
- makeAppendOnlyTreeSnapshot(seed + 0x20),
943
- makeAppendOnlyTreeSnapshot(seed + 0x30),
878
+ makeAppendOnlyTreeSnapshot(seed * NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP),
879
+ makeAppendOnlyTreeSnapshot((seed + 0x10) * MAX_NOTE_HASHES_PER_TX),
880
+ makeAppendOnlyTreeSnapshot((seed + 0x20) * MAX_NULLIFIERS_PER_TX),
881
+ makeAppendOnlyTreeSnapshot((seed + 0x30) * MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX),
944
882
  );
945
883
  }
946
884
 
@@ -953,7 +891,15 @@ export function makeL2ToL1Message(seed = 0): L2ToL1Message {
953
891
  const recipient = EthAddress.fromField(new Fr(seed));
954
892
  const content = new Fr(seed + 1);
955
893
 
956
- return new L2ToL1Message(recipient, content, seed + 2);
894
+ return new L2ToL1Message(recipient, content);
895
+ }
896
+
897
+ function makeCountedL2ToL1Message(seed = 0) {
898
+ return new CountedL2ToL1Message(makeL2ToL1Message(seed), seed + 2);
899
+ }
900
+
901
+ function makeScopedL2ToL1Message(seed = 1) {
902
+ return new ScopedL2ToL1Message(makeL2ToL1Message(seed), makeAztecAddress(seed + 3));
957
903
  }
958
904
 
959
905
  /**
@@ -963,19 +909,34 @@ export function makeL2ToL1Message(seed = 0): L2ToL1Message {
963
909
  */
964
910
  export function makePartialStateReference(seed = 0): PartialStateReference {
965
911
  return new PartialStateReference(
966
- makeAppendOnlyTreeSnapshot(seed),
967
- makeAppendOnlyTreeSnapshot(seed + 1),
968
- makeAppendOnlyTreeSnapshot(seed + 2),
912
+ makeAppendOnlyTreeSnapshot(MAX_NOTE_HASHES_PER_TX * seed),
913
+ makeAppendOnlyTreeSnapshot(MAX_NULLIFIERS_PER_TX * (seed + 1)),
914
+ makeAppendOnlyTreeSnapshot(MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX * (seed + 2)),
969
915
  );
970
916
  }
971
917
 
972
- /**
973
- * Makes arbitrary merge rollup inputs.
974
- * @param seed - The seed to use for generating the merge rollup inputs.
975
- * @returns A merge rollup inputs.
976
- */
977
- export function makeMergeRollupInputs(seed = 0): MergeRollupInputs {
978
- return new MergeRollupInputs([makePreviousRollupData(seed), makePreviousRollupData(seed + 0x1000)]);
918
+ export function makeTxMergeRollupPrivateInputs(seed = 0): TxMergeRollupPrivateInputs {
919
+ return new TxMergeRollupPrivateInputs([
920
+ makeProofData(seed, makeTxRollupPublicInputs),
921
+ makeProofData(seed + 0x1000, makeTxRollupPublicInputs),
922
+ ]);
923
+ }
924
+
925
+ export function makeBlockRootFirstRollupPrivateInputs(seed = 0) {
926
+ return new BlockRootFirstRollupPrivateInputs(
927
+ makeProofData(seed, makeParityPublicInputs),
928
+ [makeProofData(seed + 0x1000, makeTxRollupPublicInputs), makeProofData(seed + 0x2000, makeTxRollupPublicInputs)],
929
+ makeAppendOnlyTreeSnapshot(seed + 0x3000),
930
+ makeSiblingPath(seed + 0x4000, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH),
931
+ makeSiblingPath(seed + 0x5000, ARCHIVE_HEIGHT),
932
+ );
933
+ }
934
+
935
+ export function makeBlockRootSingleTxRollupPrivateInputs(seed = 0) {
936
+ return new BlockRootSingleTxRollupPrivateInputs(
937
+ makeProofData(seed + 0x1000, makeTxRollupPublicInputs),
938
+ makeSiblingPath(seed + 0x4000, ARCHIVE_HEIGHT),
939
+ );
979
940
  }
980
941
 
981
942
  /**
@@ -983,8 +944,11 @@ export function makeMergeRollupInputs(seed = 0): MergeRollupInputs {
983
944
  * @param seed - The seed to use for generating the merge rollup inputs.
984
945
  * @returns A block merge rollup inputs.
985
946
  */
986
- export function makeBlockMergeRollupInputs(seed = 0): BlockMergeRollupInputs {
987
- return new BlockMergeRollupInputs([makePreviousRollupBlockData(seed), makePreviousRollupBlockData(seed + 0x1000)]);
947
+ export function makeBlockMergeRollupPrivateInputs(seed = 0) {
948
+ return new BlockMergeRollupPrivateInputs([
949
+ makeProofData(seed, makeBlockRollupPublicInputs),
950
+ makeProofData(seed + 0x1000, makeBlockRollupPublicInputs),
951
+ ]);
988
952
  }
989
953
 
990
954
  /**
@@ -996,24 +960,42 @@ export function makePublicDataTreeLeaf(seed = 0): PublicDataTreeLeaf {
996
960
  return new PublicDataTreeLeaf(new Fr(seed), new Fr(seed + 1));
997
961
  }
998
962
 
963
+ /**
964
+ * Makes arbitrary nullifier leaf.
965
+ * @param seed - The seed to use for generating the nullifier leaf.
966
+ * @returns A nullifier leaf.
967
+ */
968
+ export function makeNullifierLeaf(seed = 0): NullifierLeaf {
969
+ return new NullifierLeaf(new Fr(seed));
970
+ }
971
+
972
+ /**
973
+ * Makes arbitrary nullifier leaf preimages.
974
+ * @param seed - The seed to use for generating the nullifier leaf preimage.
975
+ * @returns A nullifier leaf preimage.
976
+ */
977
+ export function makeNullifierLeafPreimage(seed = 0): NullifierLeafPreimage {
978
+ return new NullifierLeafPreimage(makeNullifierLeaf(seed), new Fr(seed + 1), BigInt(seed + 2));
979
+ }
980
+
999
981
  /**
1000
982
  * Makes arbitrary public data tree leaf preimages.
1001
983
  * @param seed - The seed to use for generating the public data tree leaf preimage.
1002
984
  * @returns A public data tree leaf preimage.
1003
985
  */
1004
986
  export function makePublicDataTreeLeafPreimage(seed = 0): PublicDataTreeLeafPreimage {
1005
- return new PublicDataTreeLeafPreimage(new Fr(seed), new Fr(seed + 1), new Fr(seed + 2), BigInt(seed + 3));
987
+ return new PublicDataTreeLeafPreimage(makePublicDataTreeLeaf(seed), new Fr(seed + 2), BigInt(seed + 3));
1006
988
  }
1007
989
 
1008
990
  /**
1009
- * Creates an instance of PrivateBaseStateDiffHints with arbitrary values based on the provided seed.
991
+ * Creates an instance of TreeSnapshotDiffHints with arbitrary values based on the provided seed.
1010
992
  * @param seed - The seed to use for generating the hints.
1011
- * @returns A PrivateBaseStateDiffHints object.
993
+ * @returns A TreeSnapshotDiffHints object.
1012
994
  */
1013
- export function makePrivateBaseStateDiffHints(seed = 1): PrivateBaseStateDiffHints {
995
+ export function makeTreeSnapshotDiffHints(seed = 1): TreeSnapshotDiffHints {
1014
996
  const nullifierPredecessorPreimages = makeTuple(
1015
997
  MAX_NULLIFIERS_PER_TX,
1016
- x => new NullifierLeafPreimage(fr(x), fr(x + 0x100), BigInt(x + 0x200)),
998
+ x => makeNullifierLeafPreimage(x),
1017
999
  seed + 0x1000,
1018
1000
  );
1019
1001
 
@@ -1027,115 +1009,96 @@ export function makePrivateBaseStateDiffHints(seed = 1): PrivateBaseStateDiffHin
1027
1009
 
1028
1010
  const sortedNullifierIndexes = makeTuple(MAX_NULLIFIERS_PER_TX, i => i, seed + 0x4000);
1029
1011
 
1030
- const noteHashSubtreeSiblingPath = makeTuple(NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, fr, seed + 0x5000);
1012
+ const noteHashSubtreeRootSiblingPath = makeTuple(NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH, fr, seed + 0x5000);
1031
1013
 
1032
- const nullifierSubtreeSiblingPath = makeTuple(NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, fr, seed + 0x6000);
1014
+ const nullifierSubtreeRootSiblingPath = makeTuple(NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH, fr, seed + 0x6000);
1033
1015
 
1034
- const feeWriteLowLeafPreimage = makePublicDataTreeLeafPreimage(seed + 0x7000);
1035
- const feeWriteLowLeafMembershipWitness = makeMembershipWitness(PUBLIC_DATA_TREE_HEIGHT, seed + 0x8000);
1036
- const feeWriteSiblingPath = makeTuple(PUBLIC_DATA_TREE_HEIGHT, fr, seed + 0x9000);
1016
+ const feePayerBalanceMembershipWitness = makeMembershipWitness(PUBLIC_DATA_TREE_HEIGHT, seed + 0x8000);
1037
1017
 
1038
- return new PrivateBaseStateDiffHints(
1018
+ return new TreeSnapshotDiffHints(
1019
+ noteHashSubtreeRootSiblingPath,
1039
1020
  nullifierPredecessorPreimages,
1040
1021
  nullifierPredecessorMembershipWitnesses,
1041
1022
  sortedNullifiers,
1042
1023
  sortedNullifierIndexes,
1043
- noteHashSubtreeSiblingPath,
1044
- nullifierSubtreeSiblingPath,
1045
- feeWriteLowLeafPreimage,
1046
- feeWriteLowLeafMembershipWitness,
1047
- feeWriteSiblingPath,
1024
+ nullifierSubtreeRootSiblingPath,
1025
+ feePayerBalanceMembershipWitness,
1048
1026
  );
1049
1027
  }
1050
1028
 
1051
- function makeVkWitnessData(seed = 1) {
1052
- return new VkWitnessData(VerificationKeyData.makeFakeHonk(), seed, makeTuple(VK_TREE_HEIGHT, fr, seed + 0x100));
1029
+ function makeVkData(seed = 1) {
1030
+ return new VkData(VerificationKeyData.makeFakeHonk(), seed, makeTuple(VK_TREE_HEIGHT, fr, seed + 0x100));
1053
1031
  }
1054
1032
 
1055
- function makePrivateTubeData(seed = 1, kernelPublicInputs?: PrivateToRollupKernelCircuitPublicInputs) {
1056
- return new PrivateTubeData(
1057
- kernelPublicInputs ?? makePrivateToRollupKernelCircuitPublicInputs(seed, true),
1058
- makeRecursiveProof<typeof TUBE_PROOF_LENGTH>(TUBE_PROOF_LENGTH, seed + 0x100),
1059
- makeVkWitnessData(seed + 0x200),
1033
+ export function makeProofData<T extends Bufferable, PROOF_LENGTH extends number>(
1034
+ seed = 0,
1035
+ makePublicInputs: (seed: number) => T,
1036
+ proofSize: PROOF_LENGTH = NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH as PROOF_LENGTH,
1037
+ ) {
1038
+ return new ProofData(
1039
+ makePublicInputs(seed),
1040
+ makeRecursiveProof<PROOF_LENGTH>(proofSize, seed + 0x100),
1041
+ makeVkData(seed + 0x200),
1060
1042
  );
1061
1043
  }
1062
1044
 
1045
+ function makeContractClassLogFields(seed = 1) {
1046
+ return new ContractClassLogFields(makeArray(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, fr, seed));
1047
+ }
1048
+
1063
1049
  function makePrivateBaseRollupHints(seed = 1) {
1064
1050
  const start = makePartialStateReference(seed + 0x100);
1065
1051
 
1066
1052
  const startSpongeBlob = makeSpongeBlob(seed + 0x200);
1067
1053
 
1068
- const stateDiffHints = makePrivateBaseStateDiffHints(seed + 0x600);
1054
+ const treeSnapshotDiffHints = makeTreeSnapshotDiffHints(seed + 0x600);
1069
1055
 
1070
- const archiveRootMembershipWitness = makeMembershipWitness(ARCHIVE_HEIGHT, seed + 0x9000);
1056
+ const anchorBlockArchiveSiblingPath = makeSiblingPath(seed + 0x9000, ARCHIVE_HEIGHT);
1071
1057
 
1072
- const contractClassLogsPreimages = makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLog, seed + 0x800);
1058
+ const contractClassLogsFields = makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x800);
1073
1059
 
1074
- const constants = makeConstantRollupData(0x100);
1060
+ const constants = makeBlockConstantData(0x100);
1075
1061
 
1076
- const feePayerFeeJuiceBalanceReadHint = PublicDataHint.empty();
1062
+ const feePayerBalanceLeafPreimage = PublicDataTreeLeafPreimage.empty();
1077
1063
 
1078
1064
  return PrivateBaseRollupHints.from({
1079
1065
  start,
1080
1066
  startSpongeBlob,
1081
- stateDiffHints,
1082
- feePayerFeeJuiceBalanceReadHint,
1083
- archiveRootMembershipWitness,
1084
- contractClassLogsPreimages,
1067
+ treeSnapshotDiffHints,
1068
+ feePayerBalanceLeafPreimage,
1069
+ anchorBlockArchiveSiblingPath,
1070
+ contractClassLogsFields,
1085
1071
  constants,
1086
1072
  });
1087
1073
  }
1088
1074
 
1089
1075
  function makePublicBaseRollupHints(seed = 1) {
1090
- const startSpongeBlob = makeSpongeBlob(seed + 0x200);
1091
-
1092
- const archiveRootMembershipWitness = makeMembershipWitness(ARCHIVE_HEIGHT, seed + 0x9000);
1093
-
1094
- const contractClassLogsPreimages = makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLog, seed + 0x800);
1095
-
1096
- const constants = makeConstantRollupData(0x100);
1097
-
1098
1076
  return PublicBaseRollupHints.from({
1099
- startSpongeBlob,
1100
- archiveRootMembershipWitness,
1101
- contractClassLogsPreimages,
1102
- constants,
1077
+ startSpongeBlob: makeSpongeBlob(seed),
1078
+ lastArchive: makeAppendOnlyTreeSnapshot(seed + 0x1000),
1079
+ anchorBlockArchiveSiblingPath: makeSiblingPath(seed + 0x2000, ARCHIVE_HEIGHT),
1080
+ contractClassLogsFields: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x3000),
1103
1081
  });
1104
1082
  }
1105
1083
 
1106
- export function makePrivateBaseRollupInputs(seed = 0) {
1107
- const tubeData = makePrivateTubeData(seed);
1108
- const hints = makePrivateBaseRollupHints(seed + 0x100);
1109
-
1110
- return PrivateBaseRollupInputs.from({
1111
- tubeData,
1112
- hints,
1084
+ export function makePrivateTxBaseRollupPrivateInputs(seed = 0) {
1085
+ return PrivateTxBaseRollupPrivateInputs.from({
1086
+ hidingKernelProofData: makeProofData(seed, makePrivateToRollupKernelCircuitPublicInputs, CHONK_PROOF_LENGTH),
1087
+ hints: makePrivateBaseRollupHints(seed + 0x100),
1113
1088
  });
1114
1089
  }
1115
1090
 
1116
- function makePublicTubeData(seed = 1) {
1117
- return new PublicTubeData(
1118
- makePrivateToPublicKernelCircuitPublicInputs(seed),
1119
- makeRecursiveProof<typeof TUBE_PROOF_LENGTH>(TUBE_PROOF_LENGTH, seed + 0x100),
1120
- makeVkWitnessData(seed + 0x200),
1091
+ export function makePublicTxBaseRollupPrivateInputs(seed = 0) {
1092
+ const publicChonkVerifierProofData = makeProofData(
1093
+ seed,
1094
+ makePublicChonkVerifierPublicInputs,
1095
+ RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
1121
1096
  );
1122
- }
1123
-
1124
- function makeAvmProofData(seed = 1) {
1125
- return new AvmProofData(
1126
- makeAvmCircuitPublicInputs(seed),
1127
- makeRecursiveProof<typeof AVM_PROOF_LENGTH_IN_FIELDS>(AVM_PROOF_LENGTH_IN_FIELDS, seed + 0x100),
1128
- makeVkWitnessData(seed + 0x200),
1129
- );
1130
- }
1131
-
1132
- export function makePublicBaseRollupInputs(seed = 0) {
1133
- const tubeData = makePublicTubeData(seed);
1134
- const avmProofData = makeAvmProofData(seed + 0x100);
1097
+ const avmProofData = makeProofData(seed + 0x100, makeAvmCircuitPublicInputs, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED);
1135
1098
  const hints = makePublicBaseRollupHints(seed + 0x200);
1136
1099
 
1137
- return PublicBaseRollupInputs.from({
1138
- tubeData,
1100
+ return PublicTxBaseRollupPrivateInputs.from({
1101
+ publicChonkVerifierProofData,
1139
1102
  avmProofData,
1140
1103
  hints,
1141
1104
  });
@@ -1153,12 +1116,12 @@ export function makeExecutablePrivateFunctionWithMembershipProof(
1153
1116
  privateFunctionTreeLeafIndex: seed + 3,
1154
1117
  artifactMetadataHash: fr(seed + 4),
1155
1118
  functionMetadataHash: fr(seed + 5),
1156
- unconstrainedFunctionsArtifactTreeRoot: fr(seed + 6),
1119
+ utilityFunctionsTreeRoot: fr(seed + 6),
1157
1120
  vkHash: fr(seed + 7),
1158
1121
  };
1159
1122
  }
1160
1123
 
1161
- export function makeUnconstrainedFunctionWithMembershipProof(seed = 0): UnconstrainedFunctionWithMembershipProof {
1124
+ export function makeUtilityFunctionWithMembershipProof(seed = 0): UtilityFunctionWithMembershipProof {
1162
1125
  return {
1163
1126
  selector: makeSelector(seed),
1164
1127
  bytecode: makeBytes(100, seed + 1),
@@ -1170,16 +1133,10 @@ export function makeUnconstrainedFunctionWithMembershipProof(seed = 0): Unconstr
1170
1133
  };
1171
1134
  }
1172
1135
 
1173
- export async function makeContractClassPublic(
1174
- seed = 0,
1175
- publicDispatchFunction?: PublicFunction,
1176
- ): Promise<ContractClassPublic> {
1136
+ export async function makeContractClassPublic(seed = 0, publicBytecode?: Buffer): Promise<ContractClassPublic> {
1177
1137
  const artifactHash = fr(seed + 1);
1178
- const publicFunctions = publicDispatchFunction
1179
- ? [publicDispatchFunction]
1180
- : makeTuple(1, makeContractClassPublicFunction, seed + 2);
1181
1138
  const privateFunctionsRoot = fr(seed + 3);
1182
- const packedBytecode = publicDispatchFunction?.bytecode ?? makeBytes(100, seed + 4);
1139
+ const packedBytecode = publicBytecode ?? makeBytes(100, seed + 4);
1183
1140
  const publicBytecodeCommitment = await computePublicBytecodeCommitment(packedBytecode);
1184
1141
  const id = await computeContractClassId({ artifactHash, privateFunctionsRoot, publicBytecodeCommitment });
1185
1142
  return {
@@ -1187,20 +1144,12 @@ export async function makeContractClassPublic(
1187
1144
  artifactHash,
1188
1145
  packedBytecode,
1189
1146
  privateFunctionsRoot,
1190
- publicFunctions,
1191
1147
  privateFunctions: [],
1192
- unconstrainedFunctions: [],
1148
+ utilityFunctions: [],
1193
1149
  version: 1,
1194
1150
  };
1195
1151
  }
1196
1152
 
1197
- function makeContractClassPublicFunction(seed = 0): PublicFunction {
1198
- return {
1199
- selector: FunctionSelector.fromField(fr(seed + 1)),
1200
- bytecode: makeBytes(100, seed + 2),
1201
- };
1202
- }
1203
-
1204
1153
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1205
1154
  function makeContractClassPrivateFunction(seed = 0): PrivateFunction {
1206
1155
  return {
@@ -1237,13 +1186,10 @@ export async function makeMapAsync<T>(size: number, fn: (i: number) => Promise<[
1237
1186
  return new Map(await makeArrayAsync(size, i => fn(i + offset)));
1238
1187
  }
1239
1188
 
1240
- export function makePublicKeys(seed = 0): PublicKeys {
1241
- return new PublicKeys(
1242
- new Point(new Fr(seed + 0), new Fr(seed + 1), false),
1243
- new Point(new Fr(seed + 2), new Fr(seed + 3), false),
1244
- new Point(new Fr(seed + 4), new Fr(seed + 5), false),
1245
- new Point(new Fr(seed + 6), new Fr(seed + 7), false),
1246
- );
1189
+ export async function makePublicKeys(seed = 0): Promise<PublicKeys> {
1190
+ const f = (offset: number) => Grumpkin.mul(Grumpkin.generator, new Fq(seed + offset));
1191
+
1192
+ return new PublicKeys(await f(0), await f(1), await f(2), await f(3));
1247
1193
  }
1248
1194
 
1249
1195
  export async function makeContractInstanceFromClassId(
@@ -1259,7 +1205,7 @@ export async function makeContractInstanceFromClassId(
1259
1205
  const salt = new Fr(seed);
1260
1206
  const initializationHash = overrides?.initializationHash ?? new Fr(seed + 1);
1261
1207
  const deployer = overrides?.deployer ?? new AztecAddress(new Fr(seed + 2));
1262
- const publicKeys = overrides?.publicKeys ?? makePublicKeys(seed + 3);
1208
+ const publicKeys = overrides?.publicKeys ?? (await makePublicKeys(seed + 3));
1263
1209
 
1264
1210
  const saltedInitializationHash = await poseidon2HashWithSeparator(
1265
1211
  [salt, initializationHash, deployer],
@@ -1281,51 +1227,138 @@ export async function makeContractInstanceFromClassId(
1281
1227
  }).withAddress(address);
1282
1228
  }
1283
1229
 
1284
- export function makeAvmTreeHints(seed = 0): AvmAppendTreeHint {
1285
- return new AvmAppendTreeHint(
1286
- new Fr(seed),
1287
- new Fr(seed + 1),
1288
- makeArray(10, i => new Fr(i), seed + 0x1000),
1230
+ export function makeAvmGetSiblingPathHint(seed = 0): AvmGetSiblingPathHint {
1231
+ // We want a possibly large index, but non-random.
1232
+ const index = BigInt(`0x${sha256(Buffer.from(seed.toString())).toString('hex')}`) % (1n << 64n);
1233
+ return new AvmGetSiblingPathHint(
1234
+ makeAppendOnlyTreeSnapshot(seed),
1235
+ /*treeId=*/ (seed + 1) % 5,
1236
+ /*index=*/ index,
1237
+ makeArray(seed % 64, i => new Fr(i), seed + 10),
1238
+ );
1239
+ }
1240
+
1241
+ export function makeAvmGetPreviousValueIndexHint(seed = 0): AvmGetPreviousValueIndexHint {
1242
+ // We want a possibly large index, but non-random.
1243
+ const index = BigInt(`0x${sha256(Buffer.from(seed.toString())).toString('hex')}`) % (1n << 64n);
1244
+ const value = new Fr(BigInt(`0x${sha256(Buffer.from((seed + 2).toString())).toString('hex')}`) % (1n << 128n));
1245
+ return new AvmGetPreviousValueIndexHint(
1246
+ makeAppendOnlyTreeSnapshot(seed),
1247
+ /*treeId=*/ (seed + 1) % 5,
1248
+ value,
1249
+ index,
1250
+ /*alreadyPresent=*/ index % 2n === 0n,
1251
+ );
1252
+ }
1253
+
1254
+ export function makeAvmGetLeafPreimageHintPublicDataTree(seed = 0): AvmGetLeafPreimageHintPublicDataTree {
1255
+ // We want a possibly large index, but non-random.
1256
+ const index = BigInt(`0x${sha256(Buffer.from(seed.toString())).toString('hex')}`) % (1n << 64n);
1257
+ return new AvmGetLeafPreimageHintPublicDataTree(
1258
+ makeAppendOnlyTreeSnapshot(seed),
1259
+ /*index=*/ index,
1260
+ /*leafPreimage=*/ makePublicDataTreeLeafPreimage(seed + 3),
1261
+ );
1262
+ }
1263
+
1264
+ export function makeAvmGetLeafPreimageHintNullifierTree(seed = 0): AvmGetLeafPreimageHintNullifierTree {
1265
+ // We want a possibly large index, but non-random.
1266
+ const index = BigInt(`0x${sha256(Buffer.from(seed.toString())).toString('hex')}`) % (1n << 64n);
1267
+ return new AvmGetLeafPreimageHintNullifierTree(
1268
+ makeAppendOnlyTreeSnapshot(seed),
1269
+ /*index=*/ index,
1270
+ /*leafPreimage=*/ makeNullifierLeafPreimage(seed + 3),
1271
+ );
1272
+ }
1273
+
1274
+ export function makeAvmGetLeafValueHint(seed = 0): AvmGetLeafValueHint {
1275
+ // We want a possibly large index, but non-random.
1276
+ const index = BigInt(`0x${sha256(Buffer.from(seed.toString())).toString('hex')}`) % (1n << 64n);
1277
+ return new AvmGetLeafValueHint(
1278
+ makeAppendOnlyTreeSnapshot(seed),
1279
+ /*treeId=*/ (seed + 1) % 5,
1280
+ /*index=*/ index,
1281
+ /*value=*/ new Fr(seed + 3),
1282
+ );
1283
+ }
1284
+
1285
+ export function makeAvmSequentialInsertHintPublicDataTree(seed = 0): AvmSequentialInsertHintPublicDataTree {
1286
+ const lowLeavesWitnessData = {
1287
+ leaf: makePublicDataTreeLeafPreimage(seed + 3),
1288
+ index: BigInt(seed + 4),
1289
+ path: makeArray(seed % 64, i => new Fr(i), seed + 5),
1290
+ };
1291
+ const insertionWitnessData = {
1292
+ leaf: makePublicDataTreeLeafPreimage(seed + 6),
1293
+ index: BigInt(seed + 7),
1294
+ path: makeArray(seed % 64, i => new Fr(i), seed + 8),
1295
+ };
1296
+
1297
+ return new AvmSequentialInsertHintPublicDataTree(
1298
+ makeAppendOnlyTreeSnapshot(seed),
1299
+ makeAppendOnlyTreeSnapshot(seed + 1),
1300
+ MerkleTreeId.PUBLIC_DATA_TREE,
1301
+ makePublicDataTreeLeaf(seed + 2),
1302
+ lowLeavesWitnessData,
1303
+ insertionWitnessData,
1289
1304
  );
1290
1305
  }
1291
1306
 
1292
- export function makeAvmNullifierReadTreeHints(seed = 0): AvmNullifierReadTreeHint {
1293
- const lowNullifierPreimage = new NullifierLeafPreimage(new Fr(seed), new Fr(seed + 1), BigInt(seed + 2));
1294
- return new AvmNullifierReadTreeHint(
1295
- lowNullifierPreimage,
1296
- new Fr(seed + 1),
1297
- makeArray(10, i => new Fr(i), seed + 0x1000),
1307
+ export function makeAvmSequentialInsertHintNullifierTree(seed = 0): AvmSequentialInsertHintNullifierTree {
1308
+ const lowLeavesWitnessData = {
1309
+ leaf: makeNullifierLeafPreimage(seed + 3),
1310
+ index: BigInt(seed + 4),
1311
+ path: makeArray(seed % 64, i => new Fr(i), seed + 5),
1312
+ };
1313
+ const insertionWitnessData = {
1314
+ leaf: makeNullifierLeafPreimage(seed + 6),
1315
+ index: BigInt(seed + 7),
1316
+ path: makeArray(seed % 64, i => new Fr(i), seed + 8),
1317
+ };
1318
+
1319
+ return new AvmSequentialInsertHintNullifierTree(
1320
+ makeAppendOnlyTreeSnapshot(seed),
1321
+ makeAppendOnlyTreeSnapshot(seed + 1),
1322
+ MerkleTreeId.NULLIFIER_TREE,
1323
+ makeNullifierLeaf(seed + 2),
1324
+ lowLeavesWitnessData,
1325
+ insertionWitnessData,
1298
1326
  );
1299
1327
  }
1300
1328
 
1301
- export function makeAvmPublicDataReadTreeHints(seed = 0): AvmPublicDataReadTreeHint {
1302
- return new AvmPublicDataReadTreeHint(
1303
- new PublicDataTreeLeafPreimage(new Fr(seed), new Fr(seed + 1), new Fr(seed + 2), BigInt(seed + 3)),
1304
- new Fr(seed + 1),
1305
- makeArray(10, i => new Fr(i), seed + 0x1000),
1329
+ export function makeAvmAppendLeavesHint(seed = 0): AvmAppendLeavesHint {
1330
+ return new AvmAppendLeavesHint(
1331
+ makeAppendOnlyTreeSnapshot(seed),
1332
+ makeAppendOnlyTreeSnapshot(seed + 1),
1333
+ // Use NOTE_HASH_TREE or L1_TO_L2_MESSAGE_TREE as mentioned in the comment on AvmAppendLeavesHint
1334
+ seed % 2 === 0 ? MerkleTreeId.NOTE_HASH_TREE : MerkleTreeId.L1_TO_L2_MESSAGE_TREE,
1335
+ makeArray((seed % 5) + 1, i => new Fr(seed + i + 2), 0),
1306
1336
  );
1307
1337
  }
1308
1338
 
1309
- export function makeAvmNullifierInsertionTreeHints(seed = 0): AvmNullifierWriteTreeHint {
1310
- return new AvmNullifierWriteTreeHint(
1311
- makeAvmNullifierReadTreeHints(seed),
1312
- makeArray(20, i => new Fr(i), seed + 0x1000),
1339
+ export function makeAvmCheckpointActionCreateCheckpointHint(seed = 0): AvmCreateCheckpointHint {
1340
+ return new AvmCreateCheckpointHint(
1341
+ /*actionCounter=*/ seed,
1342
+ /*oldCheckpointId=*/ seed + 1,
1343
+ /*newCheckpointId=*/ seed + 2,
1313
1344
  );
1314
1345
  }
1315
1346
 
1316
- export function makeAvmStorageReadTreeHints(seed = 0): AvmPublicDataReadTreeHint {
1317
- return new AvmPublicDataReadTreeHint(
1318
- new PublicDataTreeLeafPreimage(new Fr(seed), new Fr(seed + 1), new Fr(seed + 2), BigInt(seed + 3)),
1319
- new Fr(seed + 1),
1320
- makeArray(10, i => new Fr(i), seed + 0x1000),
1347
+ export function makeAvmCheckpointActionCommitCheckpointHint(seed = 0): AvmCommitCheckpointHint {
1348
+ return new AvmCommitCheckpointHint(
1349
+ /*actionCounter=*/ seed,
1350
+ /*oldCheckpointId=*/ seed + 1,
1351
+ /*newCheckpointId=*/ seed + 2,
1321
1352
  );
1322
1353
  }
1323
1354
 
1324
- export function makeAvmStorageUpdateTreeHints(seed = 0): AvmPublicDataWriteTreeHint {
1325
- return new AvmPublicDataWriteTreeHint(
1326
- makeAvmStorageReadTreeHints(seed),
1327
- new PublicDataTreeLeafPreimage(new Fr(seed), new Fr(seed + 1), new Fr(seed + 2), BigInt(seed + 3)),
1328
- makeArray(20, i => new Fr(i), seed + 0x1000),
1355
+ export function makeAvmCheckpointActionRevertCheckpointHint(seed = 0): AvmRevertCheckpointHint {
1356
+ return new AvmRevertCheckpointHint(
1357
+ /*actionCounter=*/ seed,
1358
+ /*oldCheckpointId=*/ seed + 1,
1359
+ /*newCheckpointId=*/ seed + 2,
1360
+ /*beforeState=*/ makeTreeSnapshots(seed + 3),
1361
+ /*afterState=*/ makeTreeSnapshots(seed + 7),
1329
1362
  );
1330
1363
  }
1331
1364
 
@@ -1337,7 +1370,6 @@ export function makeAvmStorageUpdateTreeHints(seed = 0): AvmPublicDataWriteTreeH
1337
1370
  export function makeAvmContractInstanceHint(seed = 0): AvmContractInstanceHint {
1338
1371
  return new AvmContractInstanceHint(
1339
1372
  new AztecAddress(new Fr(seed)),
1340
- true /* exists */,
1341
1373
  new Fr(seed + 0x2),
1342
1374
  new AztecAddress(new Fr(seed + 0x3)),
1343
1375
  new Fr(seed + 0x4),
@@ -1349,8 +1381,6 @@ export function makeAvmContractInstanceHint(seed = 0): AvmContractInstanceHint {
1349
1381
  new Point(new Fr(seed + 0x11), new Fr(seed + 0x12), false),
1350
1382
  new Point(new Fr(seed + 0x13), new Fr(seed + 0x14), false),
1351
1383
  ),
1352
- makeAvmPublicDataReadTreeHints(seed + 0x2000),
1353
- makeArray(4, i => new Fr(i), seed + 0x3000),
1354
1384
  );
1355
1385
  }
1356
1386
 
@@ -1358,22 +1388,49 @@ export function makeAvmContractInstanceHint(seed = 0): AvmContractInstanceHint {
1358
1388
  * @param seed - The seed to use for generating the state reference.
1359
1389
  * @returns AvmContractClassHint.
1360
1390
  */
1361
- export async function makeAvmContractClassHint(seed = 0): Promise<AvmContractClassHint> {
1391
+ export function makeAvmContractClassHint(seed = 0): AvmContractClassHint {
1362
1392
  const bytecode = makeBytes(32, seed + 0x5);
1363
- return new AvmContractClassHint(
1364
- new Fr(seed),
1365
- true /* exists */,
1366
- new Fr(seed + 0x2),
1367
- new Fr(seed + 0x3),
1368
- await computePublicBytecodeCommitment(bytecode),
1369
- bytecode,
1370
- );
1393
+ return new AvmContractClassHint(new Fr(seed), new Fr(seed + 0x2), new Fr(seed + 0x3), bytecode);
1394
+ }
1395
+
1396
+ export async function makeAvmBytecodeCommitmentHint(seed = 0): Promise<AvmBytecodeCommitmentHint> {
1397
+ const classId = new Fr(seed + 2);
1398
+ const bytecode = makeBytes(32, seed + 0x5);
1399
+ return new AvmBytecodeCommitmentHint(classId, await computePublicBytecodeCommitment(bytecode));
1371
1400
  }
1372
1401
 
1373
- export function makeAvmEnqueuedCallHint(seed = 0): AvmEnqueuedCallHint {
1374
- return new AvmEnqueuedCallHint(
1402
+ export async function makePublicCallRequestWithCalldata(seed = 0): Promise<PublicCallRequestWithCalldata> {
1403
+ const calldata = makeArray((seed % 20) + 4, i => new Fr(i), seed + 0x1000);
1404
+ const calldataHash = await computeCalldataHash(calldata);
1405
+ const publicCallRequest = new PublicCallRequest(
1375
1406
  new AztecAddress(new Fr(seed)),
1376
- makeArray((seed % 20) + 4, i => new Fr(i), seed + 0x1000),
1407
+ new AztecAddress(new Fr(seed + 1)),
1408
+ false /*isStatic*/,
1409
+ calldataHash,
1410
+ );
1411
+ return new PublicCallRequestWithCalldata(publicCallRequest, calldata);
1412
+ }
1413
+
1414
+ export async function makeAvmTxHint(seed = 0): Promise<AvmTxHint> {
1415
+ return new AvmTxHint(
1416
+ `txhash-${seed}`,
1417
+ makeGasSettings(),
1418
+ makeGasFees(seed + 0x1000),
1419
+ {
1420
+ noteHashes: makeArray((seed % 20) + 4, i => new Fr(i), seed + 0x1000),
1421
+ nullifiers: makeArray((seed % 20) + 4, i => new Fr(i), seed + 0x2000),
1422
+ l2ToL1Messages: makeArray((seed % 20) + 4, i => makeScopedL2ToL1Message(i), seed + 0x3000),
1423
+ },
1424
+ {
1425
+ noteHashes: makeArray((seed % 20) + 4, i => new Fr(i), seed + 0x3000),
1426
+ nullifiers: makeArray((seed % 20) + 4, i => new Fr(i), seed + 0x4000),
1427
+ l2ToL1Messages: makeArray((seed % 20) + 4, i => makeScopedL2ToL1Message(i), seed + 0x5000),
1428
+ },
1429
+ await makeArrayAsync((seed % 20) + 4, i => makePublicCallRequestWithCalldata(i), seed + 0x5000), //setupEnqueuedCalls
1430
+ await makeArrayAsync((seed % 20) + 4, i => makePublicCallRequestWithCalldata(i), seed + 0x6000), // appLogicEnqueuedCalls
1431
+ await makePublicCallRequestWithCalldata(seed + 0x7000), // teardownEnqueuedCall
1432
+ makeGas(seed + 0x8000), // gasUsedByPrivate
1433
+ makeAztecAddress(seed + 0x9000), // feePayer
1377
1434
  );
1378
1435
  }
1379
1436
 
@@ -1391,30 +1448,58 @@ export async function makeAvmExecutionHints(
1391
1448
  const baseLength = lengthOffset + (seed % lengthSeedMod);
1392
1449
 
1393
1450
  const fields = {
1394
- enqueuedCalls: makeArray(baseLength, makeAvmEnqueuedCallHint, seed + 0x4100),
1395
- contractInstances: makeArray(baseLength + 5, makeAvmContractInstanceHint, seed + 0x4700),
1396
- contractClasses: await makeArrayAsync(baseLength + 5, makeAvmContractClassHint, seed + 0x4900),
1397
- publicDataReads: makeArray(baseLength + 7, makeAvmStorageReadTreeHints, seed + 0x4900),
1398
- publicDataWrites: makeArray(baseLength + 8, makeAvmStorageUpdateTreeHints, seed + 0x4a00),
1399
- nullifierReads: makeArray(baseLength + 9, makeAvmNullifierReadTreeHints, seed + 0x4b00),
1400
- nullifierWrites: makeArray(baseLength + 10, makeAvmNullifierInsertionTreeHints, seed + 0x4c00),
1401
- noteHashReads: makeArray(baseLength + 11, makeAvmTreeHints, seed + 0x4d00),
1402
- noteHashWrites: makeArray(baseLength + 12, makeAvmTreeHints, seed + 0x4e00),
1403
- l1ToL2MessageReads: makeArray(baseLength + 13, makeAvmTreeHints, seed + 0x4f00),
1451
+ globalVariables: makeGlobalVariables(seed + 0x4000),
1452
+ tx: await makeAvmTxHint(seed + 0x4100),
1453
+ protocolContracts: new ProtocolContracts(makeTuple(MAX_PROTOCOL_CONTRACTS, makeAztecAddress, seed + 0x4600)),
1454
+ contractInstances: makeArray(baseLength + 2, makeAvmContractInstanceHint, seed + 0x4700),
1455
+ contractClasses: makeArray(baseLength + 5, makeAvmContractClassHint, seed + 0x4900),
1456
+ bytecodeCommitments: await makeArrayAsync(baseLength + 5, makeAvmBytecodeCommitmentHint, seed + 0x4900),
1457
+ startingTreeRoots: makeTreeSnapshots(seed + 0x4900),
1458
+ getSiblingPathHints: makeArray(baseLength + 5, makeAvmGetSiblingPathHint, seed + 0x4b00),
1459
+ getPreviousValueIndexHints: makeArray(baseLength + 5, makeAvmGetPreviousValueIndexHint, seed + 0x4d00),
1460
+ getLeafPreimageHintPublicDataTree: makeArray(
1461
+ baseLength + 5,
1462
+ makeAvmGetLeafPreimageHintPublicDataTree,
1463
+ seed + 0x4f00,
1464
+ ),
1465
+ getLeafPreimageHintNullifierTree: makeArray(baseLength + 5, makeAvmGetLeafPreimageHintNullifierTree, seed + 0x5100),
1466
+ getLeafValueHints: makeArray(baseLength + 5, makeAvmGetLeafValueHint, seed + 0x5300),
1467
+ sequentialInsertHintsPublicDataTree: makeArray(
1468
+ baseLength + 5,
1469
+ makeAvmSequentialInsertHintPublicDataTree,
1470
+ seed + 0x5500,
1471
+ ),
1472
+ sequentialInsertHintsNullifierTree: makeArray(
1473
+ baseLength + 5,
1474
+ makeAvmSequentialInsertHintNullifierTree,
1475
+ seed + 0x5700,
1476
+ ),
1477
+ appendLeavesHints: makeArray(baseLength + 5, makeAvmAppendLeavesHint, seed + 0x5800),
1478
+ createCheckpointHints: makeArray(baseLength + 5, makeAvmCheckpointActionCreateCheckpointHint, seed + 0x5900),
1479
+ commitCheckpointHints: makeArray(baseLength + 5, makeAvmCheckpointActionCommitCheckpointHint, seed + 0x5b00),
1480
+ revertCheckpointHints: makeArray(baseLength + 5, makeAvmCheckpointActionRevertCheckpointHint, seed + 0x5d00),
1404
1481
  ...overrides,
1405
1482
  };
1406
1483
 
1407
1484
  return new AvmExecutionHints(
1408
- fields.enqueuedCalls,
1485
+ fields.globalVariables,
1486
+ fields.tx,
1487
+ fields.protocolContracts,
1409
1488
  fields.contractInstances,
1410
1489
  fields.contractClasses,
1411
- fields.publicDataReads,
1412
- fields.publicDataWrites,
1413
- fields.nullifierReads,
1414
- fields.nullifierWrites,
1415
- fields.noteHashReads,
1416
- fields.noteHashWrites,
1417
- fields.l1ToL2MessageReads,
1490
+ fields.bytecodeCommitments,
1491
+ fields.startingTreeRoots,
1492
+ fields.getSiblingPathHints,
1493
+ fields.getPreviousValueIndexHints,
1494
+ fields.getLeafPreimageHintPublicDataTree,
1495
+ fields.getLeafPreimageHintNullifierTree,
1496
+ fields.getLeafValueHints,
1497
+ fields.sequentialInsertHintsPublicDataTree,
1498
+ fields.sequentialInsertHintsNullifierTree,
1499
+ fields.appendLeavesHints,
1500
+ fields.createCheckpointHints,
1501
+ fields.commitCheckpointHints,
1502
+ fields.revertCheckpointHints,
1418
1503
  );
1419
1504
  }
1420
1505
 
@@ -1428,14 +1513,12 @@ export async function makeAvmCircuitInputs(
1428
1513
  overrides: Partial<FieldsOf<AvmCircuitInputs>> = {},
1429
1514
  ): Promise<AvmCircuitInputs> {
1430
1515
  const fields = {
1431
- functionName: `function${seed}`,
1432
- calldata: makeArray((seed % 100) + 10, i => new Fr(i), seed + 0x1000),
1433
- avmHints: await makeAvmExecutionHints(seed + 0x3000),
1516
+ hints: await makeAvmExecutionHints(seed + 0x3000),
1434
1517
  publicInputs: makeAvmCircuitPublicInputs(seed + 0x4000),
1435
1518
  ...overrides,
1436
1519
  };
1437
1520
 
1438
- return new AvmCircuitInputs(fields.functionName, fields.calldata, fields.avmHints, fields.publicInputs);
1521
+ return new AvmCircuitInputs(fields.hints, fields.publicInputs);
1439
1522
  }
1440
1523
 
1441
1524
  /**
@@ -1457,10 +1540,13 @@ export async function makeBloatedProcessedTx({
1457
1540
  version = Fr.ZERO,
1458
1541
  gasSettings = GasSettings.default({ maxFeesPerGas: new GasFees(10, 10) }),
1459
1542
  vkTreeRoot = Fr.ZERO,
1460
- protocolContractTreeRoot = Fr.ZERO,
1543
+ protocolContracts = makeProtocolContracts(seed + 0x100),
1461
1544
  globalVariables = GlobalVariables.empty(),
1545
+ newL1ToL2Snapshot = AppendOnlyTreeSnapshot.empty(),
1462
1546
  feePayer,
1463
1547
  feePaymentPublicDataWrite,
1548
+ // The default gasUsed is the tx overhead.
1549
+ gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS }),
1464
1550
  privateOnly = false,
1465
1551
  }: {
1466
1552
  seed?: number;
@@ -1471,9 +1557,11 @@ export async function makeBloatedProcessedTx({
1471
1557
  gasSettings?: GasSettings;
1472
1558
  vkTreeRoot?: Fr;
1473
1559
  globalVariables?: GlobalVariables;
1474
- protocolContractTreeRoot?: Fr;
1560
+ newL1ToL2Snapshot?: AppendOnlyTreeSnapshot;
1561
+ protocolContracts?: ProtocolContracts;
1475
1562
  feePayer?: AztecAddress;
1476
1563
  feePaymentPublicDataWrite?: PublicDataWrite;
1564
+ gasUsed?: Gas;
1477
1565
  privateOnly?: boolean;
1478
1566
  } = {}) {
1479
1567
  seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
@@ -1481,52 +1569,85 @@ export async function makeBloatedProcessedTx({
1481
1569
  feePayer ??= await AztecAddress.random();
1482
1570
 
1483
1571
  const txConstantData = TxConstantData.empty();
1484
- txConstantData.historicalHeader = header!;
1572
+ txConstantData.anchorBlockHeader = header!;
1485
1573
  txConstantData.txContext.chainId = chainId;
1486
1574
  txConstantData.txContext.version = version;
1487
1575
  txConstantData.txContext.gasSettings = gasSettings;
1488
1576
  txConstantData.vkTreeRoot = vkTreeRoot;
1489
- txConstantData.protocolContractTreeRoot = protocolContractTreeRoot;
1577
+ txConstantData.protocolContractsHash = await protocolContracts.hash();
1490
1578
 
1491
1579
  const tx = !privateOnly
1492
- ? await mockTx(seed, { feePayer })
1580
+ ? await mockTx(seed, { feePayer, gasUsed })
1493
1581
  : await mockTx(seed, {
1494
1582
  numberOfNonRevertiblePublicCallRequests: 0,
1495
1583
  numberOfRevertiblePublicCallRequests: 0,
1496
1584
  feePayer,
1585
+ gasUsed,
1497
1586
  });
1498
1587
  tx.data.constants = txConstantData;
1499
1588
 
1500
- // No side effects were created in mockTx. The default gasUsed is the tx overhead.
1501
- tx.data.gasUsed = Gas.from({ daGas: FIXED_DA_GAS, l2Gas: FIXED_L2_GAS });
1589
+ const transactionFee = tx.data.gasUsed.computeFee(globalVariables.gasFees);
1502
1590
 
1503
1591
  if (privateOnly) {
1504
1592
  const data = makePrivateToRollupAccumulatedData(seed + 0x1000);
1593
+ clearContractClassLogs(data);
1505
1594
 
1506
- const transactionFee = tx.data.gasUsed.computeFee(globalVariables.gasFees);
1507
1595
  feePaymentPublicDataWrite ??= new PublicDataWrite(Fr.random(), Fr.random());
1508
1596
 
1509
- clearLogs(data);
1510
-
1511
1597
  tx.data.forRollup!.end = data;
1512
1598
 
1599
+ await tx.recomputeHash();
1513
1600
  return makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePaymentPublicDataWrite, globalVariables);
1514
1601
  } else {
1515
- const nonRevertibleData = tx.data.forPublic!.nonRevertibleAccumulatedData;
1516
- const revertibleData = makePrivateToPublicAccumulatedData(seed + 0x1000);
1517
-
1518
- revertibleData.nullifiers[MAX_NULLIFIERS_PER_TX - 1] = Fr.ZERO; // Leave one space for the tx hash nullifier in nonRevertibleAccumulatedData.
1602
+ const dataFromPrivate = tx.data.forPublic!;
1519
1603
 
1520
- clearLogs(revertibleData);
1604
+ const nonRevertibleData = dataFromPrivate.nonRevertibleAccumulatedData;
1521
1605
 
1522
- tx.data.forPublic!.revertibleAccumulatedData = revertibleData;
1606
+ // Create revertible data.
1607
+ const revertibleData = makePrivateToPublicAccumulatedData(seed + 0x1000);
1608
+ clearContractClassLogs(revertibleData);
1609
+ revertibleData.nullifiers[MAX_NULLIFIERS_PER_TX - 1] = Fr.ZERO; // Leave one space for the tx hash nullifier in nonRevertibleAccumulatedData.
1610
+ dataFromPrivate.revertibleAccumulatedData = revertibleData;
1523
1611
 
1612
+ // Create avm output.
1524
1613
  const avmOutput = AvmCircuitPublicInputs.empty();
1614
+ // Assign data from hints.
1615
+ avmOutput.protocolContracts = protocolContracts;
1616
+ avmOutput.startTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
1617
+ avmOutput.endTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
1618
+ avmOutput.effectiveGasFees = computeEffectiveGasFees(globalVariables.gasFees, gasSettings);
1619
+ // Assign data from private.
1525
1620
  avmOutput.globalVariables = globalVariables;
1621
+ avmOutput.startGasUsed = tx.data.gasUsed;
1622
+ avmOutput.gasSettings = gasSettings;
1623
+ avmOutput.feePayer = feePayer;
1624
+ avmOutput.publicCallRequestArrayLengths = new PublicCallRequestArrayLengths(
1625
+ tx.data.numberOfNonRevertiblePublicCallRequests(),
1626
+ tx.data.numberOfRevertiblePublicCallRequests(),
1627
+ tx.data.hasTeardownPublicCallRequest(),
1628
+ );
1629
+ avmOutput.publicSetupCallRequests = dataFromPrivate.nonRevertibleAccumulatedData.publicCallRequests;
1630
+ avmOutput.publicAppLogicCallRequests = dataFromPrivate.revertibleAccumulatedData.publicCallRequests;
1631
+ avmOutput.publicTeardownCallRequest = dataFromPrivate.publicTeardownCallRequest;
1632
+ avmOutput.previousNonRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(
1633
+ dataFromPrivate.nonRevertibleAccumulatedData.noteHashes,
1634
+ dataFromPrivate.nonRevertibleAccumulatedData.nullifiers,
1635
+ dataFromPrivate.nonRevertibleAccumulatedData.l2ToL1Msgs,
1636
+ );
1637
+ avmOutput.previousNonRevertibleAccumulatedDataArrayLengths =
1638
+ avmOutput.previousNonRevertibleAccumulatedData.getArrayLengths();
1639
+ avmOutput.previousRevertibleAccumulatedData = new PrivateToAvmAccumulatedData(
1640
+ dataFromPrivate.revertibleAccumulatedData.noteHashes,
1641
+ dataFromPrivate.revertibleAccumulatedData.nullifiers,
1642
+ dataFromPrivate.revertibleAccumulatedData.l2ToL1Msgs,
1643
+ );
1644
+ avmOutput.previousRevertibleAccumulatedDataArrayLengths =
1645
+ avmOutput.previousRevertibleAccumulatedData.getArrayLengths();
1646
+ // Assign final data emitted from avm.
1526
1647
  avmOutput.accumulatedData.noteHashes = revertibleData.noteHashes;
1527
- avmOutput.accumulatedData.nullifiers = mergeAccumulatedData(
1528
- nonRevertibleData.nullifiers,
1529
- revertibleData.nullifiers,
1648
+ avmOutput.accumulatedData.nullifiers = padArrayEnd(
1649
+ nonRevertibleData.nullifiers.concat(revertibleData.nullifiers).filter(n => !n.isEmpty()),
1650
+ Fr.ZERO,
1530
1651
  MAX_NULLIFIERS_PER_TX,
1531
1652
  );
1532
1653
  avmOutput.accumulatedData.l2ToL1Msgs = revertibleData.l2ToL1Msgs;
@@ -1535,8 +1656,15 @@ export async function makeBloatedProcessedTx({
1535
1656
  i => new PublicDataWrite(new Fr(i), new Fr(i + 10)),
1536
1657
  seed + 0x2000,
1537
1658
  );
1659
+ avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
1660
+ avmOutput.gasSettings = gasSettings;
1661
+ // Note: The fee is computed from the tx's gas used, which only includes the gas used in private. But this shouldn't
1662
+ // be a problem for the tests.
1663
+ avmOutput.transactionFee = transactionFee;
1538
1664
 
1539
1665
  const avmCircuitInputs = await makeAvmCircuitInputs(seed + 0x3000, { publicInputs: avmOutput });
1666
+ avmCircuitInputs.hints.startingTreeRoots.l1ToL2MessageTree = newL1ToL2Snapshot;
1667
+
1540
1668
  const gasUsed = {
1541
1669
  totalGas: Gas.empty(),
1542
1670
  teardownGas: Gas.empty(),
@@ -1544,6 +1672,7 @@ export async function makeBloatedProcessedTx({
1544
1672
  billedGas: Gas.empty(),
1545
1673
  } satisfies GasUsed;
1546
1674
 
1675
+ await tx.recomputeHash();
1547
1676
  return makeProcessedTxFromTxWithPublicCalls(
1548
1677
  tx,
1549
1678
  {
@@ -1557,8 +1686,8 @@ export async function makeBloatedProcessedTx({
1557
1686
  }
1558
1687
  }
1559
1688
 
1560
- // Remove all logs as it's ugly to mock them at the moment and we are going to change it to have the preimages be part of the public inputs soon.
1561
- function clearLogs(data: { publicLogs?: PublicLog[]; contractClassLogsHashes: ScopedLogHash[] }) {
1562
- data.publicLogs?.forEach((_, i) => (data.publicLogs![i] = PublicLog.empty()));
1689
+ // Remove all contract class log hashes from the data as they are not required for the current tests.
1690
+ // If they are needed one day, change this to create the random fields first and update the data with real hashes of those fields.
1691
+ function clearContractClassLogs(data: { contractClassLogsHashes: ScopedLogHash[] }) {
1563
1692
  data.contractClassLogsHashes.forEach((_, i) => (data.contractClassLogsHashes[i] = ScopedLogHash.empty()));
1564
1693
  }