@aztec/stdlib 5.0.0-private.20260318 → 5.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +31 -7
  12. package/dest/abi/decoder.d.ts +5 -44
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +12 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +32 -6
  18. package/dest/abi/event_selector.d.ts +4 -7
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +7 -25
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_selector.d.ts +3 -6
  23. package/dest/abi/function_selector.d.ts.map +1 -1
  24. package/dest/abi/function_selector.js +2 -4
  25. package/dest/abi/function_signature_decoder.d.ts +43 -0
  26. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  27. package/dest/abi/function_signature_decoder.js +66 -0
  28. package/dest/abi/index.d.ts +2 -1
  29. package/dest/abi/index.d.ts.map +1 -1
  30. package/dest/abi/index.js +1 -0
  31. package/dest/abi/note_selector.d.ts +4 -7
  32. package/dest/abi/note_selector.d.ts.map +1 -1
  33. package/dest/abi/note_selector.js +1 -3
  34. package/dest/abi/selector.d.ts +2 -2
  35. package/dest/abi/selector.d.ts.map +1 -1
  36. package/dest/abi/selector.js +1 -1
  37. package/dest/abi/utils.d.ts +1 -1
  38. package/dest/abi/utils.d.ts.map +1 -1
  39. package/dest/abi/utils.js +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -2
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/avm/avm.d.ts +1756 -10463
  43. package/dest/avm/avm.d.ts.map +1 -1
  44. package/dest/avm/avm.js +6 -3
  45. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  46. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  48. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  49. package/dest/avm/avm_proving_request.d.ts +653 -5446
  50. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  51. package/dest/avm/message_pack.js +12 -3
  52. package/dest/avm/public_data_write.d.ts +6 -12
  53. package/dest/avm/public_data_write.d.ts.map +1 -1
  54. package/dest/avm/revert_code.d.ts +5 -21
  55. package/dest/avm/revert_code.d.ts.map +1 -1
  56. package/dest/avm/revert_code.js +12 -30
  57. package/dest/aztec-address/index.d.ts +8 -8
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +9 -6
  60. package/dest/block/attestation_info.d.ts +3 -2
  61. package/dest/block/attestation_info.d.ts.map +1 -1
  62. package/dest/block/attestation_info.js +7 -5
  63. package/dest/block/block_data.d.ts +13 -38
  64. package/dest/block/block_data.d.ts.map +1 -1
  65. package/dest/block/block_data.js +2 -2
  66. package/dest/block/block_hash.d.ts +11 -10
  67. package/dest/block/block_hash.d.ts.map +1 -1
  68. package/dest/block/block_hash.js +10 -9
  69. package/dest/block/block_parameter.d.ts +37 -4
  70. package/dest/block/block_parameter.d.ts.map +1 -1
  71. package/dest/block/block_parameter.js +53 -2
  72. package/dest/block/in_block.d.ts +5 -24
  73. package/dest/block/in_block.d.ts.map +1 -1
  74. package/dest/block/index.d.ts +1 -2
  75. package/dest/block/index.d.ts.map +1 -1
  76. package/dest/block/index.js +0 -1
  77. package/dest/block/l2_block.d.ts +13 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block_info.d.ts +10 -29
  80. package/dest/block/l2_block_info.d.ts.map +1 -1
  81. package/dest/block/l2_block_info.js +6 -5
  82. package/dest/block/l2_block_source.d.ts +216 -357
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +67 -1
  85. package/dest/block/l2_block_stream/interfaces.d.ts +46 -7
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/l2_block_stream.js +57 -21
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  93. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +12 -18
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_tips_store_base.js +66 -40
  96. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  97. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  98. package/dest/block/proposal/attestations_and_signers.js +26 -18
  99. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  100. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.js +202 -33
  104. package/dest/checkpoint/checkpoint.d.ts +30 -96
  105. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  106. package/dest/checkpoint/checkpoint.js +11 -3
  107. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  108. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint_data.js +12 -0
  110. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  111. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  115. package/dest/checkpoint/digest.d.ts +18 -0
  116. package/dest/checkpoint/digest.d.ts.map +1 -0
  117. package/dest/checkpoint/digest.js +12 -0
  118. package/dest/checkpoint/index.d.ts +4 -1
  119. package/dest/checkpoint/index.d.ts.map +1 -1
  120. package/dest/checkpoint/index.js +3 -0
  121. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  124. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  125. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  126. package/dest/checkpoint/validate.d.ts +11 -3
  127. package/dest/checkpoint/validate.d.ts.map +1 -1
  128. package/dest/checkpoint/validate.js +11 -8
  129. package/dest/config/chain-config.d.ts +4 -9
  130. package/dest/config/chain-config.d.ts.map +1 -1
  131. package/dest/config/chain-config.js +13 -12
  132. package/dest/config/index.d.ts +2 -1
  133. package/dest/config/index.d.ts.map +1 -1
  134. package/dest/config/index.js +1 -0
  135. package/dest/config/network-consensus-config.d.ts +72 -0
  136. package/dest/config/network-consensus-config.d.ts.map +1 -0
  137. package/dest/config/network-consensus-config.js +231 -0
  138. package/dest/config/sequencer-config.d.ts +7 -3
  139. package/dest/config/sequencer-config.d.ts.map +1 -1
  140. package/dest/config/sequencer-config.js +38 -5
  141. package/dest/contract/complete_address.d.ts +3 -2
  142. package/dest/contract/complete_address.d.ts.map +1 -1
  143. package/dest/contract/complete_address.js +6 -2
  144. package/dest/contract/contract_address.d.ts +6 -6
  145. package/dest/contract/contract_address.d.ts.map +1 -1
  146. package/dest/contract/contract_address.js +6 -5
  147. package/dest/contract/contract_class_id.d.ts +2 -2
  148. package/dest/contract/contract_class_id.js +2 -2
  149. package/dest/contract/contract_deployment_data.d.ts +15 -61
  150. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  151. package/dest/contract/contract_instance.d.ts +4 -2
  152. package/dest/contract/contract_instance.d.ts.map +1 -1
  153. package/dest/contract/contract_instance.js +10 -3
  154. package/dest/contract/index.d.ts +1 -3
  155. package/dest/contract/index.d.ts.map +1 -1
  156. package/dest/contract/index.js +0 -2
  157. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  158. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  159. package/dest/contract/interfaces/contract_class.js +1 -28
  160. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  161. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  162. package/dest/contract/interfaces/contract_instance.js +4 -2
  163. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  164. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  165. package/dest/contract/interfaces/node-info.d.ts +11 -1
  166. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  167. package/dest/contract/interfaces/node-info.js +7 -1
  168. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  169. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  170. package/dest/contract/private_function.d.ts +1 -1
  171. package/dest/contract/private_function.d.ts.map +1 -1
  172. package/dest/contract/private_function.js +2 -4
  173. package/dest/database-version/database_version.d.ts +5 -11
  174. package/dest/database-version/database_version.d.ts.map +1 -1
  175. package/dest/database-version/version_manager.d.ts +6 -2
  176. package/dest/database-version/version_manager.d.ts.map +1 -1
  177. package/dest/database-version/version_manager.js +12 -1
  178. package/dest/deserialization/index.d.ts +35 -3
  179. package/dest/deserialization/index.d.ts.map +1 -1
  180. package/dest/deserialization/index.js +32 -1
  181. package/dest/epoch-helpers/index.d.ts +10 -22
  182. package/dest/epoch-helpers/index.d.ts.map +1 -1
  183. package/dest/epoch-helpers/index.js +12 -0
  184. package/dest/file-store/factory.d.ts +4 -3
  185. package/dest/file-store/factory.d.ts.map +1 -1
  186. package/dest/file-store/factory.js +2 -2
  187. package/dest/file-store/http.d.ts +9 -2
  188. package/dest/file-store/http.d.ts.map +1 -1
  189. package/dest/file-store/http.js +20 -9
  190. package/dest/file-store/index.d.ts +2 -1
  191. package/dest/file-store/index.d.ts.map +1 -1
  192. package/dest/gas/fee_math.d.ts +49 -0
  193. package/dest/gas/fee_math.d.ts.map +1 -0
  194. package/dest/gas/fee_math.js +80 -0
  195. package/dest/gas/gas.d.ts +9 -14
  196. package/dest/gas/gas.d.ts.map +1 -1
  197. package/dest/gas/gas.js +6 -3
  198. package/dest/gas/gas_fees.d.ts +13 -14
  199. package/dest/gas/gas_fees.d.ts.map +1 -1
  200. package/dest/gas/gas_fees.js +17 -4
  201. package/dest/gas/gas_settings.d.ts +60 -86
  202. package/dest/gas/gas_settings.d.ts.map +1 -1
  203. package/dest/gas/gas_settings.js +49 -9
  204. package/dest/gas/index.d.ts +3 -1
  205. package/dest/gas/index.d.ts.map +1 -1
  206. package/dest/gas/index.js +2 -0
  207. package/dest/gas/tx_gas_limits.d.ts +72 -0
  208. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  209. package/dest/gas/tx_gas_limits.js +85 -0
  210. package/dest/ha-signing/config.d.ts +11 -75
  211. package/dest/ha-signing/config.d.ts.map +1 -1
  212. package/dest/ha-signing/config.js +9 -18
  213. package/dest/ha-signing/index.d.ts +2 -2
  214. package/dest/ha-signing/index.d.ts.map +1 -1
  215. package/dest/ha-signing/index.js +1 -1
  216. package/dest/ha-signing/local_config.d.ts +3 -34
  217. package/dest/ha-signing/local_config.d.ts.map +1 -1
  218. package/dest/ha-signing/local_config.js +2 -2
  219. package/dest/ha-signing/types.d.ts +37 -32
  220. package/dest/ha-signing/types.d.ts.map +1 -1
  221. package/dest/ha-signing/types.js +13 -6
  222. package/dest/hash/hash.d.ts +34 -1
  223. package/dest/hash/hash.d.ts.map +1 -1
  224. package/dest/hash/hash.js +63 -2
  225. package/dest/interfaces/allowed_element.d.ts +4 -28
  226. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  227. package/dest/interfaces/api_limit.d.ts +1 -1
  228. package/dest/interfaces/api_limit.js +1 -1
  229. package/dest/interfaces/archiver.d.ts +20 -32
  230. package/dest/interfaces/archiver.d.ts.map +1 -1
  231. package/dest/interfaces/archiver.js +215 -70
  232. package/dest/interfaces/aztec-node-admin.d.ts +71 -308
  233. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  234. package/dest/interfaces/aztec-node-admin.js +60 -17
  235. package/dest/interfaces/aztec-node-debug.d.ts +34 -0
  236. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  237. package/dest/interfaces/aztec-node-debug.js +29 -0
  238. package/dest/interfaces/aztec-node.d.ts +156 -112
  239. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  240. package/dest/interfaces/aztec-node.js +354 -71
  241. package/dest/interfaces/block-builder.d.ts +30 -7
  242. package/dest/interfaces/block-builder.d.ts.map +1 -1
  243. package/dest/interfaces/block-builder.js +1 -4
  244. package/dest/interfaces/block_response.d.ts +90 -0
  245. package/dest/interfaces/block_response.d.ts.map +1 -0
  246. package/dest/interfaces/block_response.js +30 -0
  247. package/dest/interfaces/chain_tips.d.ts +50 -0
  248. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  249. package/dest/interfaces/chain_tips.js +11 -0
  250. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  251. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  252. package/dest/interfaces/checkpoint_parameter.js +18 -0
  253. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  254. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  255. package/dest/interfaces/checkpoint_response.js +26 -0
  256. package/dest/interfaces/client.d.ts +9 -2
  257. package/dest/interfaces/client.d.ts.map +1 -1
  258. package/dest/interfaces/client.js +7 -1
  259. package/dest/interfaces/configs.d.ts +63 -139
  260. package/dest/interfaces/configs.d.ts.map +1 -1
  261. package/dest/interfaces/configs.js +13 -3
  262. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  263. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  264. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  265. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  266. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  267. package/dest/interfaces/l1_publish_info.js +26 -0
  268. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  269. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  270. package/dest/interfaces/l2_logs_source.js +5 -0
  271. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  272. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  273. package/dest/interfaces/p2p-bootstrap.js +8 -2
  274. package/dest/interfaces/p2p.d.ts +46 -7
  275. package/dest/interfaces/p2p.d.ts.map +1 -1
  276. package/dest/interfaces/p2p.js +41 -6
  277. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  278. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  279. package/dest/interfaces/prover-agent.d.ts +5 -23
  280. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  281. package/dest/interfaces/prover-agent.js +4 -1
  282. package/dest/interfaces/prover-client.d.ts +7 -29
  283. package/dest/interfaces/prover-client.d.ts.map +1 -1
  284. package/dest/interfaces/prover-client.js +0 -3
  285. package/dest/interfaces/prover-node.d.ts +8 -3
  286. package/dest/interfaces/prover-node.d.ts.map +1 -1
  287. package/dest/interfaces/prover-node.js +30 -14
  288. package/dest/interfaces/proving-job-source.js +24 -4
  289. package/dest/interfaces/proving-job.d.ts +763 -5814
  290. package/dest/interfaces/proving-job.d.ts.map +1 -1
  291. package/dest/interfaces/proving-job.js +1 -1
  292. package/dest/interfaces/public_storage_override.d.ts +22 -0
  293. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  294. package/dest/interfaces/public_storage_override.js +7 -0
  295. package/dest/interfaces/server.d.ts +6 -2
  296. package/dest/interfaces/server.d.ts.map +1 -1
  297. package/dest/interfaces/server.js +5 -1
  298. package/dest/interfaces/slasher.d.ts +25 -65
  299. package/dest/interfaces/slasher.d.ts.map +1 -1
  300. package/dest/interfaces/slasher.js +8 -4
  301. package/dest/interfaces/tx_provider.d.ts +6 -1
  302. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  303. package/dest/interfaces/validator.d.ts +55 -248
  304. package/dest/interfaces/validator.d.ts.map +1 -1
  305. package/dest/interfaces/validator.js +8 -2
  306. package/dest/interfaces/world_state.d.ts +2 -2
  307. package/dest/interfaces/world_state.d.ts.map +1 -1
  308. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  309. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  310. package/dest/kernel/hints/key_validation_request.js +20 -18
  311. package/dest/kernel/index.d.ts +5 -1
  312. package/dest/kernel/index.d.ts.map +1 -1
  313. package/dest/kernel/index.js +4 -0
  314. package/dest/kernel/log_hash.d.ts +6 -2
  315. package/dest/kernel/log_hash.d.ts.map +1 -1
  316. package/dest/kernel/log_hash.js +21 -9
  317. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  318. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  319. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  320. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  321. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  322. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  323. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  324. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  325. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  326. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  327. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  328. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  329. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  330. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  331. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  332. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  333. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  334. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  335. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  336. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  338. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  339. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  340. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  341. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  342. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  343. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  344. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  345. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  347. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  348. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  349. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  350. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  351. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  352. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  353. package/dest/kernel/public_call_request.d.ts +15 -30
  354. package/dest/kernel/public_call_request.d.ts.map +1 -1
  355. package/dest/kernel/public_call_request.js +16 -7
  356. package/dest/keys/derivation.d.ts +6 -2
  357. package/dest/keys/derivation.d.ts.map +1 -1
  358. package/dest/keys/derivation.js +16 -6
  359. package/dest/keys/public_key.d.ts +22 -3
  360. package/dest/keys/public_key.d.ts.map +1 -1
  361. package/dest/keys/public_key.js +20 -1
  362. package/dest/keys/public_keys.d.ts +55 -82
  363. package/dest/keys/public_keys.d.ts.map +1 -1
  364. package/dest/keys/public_keys.js +102 -74
  365. package/dest/kv-store/config.d.ts +3 -6
  366. package/dest/kv-store/config.d.ts.map +1 -1
  367. package/dest/kv-store/config.js +2 -7
  368. package/dest/l1-contracts/index.d.ts +2 -2
  369. package/dest/l1-contracts/index.d.ts.map +1 -1
  370. package/dest/l1-contracts/index.js +1 -1
  371. package/dest/logs/app_tagging_secret.d.ts +46 -0
  372. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  373. package/dest/logs/app_tagging_secret.js +109 -0
  374. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  375. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  376. package/dest/logs/app_tagging_secret_kind.js +17 -0
  377. package/dest/logs/contract_class_log.d.ts +16 -34
  378. package/dest/logs/contract_class_log.d.ts.map +1 -1
  379. package/dest/logs/contract_class_log.js +11 -9
  380. package/dest/logs/index.d.ts +7 -7
  381. package/dest/logs/index.d.ts.map +1 -1
  382. package/dest/logs/index.js +6 -6
  383. package/dest/logs/log_cursor.d.ts +51 -0
  384. package/dest/logs/log_cursor.d.ts.map +1 -0
  385. package/dest/logs/log_cursor.js +82 -0
  386. package/dest/logs/log_result.d.ts +54 -0
  387. package/dest/logs/log_result.d.ts.map +1 -0
  388. package/dest/logs/log_result.js +56 -0
  389. package/dest/logs/logs_query.d.ts +82 -0
  390. package/dest/logs/logs_query.d.ts.map +1 -0
  391. package/dest/logs/logs_query.js +50 -0
  392. package/dest/logs/message_context.d.ts +6 -8
  393. package/dest/logs/message_context.d.ts.map +1 -1
  394. package/dest/logs/message_context.js +27 -9
  395. package/dest/logs/pending_tagged_log.d.ts +2 -3
  396. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  397. package/dest/logs/pending_tagged_log.js +2 -2
  398. package/dest/logs/pre_tag.d.ts +11 -24
  399. package/dest/logs/pre_tag.d.ts.map +1 -1
  400. package/dest/logs/pre_tag.js +2 -2
  401. package/dest/logs/private_log.d.ts +7 -12
  402. package/dest/logs/private_log.d.ts.map +1 -1
  403. package/dest/logs/private_log.js +6 -3
  404. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  405. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  406. package/dest/logs/query_all_logs_by_tags.js +64 -0
  407. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  408. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  409. package/dest/logs/shared_secret_derivation.js +15 -9
  410. package/dest/logs/siloed_tag.d.ts +8 -7
  411. package/dest/logs/siloed_tag.d.ts.map +1 -1
  412. package/dest/logs/siloed_tag.js +13 -3
  413. package/dest/logs/tag.d.ts +5 -6
  414. package/dest/logs/tag.d.ts.map +1 -1
  415. package/dest/logs/tag.js +4 -0
  416. package/dest/logs/tagging_index_range.d.ts +13 -31
  417. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  418. package/dest/logs/tagging_index_range.js +2 -2
  419. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  420. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  421. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  422. package/dest/messaging/index.d.ts +2 -1
  423. package/dest/messaging/index.d.ts.map +1 -1
  424. package/dest/messaging/index.js +1 -0
  425. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  426. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  427. package/dest/messaging/l1_to_l2_message.js +11 -13
  428. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  429. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  430. package/dest/messaging/l2_to_l1_membership.js +72 -12
  431. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  432. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  433. package/dest/messaging/l2_to_l1_message.js +21 -12
  434. package/dest/noir/index.d.ts +5 -3
  435. package/dest/noir/index.d.ts.map +1 -1
  436. package/dest/note/note.d.ts +2 -2
  437. package/dest/note/note.d.ts.map +1 -1
  438. package/dest/note/note_dao.d.ts +1 -1
  439. package/dest/note/note_dao.d.ts.map +1 -1
  440. package/dest/note/note_dao.js +1 -4
  441. package/dest/p2p/block_proposal.d.ts +31 -14
  442. package/dest/p2p/block_proposal.d.ts.map +1 -1
  443. package/dest/p2p/block_proposal.js +57 -39
  444. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  445. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  446. package/dest/p2p/checkpoint_attestation.js +23 -24
  447. package/dest/p2p/checkpoint_proposal.d.ts +35 -16
  448. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  449. package/dest/p2p/checkpoint_proposal.js +59 -49
  450. package/dest/p2p/consensus_payload.d.ts +26 -20
  451. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  452. package/dest/p2p/consensus_payload.js +38 -19
  453. package/dest/p2p/gossipable.d.ts +4 -4
  454. package/dest/p2p/gossipable.d.ts.map +1 -1
  455. package/dest/p2p/signature_utils.d.ts +28 -19
  456. package/dest/p2p/signature_utils.d.ts.map +1 -1
  457. package/dest/p2p/signature_utils.js +118 -21
  458. package/dest/p2p/signed_txs.d.ts +15 -13
  459. package/dest/p2p/signed_txs.d.ts.map +1 -1
  460. package/dest/p2p/signed_txs.js +26 -24
  461. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  462. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  463. package/dest/parity/parity_base_private_inputs.js +7 -5
  464. package/dest/parity/parity_public_inputs.d.ts +8 -4
  465. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  466. package/dest/parity/parity_public_inputs.js +6 -3
  467. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  468. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  469. package/dest/proofs/chonk_proof.d.ts +57 -7
  470. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  471. package/dest/proofs/chonk_proof.js +112 -15
  472. package/dest/proofs/recursive_proof.d.ts +2 -2
  473. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  474. package/dest/rollup/block_headers_hash.d.ts +1 -1
  475. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  476. package/dest/rollup/block_headers_hash.js +8 -2
  477. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  478. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  479. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  480. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  481. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  482. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  483. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  484. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  485. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  486. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  487. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  488. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  489. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  490. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  491. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  492. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  493. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  494. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  495. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  496. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  497. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  498. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  499. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  502. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  503. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  504. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  505. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  506. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  507. package/dest/schemas/schemas.d.ts +32 -78
  508. package/dest/schemas/schemas.d.ts.map +1 -1
  509. package/dest/schemas/schemas.js +2 -2
  510. package/dest/slashing/helpers.d.ts +2 -2
  511. package/dest/slashing/helpers.d.ts.map +1 -1
  512. package/dest/slashing/helpers.js +10 -7
  513. package/dest/slashing/index.d.ts +2 -3
  514. package/dest/slashing/index.d.ts.map +1 -1
  515. package/dest/slashing/index.js +1 -2
  516. package/dest/slashing/serialization.d.ts +2 -6
  517. package/dest/slashing/serialization.d.ts.map +1 -1
  518. package/dest/slashing/serialization.js +0 -60
  519. package/dest/slashing/types.d.ts +18 -112
  520. package/dest/slashing/types.d.ts.map +1 -1
  521. package/dest/slashing/types.js +16 -24
  522. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  523. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  524. package/dest/slashing/{tally.js → votes.js} +1 -1
  525. package/dest/snapshots/types.d.ts +15 -78
  526. package/dest/snapshots/types.d.ts.map +1 -1
  527. package/dest/stats/stats.d.ts +2 -2
  528. package/dest/stats/stats.d.ts.map +1 -1
  529. package/dest/tests/factories.d.ts +25 -32
  530. package/dest/tests/factories.d.ts.map +1 -1
  531. package/dest/tests/factories.js +85 -82
  532. package/dest/tests/mocks.d.ts +8 -5
  533. package/dest/tests/mocks.d.ts.map +1 -1
  534. package/dest/tests/mocks.js +45 -56
  535. package/dest/timetable/budgets.d.ts +57 -0
  536. package/dest/timetable/budgets.d.ts.map +1 -0
  537. package/dest/timetable/budgets.js +56 -0
  538. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  539. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  540. package/dest/timetable/build_proposer_timetable.js +17 -0
  541. package/dest/timetable/consensus_timetable.d.ts +70 -0
  542. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  543. package/dest/timetable/consensus_timetable.js +89 -0
  544. package/dest/timetable/index.d.ts +5 -37
  545. package/dest/timetable/index.d.ts.map +1 -1
  546. package/dest/timetable/index.js +4 -39
  547. package/dest/timetable/proposer_timetable.d.ts +106 -0
  548. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  549. package/dest/timetable/proposer_timetable.js +132 -0
  550. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  551. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  552. package/dest/trees/append_only_tree_snapshot.js +6 -3
  553. package/dest/trees/nullifier_leaf.d.ts +19 -42
  554. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  555. package/dest/trees/nullifier_leaf.js +3 -0
  556. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  557. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  558. package/dest/trees/nullifier_membership_witness.js +2 -14
  559. package/dest/trees/public_data_leaf.d.ts +21 -53
  560. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  561. package/dest/trees/public_data_witness.d.ts +16 -58
  562. package/dest/trees/public_data_witness.d.ts.map +1 -1
  563. package/dest/tx/block_header.d.ts +5 -4
  564. package/dest/tx/block_header.d.ts.map +1 -1
  565. package/dest/tx/block_header.js +7 -4
  566. package/dest/tx/call_context.d.ts +4 -14
  567. package/dest/tx/call_context.d.ts.map +1 -1
  568. package/dest/tx/capsule.d.ts +7 -3
  569. package/dest/tx/capsule.d.ts.map +1 -1
  570. package/dest/tx/capsule.js +9 -3
  571. package/dest/tx/fee_provider.d.ts +10 -0
  572. package/dest/tx/fee_provider.d.ts.map +1 -0
  573. package/dest/tx/fee_provider.js +1 -0
  574. package/dest/tx/function_data.d.ts +4 -10
  575. package/dest/tx/function_data.d.ts.map +1 -1
  576. package/dest/tx/global_variable_builder.d.ts +3 -4
  577. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  578. package/dest/tx/global_variables.d.ts +16 -49
  579. package/dest/tx/global_variables.d.ts.map +1 -1
  580. package/dest/tx/global_variables.js +8 -12
  581. package/dest/tx/hashed_values.d.ts +4 -3
  582. package/dest/tx/hashed_values.d.ts.map +1 -1
  583. package/dest/tx/hashed_values.js +6 -3
  584. package/dest/tx/in_tx.d.ts +5 -17
  585. package/dest/tx/in_tx.d.ts.map +1 -1
  586. package/dest/tx/index.d.ts +2 -1
  587. package/dest/tx/index.d.ts.map +1 -1
  588. package/dest/tx/index.js +1 -0
  589. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  590. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  591. package/dest/tx/indexed_tx_effect.js +9 -6
  592. package/dest/tx/partial_state_reference.d.ts +22 -65
  593. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  594. package/dest/tx/partial_state_reference.js +6 -3
  595. package/dest/tx/private_execution_result.d.ts +6 -16
  596. package/dest/tx/private_execution_result.d.ts.map +1 -1
  597. package/dest/tx/profiling.d.ts +54 -352
  598. package/dest/tx/profiling.d.ts.map +1 -1
  599. package/dest/tx/profiling.js +4 -4
  600. package/dest/tx/protocol_contracts.d.ts +5 -9
  601. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  602. package/dest/tx/proven_tx.d.ts +30 -74
  603. package/dest/tx/proven_tx.d.ts.map +1 -1
  604. package/dest/tx/proven_tx.js +6 -0
  605. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  606. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  607. package/dest/tx/public_call_request_with_calldata.js +6 -3
  608. package/dest/tx/simulated_tx.d.ts +64 -1143
  609. package/dest/tx/simulated_tx.d.ts.map +1 -1
  610. package/dest/tx/simulated_tx.js +13 -11
  611. package/dest/tx/state_reference.d.ts +30 -117
  612. package/dest/tx/state_reference.d.ts.map +1 -1
  613. package/dest/tx/state_reference.js +6 -4
  614. package/dest/tx/tree_snapshots.d.ts +27 -84
  615. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  616. package/dest/tx/tree_snapshots.js +6 -4
  617. package/dest/tx/tx.d.ts +22 -13
  618. package/dest/tx/tx.d.ts.map +1 -1
  619. package/dest/tx/tx.js +44 -22
  620. package/dest/tx/tx_constant_data.d.ts +4 -3
  621. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  622. package/dest/tx/tx_constant_data.js +6 -3
  623. package/dest/tx/tx_context.d.ts +32 -131
  624. package/dest/tx/tx_context.d.ts.map +1 -1
  625. package/dest/tx/tx_context.js +6 -6
  626. package/dest/tx/tx_hash.d.ts +6 -4
  627. package/dest/tx/tx_hash.d.ts.map +1 -1
  628. package/dest/tx/tx_hash.js +13 -5
  629. package/dest/tx/tx_receipt.d.ts +144 -63
  630. package/dest/tx/tx_receipt.d.ts.map +1 -1
  631. package/dest/tx/tx_receipt.js +143 -60
  632. package/dest/tx/validator/error_texts.d.ts +6 -2
  633. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  634. package/dest/tx/validator/error_texts.js +7 -1
  635. package/dest/tx/validator/tx_validator.d.ts +5 -27
  636. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  637. package/dest/tx/validator/tx_validator.js +0 -4
  638. package/dest/types/shared.d.ts +4 -12
  639. package/dest/types/shared.d.ts.map +1 -1
  640. package/dest/types/shared.js +6 -12
  641. package/dest/update-checker/dev_version.d.ts +3 -0
  642. package/dest/update-checker/dev_version.d.ts.map +1 -0
  643. package/dest/update-checker/dev_version.js +1 -0
  644. package/dest/update-checker/index.d.ts +2 -1
  645. package/dest/update-checker/index.d.ts.map +1 -1
  646. package/dest/update-checker/index.js +1 -0
  647. package/dest/update-checker/package_version.d.ts +6 -3
  648. package/dest/update-checker/package_version.d.ts.map +1 -1
  649. package/dest/update-checker/package_version.js +8 -19
  650. package/dest/validators/schemas.d.ts +147 -614
  651. package/dest/validators/schemas.d.ts.map +1 -1
  652. package/dest/validators/schemas.js +6 -4
  653. package/dest/validators/types.d.ts +20 -3
  654. package/dest/validators/types.d.ts.map +1 -1
  655. package/dest/versioning/versioning.js +1 -1
  656. package/dest/vks/verification_key.d.ts +4 -139
  657. package/dest/vks/verification_key.d.ts.map +1 -1
  658. package/dest/vks/verification_key.js +5 -126
  659. package/dest/world-state/genesis_data.d.ts +13 -0
  660. package/dest/world-state/genesis_data.d.ts.map +1 -0
  661. package/dest/world-state/genesis_data.js +7 -0
  662. package/dest/world-state/index.d.ts +2 -1
  663. package/dest/world-state/index.d.ts.map +1 -1
  664. package/dest/world-state/index.js +1 -0
  665. package/dest/world-state/world_state_revision.d.ts +15 -26
  666. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  667. package/dest/world-state/world_state_revision.js +7 -1
  668. package/package.json +12 -11
  669. package/src/abi/abi.ts +78 -21
  670. package/src/abi/authorization_selector.ts +2 -8
  671. package/src/abi/buffer.ts +25 -4
  672. package/src/abi/contract_artifact.ts +30 -6
  673. package/src/abi/decoder.ts +23 -78
  674. package/src/abi/encoder.ts +42 -6
  675. package/src/abi/event_selector.ts +2 -8
  676. package/src/abi/function_selector.ts +4 -13
  677. package/src/abi/function_signature_decoder.ts +77 -0
  678. package/src/abi/index.ts +1 -0
  679. package/src/abi/note_selector.ts +3 -12
  680. package/src/abi/selector.ts +1 -1
  681. package/src/abi/utils.ts +6 -4
  682. package/src/avm/avm.ts +5 -0
  683. package/src/avm/message_pack.ts +12 -3
  684. package/src/avm/revert_code.ts +19 -39
  685. package/src/aztec-address/index.ts +15 -12
  686. package/src/block/attestation_info.ts +11 -11
  687. package/src/block/block_data.ts +3 -4
  688. package/src/block/block_hash.ts +21 -14
  689. package/src/block/block_parameter.ts +72 -4
  690. package/src/block/index.ts +0 -1
  691. package/src/block/l2_block_info.ts +8 -6
  692. package/src/block/l2_block_source.ts +216 -147
  693. package/src/block/l2_block_stream/interfaces.ts +42 -6
  694. package/src/block/l2_block_stream/l2_block_stream.ts +60 -31
  695. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  696. package/src/block/l2_block_stream/l2_tips_store_base.ts +64 -60
  697. package/src/block/proposal/attestations_and_signers.ts +32 -17
  698. package/src/block/test/l2_tips_store_test_suite.ts +198 -18
  699. package/src/checkpoint/checkpoint.ts +13 -3
  700. package/src/checkpoint/checkpoint_data.ts +44 -4
  701. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  702. package/src/checkpoint/digest.ts +28 -0
  703. package/src/checkpoint/index.ts +3 -0
  704. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  705. package/src/checkpoint/validate.ts +18 -8
  706. package/src/config/chain-config.ts +13 -16
  707. package/src/config/index.ts +1 -0
  708. package/src/config/network-consensus-config.ts +302 -0
  709. package/src/config/sequencer-config.ts +68 -9
  710. package/src/contract/complete_address.ts +7 -3
  711. package/src/contract/contract_address.ts +7 -7
  712. package/src/contract/contract_class_id.ts +2 -2
  713. package/src/contract/contract_instance.ts +11 -2
  714. package/src/contract/index.ts +0 -2
  715. package/src/contract/interfaces/contract_class.ts +2 -82
  716. package/src/contract/interfaces/contract_instance.ts +6 -2
  717. package/src/contract/interfaces/node-info.ts +11 -0
  718. package/src/contract/private_function.ts +3 -1
  719. package/src/database-version/version_manager.ts +17 -0
  720. package/src/deserialization/index.ts +35 -2
  721. package/src/epoch-helpers/index.ts +24 -0
  722. package/src/file-store/factory.ts +13 -4
  723. package/src/file-store/http.ts +29 -10
  724. package/src/file-store/index.ts +1 -0
  725. package/src/gas/README.md +123 -0
  726. package/src/gas/fee_math.ts +120 -0
  727. package/src/gas/gas.ts +8 -3
  728. package/src/gas/gas_fees.ts +26 -13
  729. package/src/gas/gas_settings.ts +63 -15
  730. package/src/gas/index.ts +2 -0
  731. package/src/gas/tx_gas_limits.ts +123 -0
  732. package/src/ha-signing/config.ts +14 -18
  733. package/src/ha-signing/index.ts +3 -1
  734. package/src/ha-signing/local_config.ts +2 -2
  735. package/src/ha-signing/types.ts +48 -34
  736. package/src/hash/hash.ts +63 -2
  737. package/src/interfaces/api_limit.ts +1 -1
  738. package/src/interfaces/archiver.ts +88 -93
  739. package/src/interfaces/aztec-node-admin.ts +36 -21
  740. package/src/interfaces/aztec-node-debug.ts +55 -0
  741. package/src/interfaces/aztec-node.ts +389 -259
  742. package/src/interfaces/block-builder.ts +31 -9
  743. package/src/interfaces/block_response.ts +92 -0
  744. package/src/interfaces/chain_tips.ts +24 -0
  745. package/src/interfaces/checkpoint_parameter.ts +20 -0
  746. package/src/interfaces/checkpoint_response.ts +84 -0
  747. package/src/interfaces/client.ts +8 -1
  748. package/src/interfaces/configs.ts +63 -11
  749. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  750. package/src/interfaces/l1_publish_info.ts +40 -0
  751. package/src/interfaces/l2_logs_source.ts +13 -42
  752. package/src/interfaces/merkle_tree_operations.ts +3 -2
  753. package/src/interfaces/p2p-bootstrap.ts +2 -2
  754. package/src/interfaces/p2p.ts +59 -19
  755. package/src/interfaces/private_kernel_prover.ts +88 -0
  756. package/src/interfaces/prover-agent.ts +1 -1
  757. package/src/interfaces/prover-client.ts +3 -8
  758. package/src/interfaces/prover-node.ts +19 -12
  759. package/src/interfaces/proving-job-source.ts +4 -4
  760. package/src/interfaces/proving-job.ts +3 -3
  761. package/src/interfaces/public_storage_override.ts +26 -0
  762. package/src/interfaces/server.ts +5 -1
  763. package/src/interfaces/slasher.ts +17 -10
  764. package/src/interfaces/tx_provider.ts +6 -0
  765. package/src/interfaces/validator.ts +45 -15
  766. package/src/interfaces/world_state.ts +1 -1
  767. package/src/kernel/hints/key_validation_request.ts +18 -16
  768. package/src/kernel/index.ts +4 -0
  769. package/src/kernel/log_hash.ts +29 -9
  770. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  771. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  772. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  773. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  774. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  775. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  776. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  777. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  778. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  779. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  780. package/src/kernel/public_call_request.ts +22 -7
  781. package/src/keys/derivation.ts +21 -9
  782. package/src/keys/public_key.ts +26 -2
  783. package/src/keys/public_keys.ts +124 -110
  784. package/src/kv-store/config.ts +3 -10
  785. package/src/l1-contracts/index.ts +1 -1
  786. package/src/logs/app_tagging_secret.ts +137 -0
  787. package/src/logs/app_tagging_secret_kind.ts +21 -0
  788. package/src/logs/contract_class_log.ts +15 -5
  789. package/src/logs/index.ts +6 -6
  790. package/src/logs/log_cursor.ts +110 -0
  791. package/src/logs/log_result.ts +104 -0
  792. package/src/logs/logs_query.ts +138 -0
  793. package/src/logs/message_context.ts +22 -8
  794. package/src/logs/pending_tagged_log.ts +1 -3
  795. package/src/logs/pre_tag.ts +3 -6
  796. package/src/logs/private_log.ts +9 -3
  797. package/src/logs/query_all_logs_by_tags.ts +98 -0
  798. package/src/logs/shared_secret_derivation.ts +21 -10
  799. package/src/logs/siloed_tag.ts +20 -11
  800. package/src/logs/tag.ts +8 -8
  801. package/src/logs/tagging_index_range.ts +4 -10
  802. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  803. package/src/messaging/index.ts +1 -0
  804. package/src/messaging/l1_to_l2_message.ts +12 -9
  805. package/src/messaging/l2_to_l1_membership.ts +108 -19
  806. package/src/messaging/l2_to_l1_message.ts +29 -9
  807. package/src/noir/index.ts +4 -2
  808. package/src/note/note_dao.ts +1 -4
  809. package/src/p2p/block_proposal.ts +111 -36
  810. package/src/p2p/checkpoint_attestation.ts +27 -31
  811. package/src/p2p/checkpoint_proposal.ts +126 -68
  812. package/src/p2p/consensus_payload.ts +59 -28
  813. package/src/p2p/gossipable.ts +4 -4
  814. package/src/p2p/signature_utils.ts +110 -25
  815. package/src/p2p/signed_txs.ts +46 -28
  816. package/src/parity/parity_base_private_inputs.ts +10 -4
  817. package/src/parity/parity_public_inputs.ts +9 -2
  818. package/src/proofs/chonk_proof.ts +132 -12
  819. package/src/rollup/block_headers_hash.ts +11 -2
  820. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  821. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  822. package/src/schemas/schemas.ts +6 -1
  823. package/src/slashing/helpers.ts +13 -9
  824. package/src/slashing/index.ts +1 -2
  825. package/src/slashing/serialization.ts +1 -81
  826. package/src/slashing/types.ts +24 -49
  827. package/src/slashing/{tally.ts → votes.ts} +1 -1
  828. package/src/stats/stats.ts +4 -0
  829. package/src/tests/factories.ts +109 -111
  830. package/src/tests/mocks.ts +72 -71
  831. package/src/timetable/README.md +609 -0
  832. package/src/timetable/budgets.ts +87 -0
  833. package/src/timetable/build_proposer_timetable.ts +42 -0
  834. package/src/timetable/consensus_timetable.ts +126 -0
  835. package/src/timetable/index.ts +4 -66
  836. package/src/timetable/proposer_timetable.ts +190 -0
  837. package/src/timetable/timetable-example.svg +108 -0
  838. package/src/trees/append_only_tree_snapshot.ts +8 -3
  839. package/src/trees/nullifier_leaf.ts +4 -0
  840. package/src/trees/nullifier_membership_witness.ts +2 -12
  841. package/src/tx/block_header.ts +10 -5
  842. package/src/tx/capsule.ts +10 -2
  843. package/src/tx/fee_provider.ts +10 -0
  844. package/src/tx/global_variable_builder.ts +2 -3
  845. package/src/tx/global_variables.ts +10 -18
  846. package/src/tx/hashed_values.ts +8 -3
  847. package/src/tx/index.ts +1 -0
  848. package/src/tx/indexed_tx_effect.ts +18 -6
  849. package/src/tx/partial_state_reference.ts +8 -3
  850. package/src/tx/profiling.ts +4 -4
  851. package/src/tx/proven_tx.ts +6 -0
  852. package/src/tx/public_call_request_with_calldata.ts +8 -3
  853. package/src/tx/simulated_tx.ts +22 -21
  854. package/src/tx/state_reference.ts +9 -4
  855. package/src/tx/tree_snapshots.ts +9 -4
  856. package/src/tx/tx.ts +60 -24
  857. package/src/tx/tx_constant_data.ts +8 -3
  858. package/src/tx/tx_context.ts +8 -3
  859. package/src/tx/tx_hash.ts +20 -5
  860. package/src/tx/tx_receipt.ts +265 -85
  861. package/src/tx/validator/error_texts.ts +10 -1
  862. package/src/tx/validator/tx_validator.ts +1 -5
  863. package/src/types/shared.ts +8 -13
  864. package/src/update-checker/dev_version.ts +2 -0
  865. package/src/update-checker/index.ts +1 -0
  866. package/src/update-checker/package_version.ts +10 -23
  867. package/src/validators/schemas.ts +6 -4
  868. package/src/validators/types.ts +21 -2
  869. package/src/versioning/versioning.ts +1 -1
  870. package/src/vks/verification_key.ts +5 -184
  871. package/src/world-state/genesis_data.ts +27 -0
  872. package/src/world-state/index.ts +1 -0
  873. package/src/world-state/world_state_revision.ts +9 -1
  874. package/dest/abi/mocked_keys.d.ts +0 -2
  875. package/dest/abi/mocked_keys.d.ts.map +0 -1
  876. package/dest/abi/mocked_keys.js +0 -1
  877. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  878. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  879. package/dest/block/checkpointed_l2_block.js +0 -46
  880. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  881. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  882. package/dest/contract/private_function_membership_proof.js +0 -124
  883. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  884. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  885. package/dest/contract/utility_function_membership_proof.js +0 -87
  886. package/dest/interfaces/epoch-prover.d.ts +0 -57
  887. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  888. package/dest/interfaces/epoch-prover.js +0 -1
  889. package/dest/interfaces/get_logs_response.d.ts +0 -97
  890. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  891. package/dest/interfaces/get_logs_response.js +0 -12
  892. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  893. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  894. package/dest/l1-contracts/slash_factory.js +0 -158
  895. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  896. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  897. package/dest/logs/extended_contract_class_log.js +0 -67
  898. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  899. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  900. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  901. package/dest/logs/extended_public_log.d.ts +0 -106
  902. package/dest/logs/extended_public_log.d.ts.map +0 -1
  903. package/dest/logs/extended_public_log.js +0 -73
  904. package/dest/logs/log_filter.d.ts +0 -25
  905. package/dest/logs/log_filter.d.ts.map +0 -1
  906. package/dest/logs/log_filter.js +0 -12
  907. package/dest/logs/log_id.d.ts +0 -85
  908. package/dest/logs/log_id.d.ts.map +0 -1
  909. package/dest/logs/log_id.js +0 -94
  910. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  911. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  912. package/dest/logs/tx_scoped_l2_log.js +0 -70
  913. package/dest/slashing/empire.d.ts +0 -31
  914. package/dest/slashing/empire.d.ts.map +0 -1
  915. package/dest/slashing/empire.js +0 -87
  916. package/src/abi/mocked_keys.ts +0 -2
  917. package/src/block/checkpointed_l2_block.ts +0 -70
  918. package/src/contract/private_function_membership_proof.ts +0 -167
  919. package/src/contract/utility_function_membership_proof.ts +0 -118
  920. package/src/interfaces/epoch-prover.ts +0 -72
  921. package/src/interfaces/get_logs_response.ts +0 -35
  922. package/src/l1-contracts/slash_factory.ts +0 -180
  923. package/src/logs/extended_contract_class_log.ts +0 -87
  924. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  925. package/src/logs/extended_public_log.ts +0 -94
  926. package/src/logs/log_filter.ts +0 -36
  927. package/src/logs/log_id.ts +0 -125
  928. package/src/logs/tx_scoped_l2_log.ts +0 -98
  929. package/src/slashing/empire.ts +0 -104
@@ -86,6 +86,10 @@ export class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
86
86
  ];
87
87
  }
88
88
 
89
+ isEmpty(): boolean {
90
+ return this.leaf.isEmpty() && this.nextKey.isZero() && this.nextIndex === 0n;
91
+ }
92
+
89
93
  toFields(): Fr[] {
90
94
  return this.toHashInputs().map(buf => Fr.fromBuffer(buf));
91
95
  }
@@ -53,22 +53,12 @@ export class NullifierMembershipWitness {
53
53
  return new MembershipWitness(NULLIFIER_TREE_HEIGHT, this.index, this.siblingPath.toTuple());
54
54
  }
55
55
 
56
- /**
57
- * Returns a field array representation of a nullifier witness.
58
- * @returns A field array representation of a nullifier witness.
59
- */
60
- public toFields(): Fr[] {
61
- return [new Fr(this.index), ...this.leafPreimage.toFields(), ...this.siblingPath.toFields()];
62
- }
63
-
64
- /**
65
- * Returns a representation of the nullifier membership witness as expected by intrinsic Noir deserialization.
66
- */
56
+ /** Serializes as `(NullifierLeafPreimage, MembershipWitness)` to match the Noir oracle return type. */
67
57
  public toNoirRepresentation(): (string | string[])[] {
68
58
  // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
69
59
  return [
70
- new Fr(this.index).toString() as string,
71
60
  ...(this.leafPreimage.toFields().map(fr => fr.toString()) as string[]),
61
+ new Fr(this.index).toString() as string,
72
62
  this.siblingPath.toFields().map(fr => fr.toString()) as string[],
73
63
  ];
74
64
  }
@@ -4,7 +4,7 @@ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { randomInt } from '@aztec/foundation/crypto/random';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { type ZodFor, schemas } from '@aztec/foundation/schemas';
7
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
7
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
8
8
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
9
9
  import type { FieldsOf } from '@aztec/foundation/types';
10
10
 
@@ -85,8 +85,13 @@ export class BlockHeader {
85
85
  );
86
86
  }
87
87
 
88
- toBuffer() {
89
- return serializeToBuffer(...BlockHeader.getFields(this));
88
+ toBuffer(): Buffer;
89
+ toBuffer(sink: BufferSink): void;
90
+ toBuffer(sink?: BufferSink): Buffer | void {
91
+ if (!sink) {
92
+ return BufferSink.serialize(this);
93
+ }
94
+ serializeToSink(sink, ...BlockHeader.getFields(this));
90
95
  }
91
96
 
92
97
  toFields(): Fr[] {
@@ -172,8 +177,8 @@ export class BlockHeader {
172
177
  }
173
178
 
174
179
  /** Manually set the hash for this block header if already computed */
175
- setHash(hashed: Fr) {
176
- this._cachedHash = Promise.resolve(new BlockHash(hashed));
180
+ setHash(hashed: BlockHash) {
181
+ this._cachedHash = Promise.resolve(hashed);
177
182
  }
178
183
 
179
184
  /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
package/src/tx/capsule.ts CHANGED
@@ -19,6 +19,8 @@ export class Capsule {
19
19
  public readonly storageSlot: Fr,
20
20
  /** Data passed to the contract */
21
21
  public readonly data: Fr[],
22
+ /** Optional namespace for the capsule contents */
23
+ public readonly scope?: AztecAddress,
22
24
  ) {}
23
25
 
24
26
  static get schema() {
@@ -30,12 +32,18 @@ export class Capsule {
30
32
  }
31
33
 
32
34
  toBuffer() {
33
- return serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data));
35
+ return this.scope
36
+ ? serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), true, this.scope)
37
+ : serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), false);
34
38
  }
35
39
 
36
40
  static fromBuffer(buffer: Buffer | BufferReader): Capsule {
37
41
  const reader = BufferReader.asReader(buffer);
38
- return new Capsule(AztecAddress.fromBuffer(reader), Fr.fromBuffer(reader), reader.readVector(Fr));
42
+ const contractAddress = AztecAddress.fromBuffer(reader);
43
+ const storageSlot = Fr.fromBuffer(reader);
44
+ const data = reader.readVector(Fr);
45
+ const hasScope = reader.readBoolean();
46
+ return new Capsule(contractAddress, storageSlot, data, hasScope ? AztecAddress.fromBuffer(reader) : undefined);
39
47
  }
40
48
 
41
49
  toString() {
@@ -0,0 +1,10 @@
1
+ import type { ManaUsageEstimate } from '../gas/fee_math.js';
2
+ import type { GasFees } from '../gas/gas_fees.js';
3
+
4
+ /** Provides current and predicted fee information for transaction pricing. */
5
+ export interface FeeProvider {
6
+ /** Returns the current minimum fees for inclusion in the next block. */
7
+ getCurrentMinFees(): Promise<GasFees>;
8
+ /** Returns current min fees first, followed by predicted min fees for each slot in the prediction window. */
9
+ getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
10
+ }
@@ -1,8 +1,8 @@
1
+ import type { SimulationOverridesPlan } from '@aztec/ethereum/contracts';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import type { SlotNumber } from '@aztec/foundation/schemas';
3
4
 
4
5
  import type { AztecAddress } from '../aztec-address/index.js';
5
- import type { GasFees } from '../gas/gas_fees.js';
6
6
  import type { UInt32 } from '../types/index.js';
7
7
  import type { CheckpointGlobalVariables, GlobalVariables } from './global_variables.js';
8
8
 
@@ -10,8 +10,6 @@ import type { CheckpointGlobalVariables, GlobalVariables } from './global_variab
10
10
  * Interface for building global variables for Aztec blocks.
11
11
  */
12
12
  export interface GlobalVariableBuilder {
13
- getCurrentMinFees(): Promise<GasFees>;
14
-
15
13
  /**
16
14
  * Builds global variables for a given block.
17
15
  * @param blockNumber - The block number to build global variables for.
@@ -32,5 +30,6 @@ export interface GlobalVariableBuilder {
32
30
  coinbase: EthAddress,
33
31
  feeRecipient: AztecAddress,
34
32
  slotNumber: SlotNumber,
33
+ simulationOverridesPlan?: SimulationOverridesPlan,
35
34
  ): Promise<CheckpointGlobalVariables>;
36
35
  }
@@ -4,13 +4,7 @@ import { randomInt } from '@aztec/foundation/crypto/random';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { EthAddress } from '@aztec/foundation/eth-address';
6
6
  import { jsonStringify } from '@aztec/foundation/json-rpc';
7
- import {
8
- BufferReader,
9
- FieldReader,
10
- bigintToUInt64BE,
11
- serializeToBuffer,
12
- serializeToFields,
13
- } from '@aztec/foundation/serialize';
7
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
14
8
  import type { FieldsOf } from '@aztec/foundation/types';
15
9
 
16
10
  import { inspect } from 'util';
@@ -149,17 +143,15 @@ export class GlobalVariables {
149
143
  ] as const;
150
144
  }
151
145
 
152
- toBuffer() {
153
- return serializeToBuffer([
154
- this.chainId,
155
- this.version,
156
- this.blockNumber,
157
- this.slotNumber,
158
- bigintToUInt64BE(this.timestamp),
159
- this.coinbase,
160
- this.feeRecipient,
161
- this.gasFees,
162
- ]);
146
+ toBuffer(): Buffer;
147
+ toBuffer(sink: BufferSink): void;
148
+ toBuffer(sink?: BufferSink): Buffer | void {
149
+ if (!sink) {
150
+ return BufferSink.serialize(this);
151
+ }
152
+ serializeToSink(sink, this.chainId, this.version, this.blockNumber, this.slotNumber);
153
+ sink.writeUInt64(this.timestamp);
154
+ serializeToSink(sink, this.coinbase, this.feeRecipient, this.gasFees);
163
155
  }
164
156
 
165
157
  toFields() {
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { BufferReader, BufferSink, serializeToSink } from '@aztec/foundation/serialize';
3
3
  import type { FieldsOf } from '@aztec/foundation/types';
4
4
 
5
5
  import { z } from 'zod';
@@ -48,8 +48,13 @@ export class HashedValues {
48
48
  return new HashedValues([Fr.random(), Fr.random()], Fr.random());
49
49
  }
50
50
 
51
- toBuffer() {
52
- return serializeToBuffer(new Vector(this.values), this.hash);
51
+ toBuffer(): Buffer;
52
+ toBuffer(sink: BufferSink): void;
53
+ toBuffer(sink?: BufferSink): Buffer | void {
54
+ if (!sink) {
55
+ return BufferSink.serialize(this);
56
+ }
57
+ serializeToSink(sink, new Vector(this.values), this.hash);
53
58
  }
54
59
 
55
60
  static fromBuffer(buffer: Buffer | BufferReader): HashedValues {
package/src/tx/index.ts CHANGED
@@ -24,6 +24,7 @@ export * from './validator/tx_validator.js';
24
24
  export * from './validator/empty_validator.js';
25
25
  export * from './validator/error_texts.js';
26
26
  export * from './capsule.js';
27
+ export * from './fee_provider.js';
27
28
  export * from './global_variable_builder.js';
28
29
  export * from './hashed_values.js';
29
30
  export * from './indexed_tx_effect.js';
@@ -1,5 +1,4 @@
1
- import { BlockNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
2
  import { schemas } from '@aztec/foundation/schemas';
4
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
4
 
@@ -7,35 +6,48 @@ import { BlockHash } from '../block/block_hash.js';
7
6
  import { type DataInBlock, dataInBlockSchemaFor, randomDataInBlock } from '../block/in_block.js';
8
7
  import { TxEffect } from './tx_effect.js';
9
8
 
10
- export type IndexedTxEffect = DataInBlock<TxEffect> & { txIndexInBlock: number };
9
+ /** A tx effect together with its position in the block (`txIndexInBlock`) and the slot the block was built in. */
10
+ export type IndexedTxEffect = DataInBlock<TxEffect> & { txIndexInBlock: number; slotNumber: SlotNumber };
11
11
 
12
12
  export function indexedTxSchema() {
13
- return dataInBlockSchemaFor(TxEffect.schema).extend({ txIndexInBlock: schemas.Integer });
13
+ return dataInBlockSchemaFor(TxEffect.schema).extend({
14
+ txIndexInBlock: schemas.Integer,
15
+ slotNumber: schemas.SlotNumber,
16
+ });
14
17
  }
15
18
 
16
19
  export async function randomIndexedTxEffect(): Promise<IndexedTxEffect> {
17
20
  return {
18
21
  ...randomDataInBlock(await TxEffect.random({ numNullifiers: 1 + Math.floor(Math.random() * 64) })),
19
22
  txIndexInBlock: Math.floor(Math.random() * 1000),
23
+ slotNumber: SlotNumber(Math.floor(Math.random() * 1000)),
20
24
  };
21
25
  }
22
26
 
23
27
  export function serializeIndexedTxEffect(effect: IndexedTxEffect): Buffer {
24
- return serializeToBuffer(effect.l2BlockHash, effect.l2BlockNumber, effect.txIndexInBlock, effect.data);
28
+ return serializeToBuffer(
29
+ effect.l2BlockHash,
30
+ effect.l2BlockNumber,
31
+ effect.txIndexInBlock,
32
+ effect.slotNumber,
33
+ effect.data,
34
+ );
25
35
  }
26
36
 
27
37
  export function deserializeIndexedTxEffect(buffer: Buffer): IndexedTxEffect {
28
38
  const reader = BufferReader.asReader(buffer);
29
39
 
30
- const l2BlockHash = new BlockHash(reader.readObject(Fr));
40
+ const l2BlockHash = BlockHash.fromBuffer(reader);
31
41
  const l2BlockNumber = BlockNumber(reader.readNumber());
32
42
  const txIndexInBlock = reader.readNumber();
43
+ const slotNumber = SlotNumber(reader.readNumber());
33
44
  const data = reader.readObject(TxEffect);
34
45
 
35
46
  return {
36
47
  l2BlockHash,
37
48
  l2BlockNumber,
38
49
  txIndexInBlock,
50
+ slotNumber,
39
51
  data,
40
52
  };
41
53
  }
@@ -1,6 +1,6 @@
1
1
  import { PARTIAL_STATE_REFERENCE_LENGTH } from '@aztec/constants';
2
2
  import type { Fr } from '@aztec/foundation/curves/bn254';
3
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
4
4
  import type { FieldsOf } from '@aztec/foundation/types';
5
5
 
6
6
  import { z } from 'zod';
@@ -88,8 +88,13 @@ export class PartialStateReference {
88
88
  );
89
89
  }
90
90
 
91
- toBuffer() {
92
- return serializeToBuffer(this.noteHashTree, this.nullifierTree, this.publicDataTree);
91
+ toBuffer(): Buffer;
92
+ toBuffer(sink: BufferSink): void;
93
+ toBuffer(sink?: BufferSink): Buffer | void {
94
+ if (!sink) {
95
+ return BufferSink.serialize(this);
96
+ }
97
+ serializeToSink(sink, this.noteHashTree, this.nullifierTree, this.publicDataTree);
93
98
  }
94
99
 
95
100
  toFields() {
@@ -133,12 +133,12 @@ export class TxProfileResult {
133
133
  ],
134
134
  {
135
135
  nodeRPCCalls: {
136
- perMethod: { getBlockHeader: { times: [1] } },
136
+ perMethod: { getBlock: { times: [1] } },
137
137
  roundTrips: {
138
138
  roundTrips: 1,
139
139
  totalBlockingTime: 1,
140
140
  roundTripDurations: [1],
141
- roundTripMethods: [['getBlockHeader']],
141
+ roundTripMethods: [['getBlock']],
142
142
  },
143
143
  },
144
144
  timings: {
@@ -184,12 +184,12 @@ export class UtilityExecutionResult {
184
184
  static random(): UtilityExecutionResult {
185
185
  return new UtilityExecutionResult([Fr.random()], [], 0n, {
186
186
  nodeRPCCalls: {
187
- perMethod: { getBlockHeader: { times: [1] } },
187
+ perMethod: { getBlock: { times: [1] } },
188
188
  roundTrips: {
189
189
  roundTrips: 1,
190
190
  totalBlockingTime: 1,
191
191
  roundTripDurations: [1],
192
- roundTripMethods: [['getBlockHeader']],
192
+ roundTripMethods: [['getBlock']],
193
193
  },
194
194
  },
195
195
  timings: {
@@ -13,6 +13,7 @@ import {
13
13
  } from './private_execution_result.js';
14
14
  import { type ProvingStats, ProvingTimingsSchema } from './profiling.js';
15
15
  import { Tx } from './tx.js';
16
+ import type { TxHash } from './tx_hash.js';
16
17
 
17
18
  export class TxProvingResult {
18
19
  constructor(
@@ -22,6 +23,11 @@ export class TxProvingResult {
22
23
  public stats?: ProvingStats,
23
24
  ) {}
24
25
 
26
+ getTxHash(): Promise<TxHash> {
27
+ // Equivalent to `(await this.toTx()).txHash` but skips walking the execution result tree to collect logs.
28
+ return Tx.computeTxHash({ data: this.publicInputs });
29
+ }
30
+
25
31
  async toTx(): Promise<Tx> {
26
32
  const contractClassLogs = collectSortedContractClassLogs(this.privateExecutionResult);
27
33
 
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { BufferReader, BufferSink, serializeToSink } from '@aztec/foundation/serialize';
3
3
 
4
4
  import { inspect } from 'util';
5
5
  import { z } from 'zod';
@@ -63,8 +63,13 @@ export class PublicCallRequestWithCalldata {
63
63
  );
64
64
  }
65
65
 
66
- toBuffer() {
67
- return serializeToBuffer(this.request, new Vector(this.calldata));
66
+ toBuffer(): Buffer;
67
+ toBuffer(sink: BufferSink): void;
68
+ toBuffer(sink?: BufferSink): Buffer | void {
69
+ if (!sink) {
70
+ return BufferSink.serialize(this);
71
+ }
72
+ serializeToSink(sink, this.request, new Vector(this.calldata));
68
73
  }
69
74
 
70
75
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -3,13 +3,13 @@ import type { FieldsOf } from '@aztec/foundation/types';
3
3
 
4
4
  import { z } from 'zod';
5
5
 
6
- import { type ContractArtifact, ContractArtifactSchema } from '../abi/abi.js';
7
6
  import {
8
7
  type ContractInstanceWithAddress,
9
8
  ContractInstanceWithAddressSchema,
10
9
  } from '../contract/interfaces/contract_instance.js';
11
10
  import { Gas } from '../gas/gas.js';
12
11
  import type { GasUsed } from '../gas/gas_used.js';
12
+ import { type PublicStorageOverride, PublicStorageOverrideSchema } from '../interfaces/public_storage_override.js';
13
13
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
14
14
  import { ChonkProof } from '../proofs/chonk_proof.js';
15
15
  import type { OffchainEffect } from './offchain_effect.js';
@@ -24,35 +24,36 @@ import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simu
24
24
  import { Tx } from './tx.js';
25
25
 
26
26
  /*
27
- * If passed during the execution of a user circuit, the contract function simulator will replace the instance and class
28
- * of the contract with the one provided in the overrides for that address. An example use case
29
- * would be overriding your own account contract so that valid signatures don't have to be provided while simulating.
27
+ * If passed during the execution of a user circuit, the contract function simulator will replace
28
+ * the contract instance at that address with the one provided. An example use case would be
29
+ * overriding your own account contract so that valid signatures don't have to be provided while
30
+ * simulating. The override's `currentContractClassId` resolves through PXE's locally registered
31
+ * classes, so pre-register the target artifact via `pxe.registerContractClass(...)`.
30
32
  */
31
- export type ContractOverrides = Record<
32
- string /* AztecAddress as string */,
33
- { instance: ContractInstanceWithAddress; artifact: ContractArtifact }
34
- >;
33
+ export type ContractOverrides = Record<string /* AztecAddress as string */, { instance: ContractInstanceWithAddress }>;
35
34
 
36
35
  /*
37
- * Optional values that can be overridden during simulation. In order to simulate a transaction with these
38
- * set, it *must* be run without the kernel circuits, or validations will fail
36
+ * Optional values that can be overridden during simulation. `publicStorage` writes to the public-data
37
+ * tree fork. `contracts` overrides contract instances in the contract DB.
38
+ * In order to simulate a transaction with these set, it *must* be run without the kernel circuits,
39
+ * or validations will fail.
39
40
  */
40
41
  export class SimulationOverrides {
41
- constructor(public contracts?: ContractOverrides) {}
42
+ public publicStorage?: PublicStorageOverride[];
43
+ public contracts?: ContractOverrides;
44
+
45
+ constructor(args: { publicStorage?: PublicStorageOverride[]; contracts?: ContractOverrides } = {}) {
46
+ this.publicStorage = args.publicStorage?.length ? args.publicStorage : undefined;
47
+ this.contracts = args.contracts && Object.keys(args.contracts).length > 0 ? args.contracts : undefined;
48
+ }
42
49
 
43
50
  static get schema() {
44
51
  return z
45
52
  .object({
46
- contracts: optional(
47
- z.record(
48
- z.string(),
49
- z.object({ instance: ContractInstanceWithAddressSchema, artifact: ContractArtifactSchema }),
50
- ),
51
- ),
53
+ publicStorage: optional(z.array(PublicStorageOverrideSchema)),
54
+ contracts: optional(z.record(z.string(), z.object({ instance: ContractInstanceWithAddressSchema }))),
52
55
  })
53
- .transform(({ contracts }) => {
54
- return new SimulationOverrides(contracts);
55
- });
56
+ .transform(args => new SimulationOverrides(args));
56
57
  }
57
58
  }
58
59
 
@@ -157,7 +158,7 @@ export class TxSimulationResult {
157
158
  }
158
159
 
159
160
  /**
160
- * Recursively accummulate the return values of a call result and its nested executions,
161
+ * Recursively accumulate the return values of a call result and its nested executions,
161
162
  * so they can be retrieved in order.
162
163
  * @param executionResult
163
164
  * @returns
@@ -5,7 +5,7 @@ import {
5
5
  STATE_REFERENCE_LENGTH,
6
6
  } from '@aztec/constants';
7
7
  import type { Fr } from '@aztec/foundation/curves/bn254';
8
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
8
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
9
9
  import type { FieldsOf } from '@aztec/foundation/types';
10
10
 
11
11
  import { inspect } from 'util';
@@ -46,9 +46,14 @@ export class StateReference {
46
46
  return new StateReference(...StateReference.getFields(fields));
47
47
  }
48
48
 
49
- toBuffer() {
50
- // Note: The order here must match the order in the ProposedHeaderLib solidity library.
51
- return serializeToBuffer(this.l1ToL2MessageTree, this.partial);
49
+ // Note: The order here must match the order in the ProposedHeaderLib solidity library.
50
+ toBuffer(): Buffer;
51
+ toBuffer(sink: BufferSink): void;
52
+ toBuffer(sink?: BufferSink): Buffer | void {
53
+ if (!sink) {
54
+ return BufferSink.serialize(this);
55
+ }
56
+ serializeToSink(sink, this.l1ToL2MessageTree, this.partial);
52
57
  }
53
58
 
54
59
  toFields(): Fr[] {
@@ -1,6 +1,6 @@
1
1
  import { TREE_SNAPSHOTS_LENGTH } from '@aztec/constants';
2
2
  import type { Fr } from '@aztec/foundation/curves/bn254';
3
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
4
4
 
5
5
  import { inspect } from 'util';
6
6
  import { z } from 'zod';
@@ -51,9 +51,14 @@ export class TreeSnapshots {
51
51
  );
52
52
  }
53
53
 
54
- toBuffer() {
55
- // Note: The order here must match the order in the ProposedHeaderLib solidity library.
56
- return serializeToBuffer(this.l1ToL2MessageTree, this.noteHashTree, this.nullifierTree, this.publicDataTree);
54
+ // Note: The order here must match the order in the ProposedHeaderLib solidity library.
55
+ toBuffer(): Buffer;
56
+ toBuffer(sink: BufferSink): void;
57
+ toBuffer(sink?: BufferSink): Buffer | void {
58
+ if (!sink) {
59
+ return BufferSink.serialize(this);
60
+ }
61
+ serializeToSink(sink, this.l1ToL2MessageTree, this.noteHashTree, this.nullifierTree, this.publicDataTree);
57
62
  }
58
63
 
59
64
  static fromFields(fields: Fr[] | FieldReader) {
package/src/tx/tx.ts CHANGED
@@ -1,15 +1,19 @@
1
1
  import { DA_GAS_PER_FIELD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { ZodFor } from '@aztec/foundation/schemas';
5
- import { BufferReader, serializeArrayOfBufferableToVector, serializeToBuffer } from '@aztec/foundation/serialize';
5
+ import {
6
+ BufferReader,
7
+ BufferSink,
8
+ serializeArrayOfBufferableToVector,
9
+ serializeArrayToSink,
10
+ serializeToSink,
11
+ } from '@aztec/foundation/serialize';
6
12
  import { type FieldsOf, unfreeze } from '@aztec/foundation/types';
7
13
 
8
14
  import { z } from 'zod';
9
15
 
10
16
  import type { GasSettings } from '../gas/gas_settings.js';
11
- import type { GetPublicLogsResponse } from '../interfaces/get_logs_response.js';
12
- import type { L2LogsSource } from '../interfaces/l2_logs_source.js';
13
17
  import type { PublicCallRequest } from '../kernel/index.js';
14
18
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
15
19
  import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
@@ -21,6 +25,14 @@ import { HashedValues } from './hashed_values.js';
21
25
  import { PublicCallRequestWithCalldata } from './public_call_request_with_calldata.js';
22
26
  import { TxHash } from './tx_hash.js';
23
27
 
28
+ // Static presize hint for the BufferSink the no-sink Tx.toBuffer() path allocates. Empirically a
29
+ // public-with-enqueued-calls Tx serialized by the bootstrapped bench (yarn-project/stdlib/src/tx/
30
+ // tx_bench.test.ts) is ~129128 bytes; a private-only Tx is ~81763 bytes. 128 KiB covers both shapes
31
+ // without a single doubling-growth `ensure()` resize on the cold path. Real-world Txs that happen to
32
+ // exceed this still serialize correctly — the sink falls back to its standard doubling growth — just
33
+ // with the existing cost.
34
+ const TX_SINK_PRESIZE_BYTES = 131072;
35
+
24
36
  /**
25
37
  * The interface of an L2 transaction.
26
38
  */
@@ -64,7 +76,7 @@ export class Tx extends Gossipable {
64
76
  // docs:end:tx_class
65
77
 
66
78
  // Gossipable method
67
- override generateP2PMessageIdentifier(): Promise<Buffer32> {
79
+ override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
68
80
  return Promise.resolve(new Buffer32(this.getTxHash().toBuffer()));
69
81
  }
70
82
 
@@ -123,18 +135,36 @@ export class Tx extends Gossipable {
123
135
  );
124
136
  }
125
137
 
138
+ /**
139
+ * Deserializes a Tx from separately-stored tx and proof buffers. The tx buffer is expected to carry an empty
140
+ * proof placeholder (as produced by `withoutProof().toBuffer()`), which is skipped in favor of the given proof.
141
+ * @param txBuffer - Serialized tx with an empty proof placeholder.
142
+ * @param proofBuffer - Serialized proof to attach.
143
+ * @returns An instance of Tx carrying the given proof.
144
+ */
145
+ static fromBuffers(txBuffer: Buffer | BufferReader, proofBuffer: Buffer | BufferReader): Tx {
146
+ const reader = BufferReader.asReader(txBuffer);
147
+ const txHash = reader.readObject(TxHash);
148
+ const data = reader.readObject(PrivateKernelTailCircuitPublicInputs);
149
+ reader.readObject(ChonkProof);
150
+ const contractClassLogFields = reader.readVectorUint8Prefix(ContractClassLogFields);
151
+ const publicFunctionCalldata = reader.readVectorUint8Prefix(HashedValues);
152
+ return new Tx(txHash, data, ChonkProof.fromBuffer(proofBuffer), contractClassLogFields, publicFunctionCalldata);
153
+ }
154
+
126
155
  /**
127
156
  * Serializes the Tx object into a Buffer.
128
157
  * @returns Buffer representation of the Tx object.
129
158
  */
130
- toBuffer() {
131
- return serializeToBuffer([
132
- this.txHash,
133
- this.data,
134
- this.chonkProof,
135
- serializeArrayOfBufferableToVector(this.contractClassLogFields, 1),
136
- serializeArrayOfBufferableToVector(this.publicFunctionCalldata, 1),
137
- ]);
159
+ toBuffer(): Buffer;
160
+ toBuffer(sink: BufferSink): void;
161
+ toBuffer(sink?: BufferSink): Buffer | void {
162
+ if (!sink) {
163
+ return BufferSink.serialize(this, TX_SINK_PRESIZE_BYTES);
164
+ }
165
+ serializeToSink(sink, this.txHash, this.data, this.chonkProof);
166
+ serializeArrayToSink(sink, this.contractClassLogFields, 1);
167
+ serializeArrayToSink(sink, this.publicFunctionCalldata, 1);
138
168
  }
139
169
 
140
170
  static get schema(): ZodFor<Tx> {
@@ -180,15 +210,6 @@ export class Tx extends Gossipable {
180
210
  return this.txHash.equals(expectedHash);
181
211
  }
182
212
 
183
- /**
184
- * Gets public logs emitted by this tx.
185
- * @param logsSource - An instance of `L2LogsSource` which can be used to obtain the logs.
186
- * @returns The requested logs.
187
- */
188
- public getPublicLogs(logsSource: L2LogsSource): Promise<GetPublicLogsResponse> {
189
- return logsSource.getPublicLogs({ txHash: this.getTxHash() });
190
- }
191
-
192
213
  getContractClassLogs(): ContractClassLog[] {
193
214
  const logHashes = this.data.getNonEmptyContractClassLogsHashes();
194
215
  return logHashes.map((logHash, i) =>
@@ -301,6 +322,16 @@ export class Tx extends Gossipable {
301
322
  return clonedTx;
302
323
  }
303
324
 
325
+ /**
326
+ * Returns a copy of this tx with its proof stripped (replaced by an empty {@link ChonkProof}). Used when archiving
327
+ * txs or shipping a pending tx over RPC where the proof is not needed. Note that {@link Tx.clone} with
328
+ * `cloneProof = false` does not strip the proof; it shares the original.
329
+ * @returns A new tx with an empty proof.
330
+ */
331
+ withoutProof(): Tx {
332
+ return new Tx(this.txHash, this.data, ChonkProof.empty(), this.contractClassLogFields, this.publicFunctionCalldata);
333
+ }
334
+
304
335
  /**
305
336
  * Creates a random tx.
306
337
  * @param randomProof - Whether to create a random proof - this will be random bytes of the full size.
@@ -345,7 +376,12 @@ export class TxArray extends Array<Tx> {
345
376
  }
346
377
  }
347
378
 
348
- public toBuffer(): Buffer {
349
- return serializeArrayOfBufferableToVector(this);
379
+ public toBuffer(): Buffer;
380
+ public toBuffer(sink: BufferSink): void;
381
+ public toBuffer(sink?: BufferSink): Buffer | void {
382
+ if (!sink) {
383
+ return serializeArrayOfBufferableToVector(this);
384
+ }
385
+ serializeArrayToSink(sink, [...this]);
350
386
  }
351
387
  }