@aztec/stdlib 0.0.1-commit.181e2d196 → 0.0.1-commit.189eedb3

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 (921) 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 +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -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 +60 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +7 -25
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_selector.d.ts +3 -6
  26. package/dest/abi/function_selector.d.ts.map +1 -1
  27. package/dest/abi/function_selector.js +2 -4
  28. package/dest/abi/function_signature_decoder.d.ts +43 -0
  29. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  30. package/dest/abi/function_signature_decoder.js +66 -0
  31. package/dest/abi/index.d.ts +2 -1
  32. package/dest/abi/index.d.ts.map +1 -1
  33. package/dest/abi/index.js +1 -0
  34. package/dest/abi/note_selector.d.ts +4 -7
  35. package/dest/abi/note_selector.d.ts.map +1 -1
  36. package/dest/abi/note_selector.js +1 -3
  37. package/dest/abi/selector.d.ts +2 -2
  38. package/dest/abi/selector.d.ts.map +1 -1
  39. package/dest/abi/selector.js +1 -1
  40. package/dest/abi/utils.d.ts +14 -1
  41. package/dest/abi/utils.d.ts.map +1 -1
  42. package/dest/abi/utils.js +16 -1
  43. package/dest/auth_witness/auth_witness.d.ts +2 -2
  44. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  45. package/dest/avm/avm.d.ts +1756 -10463
  46. package/dest/avm/avm.d.ts.map +1 -1
  47. package/dest/avm/avm.js +6 -3
  48. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  49. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  50. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  51. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  52. package/dest/avm/avm_proving_request.d.ts +653 -5446
  53. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  54. package/dest/avm/message_pack.js +12 -3
  55. package/dest/avm/public_data_write.d.ts +6 -12
  56. package/dest/avm/public_data_write.d.ts.map +1 -1
  57. package/dest/avm/revert_code.d.ts +5 -21
  58. package/dest/avm/revert_code.d.ts.map +1 -1
  59. package/dest/avm/revert_code.js +12 -30
  60. package/dest/aztec-address/index.d.ts +8 -8
  61. package/dest/aztec-address/index.d.ts.map +1 -1
  62. package/dest/aztec-address/index.js +9 -6
  63. package/dest/block/attestation_info.d.ts +3 -2
  64. package/dest/block/attestation_info.d.ts.map +1 -1
  65. package/dest/block/attestation_info.js +7 -5
  66. package/dest/block/block_data.d.ts +13 -38
  67. package/dest/block/block_data.d.ts.map +1 -1
  68. package/dest/block/block_data.js +2 -2
  69. package/dest/block/block_hash.d.ts +11 -10
  70. package/dest/block/block_hash.d.ts.map +1 -1
  71. package/dest/block/block_hash.js +10 -9
  72. package/dest/block/block_parameter.d.ts +37 -4
  73. package/dest/block/block_parameter.d.ts.map +1 -1
  74. package/dest/block/block_parameter.js +53 -2
  75. package/dest/block/in_block.d.ts +5 -24
  76. package/dest/block/in_block.d.ts.map +1 -1
  77. package/dest/block/index.d.ts +1 -2
  78. package/dest/block/index.d.ts.map +1 -1
  79. package/dest/block/index.js +0 -1
  80. package/dest/block/l2_block.d.ts +21 -41
  81. package/dest/block/l2_block.d.ts.map +1 -1
  82. package/dest/block/l2_block.js +12 -2
  83. package/dest/block/l2_block_info.d.ts +10 -29
  84. package/dest/block/l2_block_info.d.ts.map +1 -1
  85. package/dest/block/l2_block_info.js +6 -5
  86. package/dest/block/l2_block_source.d.ts +215 -356
  87. package/dest/block/l2_block_source.d.ts.map +1 -1
  88. package/dest/block/l2_block_source.js +67 -1
  89. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  90. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  91. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  92. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_block_stream.js +44 -17
  94. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  95. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  96. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  97. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  98. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  99. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  100. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  101. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  102. package/dest/block/proposal/attestations_and_signers.js +26 -18
  103. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  104. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  105. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  106. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  107. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  108. package/dest/checkpoint/checkpoint.d.ts +31 -96
  109. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint.js +18 -5
  111. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  112. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint_data.js +12 -0
  114. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  115. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  117. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  119. package/dest/checkpoint/digest.d.ts +18 -0
  120. package/dest/checkpoint/digest.d.ts.map +1 -0
  121. package/dest/checkpoint/digest.js +12 -0
  122. package/dest/checkpoint/index.d.ts +5 -1
  123. package/dest/checkpoint/index.d.ts.map +1 -1
  124. package/dest/checkpoint/index.js +4 -0
  125. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  126. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  128. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  129. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  130. package/dest/checkpoint/validate.d.ts +36 -0
  131. package/dest/checkpoint/validate.d.ts.map +1 -0
  132. package/dest/checkpoint/validate.js +120 -0
  133. package/dest/config/chain-config.d.ts +4 -9
  134. package/dest/config/chain-config.d.ts.map +1 -1
  135. package/dest/config/chain-config.js +13 -12
  136. package/dest/config/sequencer-config.d.ts +4 -2
  137. package/dest/config/sequencer-config.d.ts.map +1 -1
  138. package/dest/config/sequencer-config.js +18 -5
  139. package/dest/contract/complete_address.d.ts +3 -2
  140. package/dest/contract/complete_address.d.ts.map +1 -1
  141. package/dest/contract/complete_address.js +6 -2
  142. package/dest/contract/contract_address.d.ts +6 -6
  143. package/dest/contract/contract_address.d.ts.map +1 -1
  144. package/dest/contract/contract_address.js +6 -5
  145. package/dest/contract/contract_class_id.d.ts +2 -2
  146. package/dest/contract/contract_class_id.js +2 -2
  147. package/dest/contract/contract_deployment_data.d.ts +15 -61
  148. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  149. package/dest/contract/contract_instance.d.ts +4 -2
  150. package/dest/contract/contract_instance.d.ts.map +1 -1
  151. package/dest/contract/contract_instance.js +10 -3
  152. package/dest/contract/index.d.ts +1 -3
  153. package/dest/contract/index.d.ts.map +1 -1
  154. package/dest/contract/index.js +0 -2
  155. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  156. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  157. package/dest/contract/interfaces/contract_class.js +1 -28
  158. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  159. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  160. package/dest/contract/interfaces/contract_instance.js +4 -2
  161. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  162. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  163. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  164. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  165. package/dest/contract/private_function.d.ts +1 -1
  166. package/dest/contract/private_function.d.ts.map +1 -1
  167. package/dest/contract/private_function.js +2 -4
  168. package/dest/database-version/database_version.d.ts +5 -11
  169. package/dest/database-version/database_version.d.ts.map +1 -1
  170. package/dest/database-version/version_manager.d.ts +6 -2
  171. package/dest/database-version/version_manager.d.ts.map +1 -1
  172. package/dest/database-version/version_manager.js +12 -1
  173. package/dest/epoch-helpers/index.d.ts +12 -20
  174. package/dest/epoch-helpers/index.d.ts.map +1 -1
  175. package/dest/epoch-helpers/index.js +16 -2
  176. package/dest/file-store/factory.d.ts +4 -3
  177. package/dest/file-store/factory.d.ts.map +1 -1
  178. package/dest/file-store/factory.js +2 -2
  179. package/dest/file-store/http.d.ts +9 -2
  180. package/dest/file-store/http.d.ts.map +1 -1
  181. package/dest/file-store/http.js +20 -9
  182. package/dest/file-store/index.d.ts +2 -1
  183. package/dest/file-store/index.d.ts.map +1 -1
  184. package/dest/gas/fee_math.d.ts +49 -0
  185. package/dest/gas/fee_math.d.ts.map +1 -0
  186. package/dest/gas/fee_math.js +80 -0
  187. package/dest/gas/gas.d.ts +9 -14
  188. package/dest/gas/gas.d.ts.map +1 -1
  189. package/dest/gas/gas.js +6 -3
  190. package/dest/gas/gas_fees.d.ts +13 -14
  191. package/dest/gas/gas_fees.d.ts.map +1 -1
  192. package/dest/gas/gas_fees.js +17 -4
  193. package/dest/gas/gas_settings.d.ts +66 -86
  194. package/dest/gas/gas_settings.d.ts.map +1 -1
  195. package/dest/gas/gas_settings.js +56 -9
  196. package/dest/gas/index.d.ts +2 -1
  197. package/dest/gas/index.d.ts.map +1 -1
  198. package/dest/gas/index.js +1 -0
  199. package/dest/ha-signing/config.d.ts +28 -57
  200. package/dest/ha-signing/config.d.ts.map +1 -1
  201. package/dest/ha-signing/config.js +24 -28
  202. package/dest/ha-signing/index.d.ts +4 -3
  203. package/dest/ha-signing/index.d.ts.map +1 -1
  204. package/dest/ha-signing/index.js +3 -2
  205. package/dest/ha-signing/local_config.d.ts +32 -0
  206. package/dest/ha-signing/local_config.d.ts.map +1 -0
  207. package/dest/ha-signing/local_config.js +24 -0
  208. package/dest/ha-signing/types.d.ts +37 -32
  209. package/dest/ha-signing/types.d.ts.map +1 -1
  210. package/dest/ha-signing/types.js +13 -6
  211. package/dest/hash/hash.d.ts +34 -1
  212. package/dest/hash/hash.d.ts.map +1 -1
  213. package/dest/hash/hash.js +63 -2
  214. package/dest/interfaces/allowed_element.d.ts +16 -16
  215. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  216. package/dest/interfaces/allowed_element.js +8 -2
  217. package/dest/interfaces/api_limit.d.ts +1 -1
  218. package/dest/interfaces/api_limit.js +1 -1
  219. package/dest/interfaces/archiver.d.ts +22 -32
  220. package/dest/interfaces/archiver.d.ts.map +1 -1
  221. package/dest/interfaces/archiver.js +214 -69
  222. package/dest/interfaces/aztec-node-admin.d.ts +80 -258
  223. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  224. package/dest/interfaces/aztec-node-admin.js +59 -16
  225. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  226. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  227. package/dest/interfaces/aztec-node-debug.js +21 -0
  228. package/dest/interfaces/aztec-node.d.ts +114 -105
  229. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  230. package/dest/interfaces/aztec-node.js +311 -68
  231. package/dest/interfaces/block-builder.d.ts +40 -11
  232. package/dest/interfaces/block-builder.d.ts.map +1 -1
  233. package/dest/interfaces/block-builder.js +12 -5
  234. package/dest/interfaces/block_response.d.ts +90 -0
  235. package/dest/interfaces/block_response.d.ts.map +1 -0
  236. package/dest/interfaces/block_response.js +30 -0
  237. package/dest/interfaces/chain_tips.d.ts +50 -0
  238. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  239. package/dest/interfaces/chain_tips.js +11 -0
  240. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  241. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  242. package/dest/interfaces/checkpoint_parameter.js +18 -0
  243. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  244. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  245. package/dest/interfaces/checkpoint_response.js +26 -0
  246. package/dest/interfaces/client.d.ts +8 -2
  247. package/dest/interfaces/client.d.ts.map +1 -1
  248. package/dest/interfaces/client.js +7 -1
  249. package/dest/interfaces/configs.d.ts +56 -105
  250. package/dest/interfaces/configs.d.ts.map +1 -1
  251. package/dest/interfaces/configs.js +12 -2
  252. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  253. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  254. package/dest/interfaces/l1_publish_info.js +26 -0
  255. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  256. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  257. package/dest/interfaces/l2_logs_source.js +5 -0
  258. package/dest/interfaces/merkle_tree_operations.d.ts +20 -23
  259. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  260. package/dest/interfaces/p2p-bootstrap.js +8 -2
  261. package/dest/interfaces/p2p.d.ts +15 -5
  262. package/dest/interfaces/p2p.d.ts.map +1 -1
  263. package/dest/interfaces/p2p.js +28 -5
  264. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  265. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  266. package/dest/interfaces/prover-agent.d.ts +5 -23
  267. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  268. package/dest/interfaces/prover-agent.js +4 -1
  269. package/dest/interfaces/prover-client.d.ts +9 -25
  270. package/dest/interfaces/prover-client.d.ts.map +1 -1
  271. package/dest/interfaces/prover-client.js +7 -4
  272. package/dest/interfaces/prover-node.js +22 -8
  273. package/dest/interfaces/proving-job-source.js +24 -4
  274. package/dest/interfaces/proving-job.d.ts +742 -5793
  275. package/dest/interfaces/proving-job.d.ts.map +1 -1
  276. package/dest/interfaces/proving-job.js +1 -1
  277. package/dest/interfaces/public_storage_override.d.ts +22 -0
  278. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  279. package/dest/interfaces/public_storage_override.js +7 -0
  280. package/dest/interfaces/server.d.ts +6 -1
  281. package/dest/interfaces/server.d.ts.map +1 -1
  282. package/dest/interfaces/server.js +5 -0
  283. package/dest/interfaces/slasher.d.ts +25 -65
  284. package/dest/interfaces/slasher.d.ts.map +1 -1
  285. package/dest/interfaces/slasher.js +8 -4
  286. package/dest/interfaces/tx_provider.d.ts +6 -1
  287. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  288. package/dest/interfaces/validator.d.ts +70 -191
  289. package/dest/interfaces/validator.d.ts.map +1 -1
  290. package/dest/interfaces/validator.js +12 -5
  291. package/dest/interfaces/world_state.d.ts +6 -5
  292. package/dest/interfaces/world_state.d.ts.map +1 -1
  293. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  294. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  295. package/dest/kernel/hints/key_validation_request.js +20 -18
  296. package/dest/kernel/index.d.ts +5 -1
  297. package/dest/kernel/index.d.ts.map +1 -1
  298. package/dest/kernel/index.js +4 -0
  299. package/dest/kernel/log_hash.d.ts +6 -2
  300. package/dest/kernel/log_hash.d.ts.map +1 -1
  301. package/dest/kernel/log_hash.js +21 -9
  302. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  303. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  304. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  305. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  306. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  307. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  308. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  309. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  310. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  311. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  312. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  313. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  314. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  315. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  316. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  317. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  318. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  319. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  320. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
  321. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  322. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  323. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  324. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  325. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  326. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  327. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  328. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  329. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  330. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  331. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  332. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  333. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  334. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  335. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  336. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  338. package/dest/kernel/public_call_request.d.ts +15 -30
  339. package/dest/kernel/public_call_request.d.ts.map +1 -1
  340. package/dest/kernel/public_call_request.js +16 -7
  341. package/dest/keys/derivation.d.ts +6 -2
  342. package/dest/keys/derivation.d.ts.map +1 -1
  343. package/dest/keys/derivation.js +16 -6
  344. package/dest/keys/public_key.d.ts +22 -3
  345. package/dest/keys/public_key.d.ts.map +1 -1
  346. package/dest/keys/public_key.js +20 -1
  347. package/dest/keys/public_keys.d.ts +55 -82
  348. package/dest/keys/public_keys.d.ts.map +1 -1
  349. package/dest/keys/public_keys.js +102 -74
  350. package/dest/kv-store/config.d.ts +14 -0
  351. package/dest/kv-store/config.d.ts.map +1 -0
  352. package/dest/kv-store/config.js +21 -0
  353. package/dest/kv-store/index.d.ts +2 -0
  354. package/dest/kv-store/index.d.ts.map +1 -0
  355. package/dest/kv-store/index.js +1 -0
  356. package/dest/l1-contracts/index.d.ts +2 -2
  357. package/dest/l1-contracts/index.d.ts.map +1 -1
  358. package/dest/l1-contracts/index.js +1 -1
  359. package/dest/logs/app_tagging_secret.d.ts +46 -0
  360. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  361. package/dest/logs/app_tagging_secret.js +109 -0
  362. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  363. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  364. package/dest/logs/app_tagging_secret_kind.js +17 -0
  365. package/dest/logs/contract_class_log.d.ts +16 -34
  366. package/dest/logs/contract_class_log.d.ts.map +1 -1
  367. package/dest/logs/contract_class_log.js +11 -9
  368. package/dest/logs/index.d.ts +8 -7
  369. package/dest/logs/index.d.ts.map +1 -1
  370. package/dest/logs/index.js +7 -6
  371. package/dest/logs/log_cursor.d.ts +51 -0
  372. package/dest/logs/log_cursor.d.ts.map +1 -0
  373. package/dest/logs/log_cursor.js +82 -0
  374. package/dest/logs/log_result.d.ts +54 -0
  375. package/dest/logs/log_result.d.ts.map +1 -0
  376. package/dest/logs/log_result.js +56 -0
  377. package/dest/logs/logs_query.d.ts +82 -0
  378. package/dest/logs/logs_query.d.ts.map +1 -0
  379. package/dest/logs/logs_query.js +50 -0
  380. package/dest/logs/message_context.d.ts +6 -8
  381. package/dest/logs/message_context.d.ts.map +1 -1
  382. package/dest/logs/message_context.js +27 -9
  383. package/dest/logs/pending_tagged_log.d.ts +2 -3
  384. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  385. package/dest/logs/pending_tagged_log.js +2 -2
  386. package/dest/logs/pre_tag.d.ts +11 -24
  387. package/dest/logs/pre_tag.d.ts.map +1 -1
  388. package/dest/logs/pre_tag.js +2 -2
  389. package/dest/logs/private_log.d.ts +7 -12
  390. package/dest/logs/private_log.d.ts.map +1 -1
  391. package/dest/logs/private_log.js +6 -3
  392. package/dest/logs/public_log.d.ts +4 -3
  393. package/dest/logs/public_log.d.ts.map +1 -1
  394. package/dest/logs/public_log.js +2 -1
  395. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  396. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  397. package/dest/logs/query_all_logs_by_tags.js +64 -0
  398. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  399. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  400. package/dest/logs/shared_secret_derivation.js +15 -9
  401. package/dest/logs/siloed_tag.d.ts +8 -7
  402. package/dest/logs/siloed_tag.d.ts.map +1 -1
  403. package/dest/logs/siloed_tag.js +13 -3
  404. package/dest/logs/tag.d.ts +5 -6
  405. package/dest/logs/tag.d.ts.map +1 -1
  406. package/dest/logs/tag.js +4 -0
  407. package/dest/logs/tagging_index_range.d.ts +22 -0
  408. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  409. package/dest/logs/tagging_index_range.js +8 -0
  410. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  411. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  412. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  413. package/dest/messaging/index.d.ts +2 -1
  414. package/dest/messaging/index.d.ts.map +1 -1
  415. package/dest/messaging/index.js +1 -0
  416. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  417. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  418. package/dest/messaging/l1_to_l2_message.js +11 -13
  419. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  420. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  421. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  422. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  423. package/dest/messaging/l2_to_l1_membership.js +130 -27
  424. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  425. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  426. package/dest/messaging/l2_to_l1_message.js +21 -12
  427. package/dest/noir/index.d.ts +5 -3
  428. package/dest/noir/index.d.ts.map +1 -1
  429. package/dest/note/note.d.ts +2 -2
  430. package/dest/note/note.d.ts.map +1 -1
  431. package/dest/note/note_dao.d.ts +1 -1
  432. package/dest/note/note_dao.d.ts.map +1 -1
  433. package/dest/note/note_dao.js +1 -4
  434. package/dest/p2p/block_proposal.d.ts +31 -14
  435. package/dest/p2p/block_proposal.d.ts.map +1 -1
  436. package/dest/p2p/block_proposal.js +57 -39
  437. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  438. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  439. package/dest/p2p/checkpoint_attestation.js +23 -24
  440. package/dest/p2p/checkpoint_proposal.d.ts +35 -21
  441. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  442. package/dest/p2p/checkpoint_proposal.js +59 -61
  443. package/dest/p2p/consensus_payload.d.ts +26 -20
  444. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  445. package/dest/p2p/consensus_payload.js +38 -19
  446. package/dest/p2p/gossipable.d.ts +4 -4
  447. package/dest/p2p/gossipable.d.ts.map +1 -1
  448. package/dest/p2p/peer_error.d.ts +3 -1
  449. package/dest/p2p/peer_error.d.ts.map +1 -1
  450. package/dest/p2p/peer_error.js +5 -0
  451. package/dest/p2p/signature_utils.d.ts +28 -19
  452. package/dest/p2p/signature_utils.d.ts.map +1 -1
  453. package/dest/p2p/signature_utils.js +118 -21
  454. package/dest/p2p/signed_txs.d.ts +15 -13
  455. package/dest/p2p/signed_txs.d.ts.map +1 -1
  456. package/dest/p2p/signed_txs.js +26 -24
  457. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  458. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  459. package/dest/parity/parity_base_private_inputs.js +7 -5
  460. package/dest/parity/parity_public_inputs.d.ts +8 -4
  461. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  462. package/dest/parity/parity_public_inputs.js +6 -3
  463. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  464. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  465. package/dest/proofs/chonk_proof.d.ts +57 -7
  466. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  467. package/dest/proofs/chonk_proof.js +112 -15
  468. package/dest/proofs/recursive_proof.d.ts +2 -2
  469. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  470. package/dest/rollup/block_headers_hash.d.ts +1 -1
  471. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  472. package/dest/rollup/block_headers_hash.js +8 -2
  473. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  474. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  475. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  476. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  477. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  478. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  479. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  480. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  481. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  482. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  483. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  484. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  485. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  486. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  487. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  488. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  489. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  490. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  491. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  492. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  493. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  494. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  495. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  496. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  497. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  498. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  499. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  502. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  503. package/dest/schemas/schemas.d.ts +32 -78
  504. package/dest/schemas/schemas.d.ts.map +1 -1
  505. package/dest/schemas/schemas.js +2 -2
  506. package/dest/slashing/helpers.d.ts +2 -2
  507. package/dest/slashing/helpers.d.ts.map +1 -1
  508. package/dest/slashing/helpers.js +10 -7
  509. package/dest/slashing/index.d.ts +2 -3
  510. package/dest/slashing/index.d.ts.map +1 -1
  511. package/dest/slashing/index.js +1 -2
  512. package/dest/slashing/serialization.d.ts +2 -6
  513. package/dest/slashing/serialization.d.ts.map +1 -1
  514. package/dest/slashing/serialization.js +0 -60
  515. package/dest/slashing/types.d.ts +18 -112
  516. package/dest/slashing/types.d.ts.map +1 -1
  517. package/dest/slashing/types.js +16 -24
  518. package/dest/slashing/{tally.d.ts → votes.d.ts} +5 -6
  519. package/dest/slashing/votes.d.ts.map +1 -0
  520. package/dest/slashing/{tally.js → votes.js} +19 -10
  521. package/dest/snapshots/types.d.ts +15 -78
  522. package/dest/snapshots/types.d.ts.map +1 -1
  523. package/dest/stats/stats.d.ts +2 -2
  524. package/dest/stats/stats.d.ts.map +1 -1
  525. package/dest/tests/factories.d.ts +25 -32
  526. package/dest/tests/factories.d.ts.map +1 -1
  527. package/dest/tests/factories.js +82 -82
  528. package/dest/tests/mocks.d.ts +11 -6
  529. package/dest/tests/mocks.d.ts.map +1 -1
  530. package/dest/tests/mocks.js +55 -62
  531. package/dest/timetable/index.d.ts +48 -1
  532. package/dest/timetable/index.d.ts.map +1 -1
  533. package/dest/timetable/index.js +184 -14
  534. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  535. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  536. package/dest/trees/append_only_tree_snapshot.js +6 -3
  537. package/dest/trees/nullifier_leaf.d.ts +19 -42
  538. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  539. package/dest/trees/nullifier_leaf.js +3 -0
  540. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  541. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  542. package/dest/trees/nullifier_membership_witness.js +2 -14
  543. package/dest/trees/public_data_leaf.d.ts +21 -53
  544. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  545. package/dest/trees/public_data_witness.d.ts +16 -58
  546. package/dest/trees/public_data_witness.d.ts.map +1 -1
  547. package/dest/tx/block_header.d.ts +7 -4
  548. package/dest/tx/block_header.d.ts.map +1 -1
  549. package/dest/tx/block_header.js +11 -4
  550. package/dest/tx/call_context.d.ts +4 -14
  551. package/dest/tx/call_context.d.ts.map +1 -1
  552. package/dest/tx/capsule.d.ts +7 -3
  553. package/dest/tx/capsule.d.ts.map +1 -1
  554. package/dest/tx/capsule.js +9 -3
  555. package/dest/tx/fee_provider.d.ts +10 -0
  556. package/dest/tx/fee_provider.d.ts.map +1 -0
  557. package/dest/tx/fee_provider.js +1 -0
  558. package/dest/tx/function_data.d.ts +4 -10
  559. package/dest/tx/function_data.d.ts.map +1 -1
  560. package/dest/tx/global_variable_builder.d.ts +3 -4
  561. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  562. package/dest/tx/global_variables.d.ts +16 -49
  563. package/dest/tx/global_variables.d.ts.map +1 -1
  564. package/dest/tx/global_variables.js +8 -12
  565. package/dest/tx/hashed_values.d.ts +4 -3
  566. package/dest/tx/hashed_values.d.ts.map +1 -1
  567. package/dest/tx/hashed_values.js +6 -3
  568. package/dest/tx/in_tx.d.ts +5 -17
  569. package/dest/tx/in_tx.d.ts.map +1 -1
  570. package/dest/tx/index.d.ts +2 -1
  571. package/dest/tx/index.d.ts.map +1 -1
  572. package/dest/tx/index.js +1 -0
  573. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  574. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  575. package/dest/tx/indexed_tx_effect.js +9 -6
  576. package/dest/tx/partial_state_reference.d.ts +22 -65
  577. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  578. package/dest/tx/partial_state_reference.js +6 -3
  579. package/dest/tx/private_execution_result.d.ts +11 -21
  580. package/dest/tx/private_execution_result.d.ts.map +1 -1
  581. package/dest/tx/private_execution_result.js +6 -6
  582. package/dest/tx/profiling.d.ts +67 -353
  583. package/dest/tx/profiling.d.ts.map +1 -1
  584. package/dest/tx/profiling.js +17 -7
  585. package/dest/tx/protocol_contracts.d.ts +5 -9
  586. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  587. package/dest/tx/proven_tx.d.ts +30 -74
  588. package/dest/tx/proven_tx.d.ts.map +1 -1
  589. package/dest/tx/proven_tx.js +6 -0
  590. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  591. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  592. package/dest/tx/public_call_request_with_calldata.js +6 -3
  593. package/dest/tx/simulated_tx.d.ts +68 -1144
  594. package/dest/tx/simulated_tx.d.ts.map +1 -1
  595. package/dest/tx/simulated_tx.js +17 -12
  596. package/dest/tx/state_reference.d.ts +30 -117
  597. package/dest/tx/state_reference.d.ts.map +1 -1
  598. package/dest/tx/state_reference.js +6 -4
  599. package/dest/tx/tree_snapshots.d.ts +27 -84
  600. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  601. package/dest/tx/tree_snapshots.js +6 -4
  602. package/dest/tx/tx.d.ts +19 -17
  603. package/dest/tx/tx.d.ts.map +1 -1
  604. package/dest/tx/tx.js +48 -29
  605. package/dest/tx/tx_constant_data.d.ts +4 -3
  606. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  607. package/dest/tx/tx_constant_data.js +6 -3
  608. package/dest/tx/tx_context.d.ts +32 -131
  609. package/dest/tx/tx_context.d.ts.map +1 -1
  610. package/dest/tx/tx_context.js +6 -6
  611. package/dest/tx/tx_hash.d.ts +6 -4
  612. package/dest/tx/tx_hash.d.ts.map +1 -1
  613. package/dest/tx/tx_hash.js +13 -5
  614. package/dest/tx/tx_receipt.d.ts +145 -59
  615. package/dest/tx/tx_receipt.d.ts.map +1 -1
  616. package/dest/tx/tx_receipt.js +144 -58
  617. package/dest/tx/validator/error_texts.d.ts +8 -1
  618. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  619. package/dest/tx/validator/error_texts.js +9 -0
  620. package/dest/tx/validator/tx_validator.d.ts +5 -27
  621. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  622. package/dest/tx/validator/tx_validator.js +0 -4
  623. package/dest/types/shared.d.ts +4 -12
  624. package/dest/types/shared.d.ts.map +1 -1
  625. package/dest/types/shared.js +6 -12
  626. package/dest/update-checker/dev_version.d.ts +3 -0
  627. package/dest/update-checker/dev_version.d.ts.map +1 -0
  628. package/dest/update-checker/dev_version.js +1 -0
  629. package/dest/update-checker/index.d.ts +4 -2
  630. package/dest/update-checker/index.d.ts.map +1 -1
  631. package/dest/update-checker/index.js +3 -1
  632. package/dest/update-checker/package_version.d.ts +6 -0
  633. package/dest/update-checker/package_version.d.ts.map +1 -0
  634. package/dest/update-checker/package_version.js +13 -0
  635. package/dest/update-checker/version_checker.d.ts +25 -0
  636. package/dest/update-checker/version_checker.d.ts.map +1 -0
  637. package/dest/update-checker/version_checker.js +50 -0
  638. package/dest/validators/errors.d.ts +6 -1
  639. package/dest/validators/errors.d.ts.map +1 -1
  640. package/dest/validators/errors.js +7 -0
  641. package/dest/validators/schemas.d.ts +147 -614
  642. package/dest/validators/schemas.d.ts.map +1 -1
  643. package/dest/validators/schemas.js +6 -4
  644. package/dest/validators/types.d.ts +20 -3
  645. package/dest/validators/types.d.ts.map +1 -1
  646. package/dest/versioning/versioning.d.ts +4 -2
  647. package/dest/versioning/versioning.d.ts.map +1 -1
  648. package/dest/versioning/versioning.js +5 -2
  649. package/dest/vks/verification_key.d.ts +4 -139
  650. package/dest/vks/verification_key.d.ts.map +1 -1
  651. package/dest/vks/verification_key.js +5 -126
  652. package/dest/world-state/genesis_data.d.ts +13 -0
  653. package/dest/world-state/genesis_data.d.ts.map +1 -0
  654. package/dest/world-state/genesis_data.js +7 -0
  655. package/dest/world-state/index.d.ts +2 -1
  656. package/dest/world-state/index.d.ts.map +1 -1
  657. package/dest/world-state/index.js +1 -0
  658. package/dest/world-state/world_state_revision.d.ts +11 -39
  659. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  660. package/dest/world-state/world_state_revision.js +7 -21
  661. package/package.json +14 -12
  662. package/src/abi/abi.ts +78 -21
  663. package/src/abi/authorization_selector.ts +2 -8
  664. package/src/abi/buffer.ts +25 -4
  665. package/src/abi/contract_artifact.ts +11 -6
  666. package/src/abi/decoder.ts +36 -79
  667. package/src/abi/encoder.ts +83 -7
  668. package/src/abi/event_metadata_definition.ts +2 -0
  669. package/src/abi/event_selector.ts +2 -8
  670. package/src/abi/function_selector.ts +4 -13
  671. package/src/abi/function_signature_decoder.ts +77 -0
  672. package/src/abi/index.ts +1 -0
  673. package/src/abi/note_selector.ts +3 -12
  674. package/src/abi/selector.ts +1 -1
  675. package/src/abi/utils.ts +31 -4
  676. package/src/avm/avm.ts +5 -0
  677. package/src/avm/message_pack.ts +12 -3
  678. package/src/avm/revert_code.ts +19 -39
  679. package/src/aztec-address/index.ts +15 -12
  680. package/src/block/attestation_info.ts +11 -11
  681. package/src/block/block_data.ts +3 -4
  682. package/src/block/block_hash.ts +21 -14
  683. package/src/block/block_parameter.ts +72 -4
  684. package/src/block/index.ts +0 -1
  685. package/src/block/l2_block.ts +13 -1
  686. package/src/block/l2_block_info.ts +8 -6
  687. package/src/block/l2_block_source.ts +213 -144
  688. package/src/block/l2_block_stream/interfaces.ts +6 -2
  689. package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
  690. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  691. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  692. package/src/block/proposal/attestations_and_signers.ts +32 -17
  693. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  694. package/src/checkpoint/checkpoint.ts +23 -4
  695. package/src/checkpoint/checkpoint_data.ts +44 -4
  696. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  697. package/src/checkpoint/digest.ts +28 -0
  698. package/src/checkpoint/index.ts +4 -0
  699. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  700. package/src/checkpoint/validate.ts +230 -0
  701. package/src/config/chain-config.ts +13 -16
  702. package/src/config/sequencer-config.ts +34 -6
  703. package/src/contract/complete_address.ts +7 -3
  704. package/src/contract/contract_address.ts +7 -7
  705. package/src/contract/contract_class_id.ts +2 -2
  706. package/src/contract/contract_instance.ts +11 -2
  707. package/src/contract/index.ts +0 -2
  708. package/src/contract/interfaces/contract_class.ts +2 -82
  709. package/src/contract/interfaces/contract_instance.ts +6 -2
  710. package/src/contract/private_function.ts +3 -1
  711. package/src/database-version/version_manager.ts +17 -0
  712. package/src/epoch-helpers/index.ts +27 -0
  713. package/src/file-store/factory.ts +13 -4
  714. package/src/file-store/http.ts +29 -10
  715. package/src/file-store/index.ts +1 -0
  716. package/src/gas/README.md +154 -0
  717. package/src/gas/fee_math.ts +120 -0
  718. package/src/gas/gas.ts +8 -3
  719. package/src/gas/gas_fees.ts +26 -13
  720. package/src/gas/gas_settings.ts +73 -15
  721. package/src/gas/index.ts +1 -0
  722. package/src/ha-signing/config.ts +56 -53
  723. package/src/ha-signing/index.ts +12 -1
  724. package/src/ha-signing/local_config.ts +46 -0
  725. package/src/ha-signing/types.ts +48 -34
  726. package/src/hash/hash.ts +63 -2
  727. package/src/interfaces/allowed_element.ts +28 -4
  728. package/src/interfaces/api_limit.ts +1 -1
  729. package/src/interfaces/archiver.ts +89 -92
  730. package/src/interfaces/aztec-node-admin.ts +35 -20
  731. package/src/interfaces/aztec-node-debug.ts +40 -0
  732. package/src/interfaces/aztec-node.ts +313 -245
  733. package/src/interfaces/block-builder.ts +58 -13
  734. package/src/interfaces/block_response.ts +92 -0
  735. package/src/interfaces/chain_tips.ts +24 -0
  736. package/src/interfaces/checkpoint_parameter.ts +20 -0
  737. package/src/interfaces/checkpoint_response.ts +84 -0
  738. package/src/interfaces/client.ts +7 -1
  739. package/src/interfaces/configs.ts +54 -4
  740. package/src/interfaces/l1_publish_info.ts +40 -0
  741. package/src/interfaces/l2_logs_source.ts +13 -39
  742. package/src/interfaces/merkle_tree_operations.ts +20 -22
  743. package/src/interfaces/p2p-bootstrap.ts +2 -2
  744. package/src/interfaces/p2p.ts +35 -15
  745. package/src/interfaces/private_kernel_prover.ts +88 -0
  746. package/src/interfaces/prover-agent.ts +1 -1
  747. package/src/interfaces/prover-client.ts +10 -5
  748. package/src/interfaces/prover-node.ts +7 -7
  749. package/src/interfaces/proving-job-source.ts +4 -4
  750. package/src/interfaces/proving-job.ts +3 -3
  751. package/src/interfaces/public_storage_override.ts +26 -0
  752. package/src/interfaces/server.ts +5 -0
  753. package/src/interfaces/slasher.ts +17 -10
  754. package/src/interfaces/tx_provider.ts +6 -0
  755. package/src/interfaces/validator.ts +78 -38
  756. package/src/interfaces/world_state.ts +5 -4
  757. package/src/kernel/hints/key_validation_request.ts +18 -16
  758. package/src/kernel/index.ts +4 -0
  759. package/src/kernel/log_hash.ts +29 -9
  760. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  761. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  762. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  763. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  764. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  765. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  766. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  767. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  768. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  769. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  770. package/src/kernel/public_call_request.ts +22 -7
  771. package/src/keys/derivation.ts +21 -9
  772. package/src/keys/public_key.ts +26 -2
  773. package/src/keys/public_keys.ts +124 -110
  774. package/src/kv-store/config.ts +29 -0
  775. package/src/kv-store/index.ts +1 -0
  776. package/src/l1-contracts/index.ts +1 -1
  777. package/src/logs/app_tagging_secret.ts +137 -0
  778. package/src/logs/app_tagging_secret_kind.ts +21 -0
  779. package/src/logs/contract_class_log.ts +15 -5
  780. package/src/logs/index.ts +7 -6
  781. package/src/logs/log_cursor.ts +110 -0
  782. package/src/logs/log_result.ts +104 -0
  783. package/src/logs/logs_query.ts +138 -0
  784. package/src/logs/message_context.ts +22 -8
  785. package/src/logs/pending_tagged_log.ts +1 -3
  786. package/src/logs/pre_tag.ts +3 -6
  787. package/src/logs/private_log.ts +9 -3
  788. package/src/logs/public_log.ts +4 -2
  789. package/src/logs/query_all_logs_by_tags.ts +98 -0
  790. package/src/logs/shared_secret_derivation.ts +21 -10
  791. package/src/logs/siloed_tag.ts +20 -11
  792. package/src/logs/tag.ts +8 -8
  793. package/src/logs/tagging_index_range.ts +18 -0
  794. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  795. package/src/messaging/index.ts +1 -0
  796. package/src/messaging/l1_to_l2_message.ts +12 -9
  797. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  798. package/src/messaging/l2_to_l1_membership.ts +189 -35
  799. package/src/messaging/l2_to_l1_message.ts +29 -9
  800. package/src/noir/index.ts +4 -2
  801. package/src/note/note_dao.ts +1 -4
  802. package/src/p2p/block_proposal.ts +111 -36
  803. package/src/p2p/checkpoint_attestation.ts +27 -31
  804. package/src/p2p/checkpoint_proposal.ts +126 -85
  805. package/src/p2p/consensus_payload.ts +59 -28
  806. package/src/p2p/gossipable.ts +4 -4
  807. package/src/p2p/peer_error.ts +7 -0
  808. package/src/p2p/signature_utils.ts +110 -25
  809. package/src/p2p/signed_txs.ts +46 -28
  810. package/src/parity/parity_base_private_inputs.ts +10 -4
  811. package/src/parity/parity_public_inputs.ts +9 -2
  812. package/src/proofs/chonk_proof.ts +132 -12
  813. package/src/rollup/block_headers_hash.ts +11 -2
  814. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  815. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  816. package/src/schemas/schemas.ts +6 -1
  817. package/src/slashing/helpers.ts +13 -9
  818. package/src/slashing/index.ts +1 -2
  819. package/src/slashing/serialization.ts +1 -81
  820. package/src/slashing/types.ts +24 -49
  821. package/src/slashing/{tally.ts → votes.ts} +22 -4
  822. package/src/stats/stats.ts +4 -0
  823. package/src/tests/factories.ts +103 -111
  824. package/src/tests/mocks.ts +83 -76
  825. package/src/timetable/index.ts +251 -13
  826. package/src/trees/append_only_tree_snapshot.ts +8 -3
  827. package/src/trees/nullifier_leaf.ts +4 -0
  828. package/src/trees/nullifier_membership_witness.ts +2 -12
  829. package/src/tx/block_header.ts +16 -5
  830. package/src/tx/capsule.ts +10 -2
  831. package/src/tx/fee_provider.ts +10 -0
  832. package/src/tx/global_variable_builder.ts +2 -3
  833. package/src/tx/global_variables.ts +10 -18
  834. package/src/tx/hashed_values.ts +8 -3
  835. package/src/tx/index.ts +1 -0
  836. package/src/tx/indexed_tx_effect.ts +18 -6
  837. package/src/tx/partial_state_reference.ts +8 -3
  838. package/src/tx/private_execution_result.ts +5 -5
  839. package/src/tx/profiling.ts +15 -6
  840. package/src/tx/proven_tx.ts +6 -0
  841. package/src/tx/public_call_request_with_calldata.ts +8 -3
  842. package/src/tx/simulated_tx.ts +30 -22
  843. package/src/tx/state_reference.ts +9 -4
  844. package/src/tx/tree_snapshots.ts +9 -4
  845. package/src/tx/tx.ts +63 -35
  846. package/src/tx/tx_constant_data.ts +8 -3
  847. package/src/tx/tx_context.ts +8 -3
  848. package/src/tx/tx_hash.ts +20 -5
  849. package/src/tx/tx_receipt.ts +267 -82
  850. package/src/tx/validator/error_texts.ts +11 -0
  851. package/src/tx/validator/tx_validator.ts +1 -5
  852. package/src/types/shared.ts +8 -13
  853. package/src/update-checker/dev_version.ts +2 -0
  854. package/src/update-checker/index.ts +3 -1
  855. package/src/update-checker/package_version.ts +17 -0
  856. package/src/update-checker/version_checker.ts +65 -0
  857. package/src/validators/errors.ts +9 -0
  858. package/src/validators/schemas.ts +6 -4
  859. package/src/validators/types.ts +21 -2
  860. package/src/versioning/versioning.ts +5 -2
  861. package/src/vks/verification_key.ts +5 -184
  862. package/src/world-state/genesis_data.ts +27 -0
  863. package/src/world-state/index.ts +1 -0
  864. package/src/world-state/world_state_revision.ts +9 -34
  865. package/dest/abi/mocked_keys.d.ts +0 -2
  866. package/dest/abi/mocked_keys.d.ts.map +0 -1
  867. package/dest/abi/mocked_keys.js +0 -1
  868. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  869. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  870. package/dest/block/checkpointed_l2_block.js +0 -46
  871. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  872. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  873. package/dest/contract/private_function_membership_proof.js +0 -124
  874. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  875. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  876. package/dest/contract/utility_function_membership_proof.js +0 -87
  877. package/dest/interfaces/get_logs_response.d.ts +0 -97
  878. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  879. package/dest/interfaces/get_logs_response.js +0 -12
  880. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  881. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  882. package/dest/l1-contracts/slash_factory.js +0 -158
  883. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  884. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  885. package/dest/logs/extended_contract_class_log.js +0 -67
  886. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  887. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  888. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  889. package/dest/logs/extended_public_log.d.ts +0 -106
  890. package/dest/logs/extended_public_log.d.ts.map +0 -1
  891. package/dest/logs/extended_public_log.js +0 -73
  892. package/dest/logs/log_filter.d.ts +0 -22
  893. package/dest/logs/log_filter.d.ts.map +0 -1
  894. package/dest/logs/log_filter.js +0 -11
  895. package/dest/logs/log_id.d.ts +0 -85
  896. package/dest/logs/log_id.d.ts.map +0 -1
  897. package/dest/logs/log_id.js +0 -94
  898. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  899. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  900. package/dest/logs/tx_scoped_l2_log.js +0 -70
  901. package/dest/slashing/empire.d.ts +0 -31
  902. package/dest/slashing/empire.d.ts.map +0 -1
  903. package/dest/slashing/empire.js +0 -87
  904. package/dest/slashing/tally.d.ts.map +0 -1
  905. package/dest/update-checker/update-checker.d.ts +0 -49
  906. package/dest/update-checker/update-checker.d.ts.map +0 -1
  907. package/dest/update-checker/update-checker.js +0 -130
  908. package/src/abi/mocked_keys.ts +0 -2
  909. package/src/block/checkpointed_l2_block.ts +0 -70
  910. package/src/contract/private_function_membership_proof.ts +0 -167
  911. package/src/contract/utility_function_membership_proof.ts +0 -118
  912. package/src/interfaces/get_logs_response.ts +0 -35
  913. package/src/l1-contracts/slash_factory.ts +0 -180
  914. package/src/logs/extended_contract_class_log.ts +0 -87
  915. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  916. package/src/logs/extended_public_log.ts +0 -94
  917. package/src/logs/log_filter.ts +0 -31
  918. package/src/logs/log_id.ts +0 -125
  919. package/src/logs/tx_scoped_l2_log.ts +0 -98
  920. package/src/slashing/empire.ts +0 -104
  921. package/src/update-checker/update-checker.ts +0 -166
@@ -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,14 @@ 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);
182
+ }
183
+
184
+ /** Recomputes the cached hash. Used for testing when header fields are mutated via unfreeze. */
185
+ recomputeHash(): Promise<BlockHash> {
186
+ this._cachedHash = undefined;
187
+ return this.hash();
177
188
  }
178
189
 
179
190
  static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
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 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() {
@@ -11,7 +11,7 @@ import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inp
11
11
  import type { IsEmpty } from '../kernel/utils/interfaces.js';
12
12
  import { sortByCounter } from '../kernel/utils/order_and_comparison.js';
13
13
  import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
14
- import { type PreTag, PreTagSchema } from '../logs/pre_tag.js';
14
+ import { type TaggingIndexRange, TaggingIndexRangeSchema } from '../logs/tagging_index_range.js';
15
15
  import { Note } from '../note/note.js';
16
16
  import { type ZodFor, mapSchema, schemas } from '../schemas/index.js';
17
17
  import { HashedValues } from './hashed_values.js';
@@ -137,8 +137,8 @@ export class PrivateCallExecutionResult {
137
137
  public returnValues: Fr[],
138
138
  /** The offchain effects emitted during execution of this function call via the `emit_offchain_effect` oracle. */
139
139
  public offchainEffects: { data: Fr[] }[],
140
- /** The pre-tags used in this tx to compute tags for private logs */
141
- public preTags: PreTag[],
140
+ /** The tagging index ranges used in this tx to compute tags for private logs */
141
+ public taggingIndexRanges: TaggingIndexRange[],
142
142
  /** The nested executions. */
143
143
  public nestedExecutionResults: PrivateCallExecutionResult[],
144
144
  /**
@@ -161,7 +161,7 @@ export class PrivateCallExecutionResult {
161
161
  noteHashNullifierCounterMap: mapSchema(z.coerce.number(), z.number()),
162
162
  returnValues: z.array(schemas.Fr),
163
163
  offchainEffects: z.array(z.object({ data: z.array(schemas.Fr) })),
164
- preTags: z.array(PreTagSchema),
164
+ taggingIndexRanges: z.array(TaggingIndexRangeSchema),
165
165
  nestedExecutionResults: z.array(z.lazy(() => PrivateCallExecutionResult.schema)),
166
166
  contractClassLogs: z.array(CountedContractClassLog.schema),
167
167
  })
@@ -178,7 +178,7 @@ export class PrivateCallExecutionResult {
178
178
  fields.noteHashNullifierCounterMap,
179
179
  fields.returnValues,
180
180
  fields.offchainEffects,
181
- fields.preTags,
181
+ fields.taggingIndexRanges,
182
182
  fields.nestedExecutionResults,
183
183
  fields.contractClassLogs,
184
184
  );
@@ -3,6 +3,7 @@ import { type ZodFor, optional, schemas } from '@aztec/foundation/schemas';
3
3
 
4
4
  import { z } from 'zod';
5
5
 
6
+ import { AztecAddress } from '../aztec-address/index.js';
6
7
  import type { AztecNode } from '../interfaces/aztec-node.js';
7
8
  import { type PrivateExecutionStep, PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
8
9
 
@@ -132,12 +133,12 @@ export class TxProfileResult {
132
133
  ],
133
134
  {
134
135
  nodeRPCCalls: {
135
- perMethod: { getBlockHeader: { times: [1] } },
136
+ perMethod: { getBlock: { times: [1] } },
136
137
  roundTrips: {
137
138
  roundTrips: 1,
138
139
  totalBlockingTime: 1,
139
140
  roundTripDurations: [1],
140
- roundTripMethods: [['getBlockHeader']],
141
+ roundTripMethods: [['getBlock']],
141
142
  },
142
143
  },
143
144
  timings: {
@@ -160,6 +161,9 @@ export class TxProfileResult {
160
161
  export class UtilityExecutionResult {
161
162
  constructor(
162
163
  public result: Fr[],
164
+ public offchainEffects: { data: Fr[]; contractAddress: AztecAddress }[],
165
+ /** Timestamp of the anchor block used during utility execution. */
166
+ public anchorBlockTimestamp: bigint,
163
167
  public stats?: SimulationStats,
164
168
  ) {}
165
169
 
@@ -167,20 +171,25 @@ export class UtilityExecutionResult {
167
171
  return z
168
172
  .object({
169
173
  result: z.array(schemas.Fr),
174
+ offchainEffects: z.array(z.object({ data: z.array(schemas.Fr), contractAddress: AztecAddress.schema })),
175
+ anchorBlockTimestamp: schemas.BigInt,
170
176
  stats: optional(SimulationStatsSchema),
171
177
  })
172
- .transform(({ result, stats }) => new UtilityExecutionResult(result, stats));
178
+ .transform(
179
+ ({ result, offchainEffects, anchorBlockTimestamp, stats }) =>
180
+ new UtilityExecutionResult(result, offchainEffects, anchorBlockTimestamp, stats),
181
+ );
173
182
  }
174
183
 
175
184
  static random(): UtilityExecutionResult {
176
- return new UtilityExecutionResult([Fr.random()], {
185
+ return new UtilityExecutionResult([Fr.random()], [], 0n, {
177
186
  nodeRPCCalls: {
178
- perMethod: { getBlockHeader: { times: [1] } },
187
+ perMethod: { getBlock: { times: [1] } },
179
188
  roundTrips: {
180
189
  roundTrips: 1,
181
190
  totalBlockingTime: 1,
182
191
  roundTripDurations: [1],
183
- roundTripMethods: [['getBlockHeader']],
192
+ roundTripMethods: [['getBlock']],
184
193
  },
185
194
  },
186
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,18 +3,20 @@ 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
+ import type { OffchainEffect } from './offchain_effect.js';
15
16
  import {
16
17
  PrivateCallExecutionResult,
17
18
  PrivateExecutionResult,
19
+ collectOffchainEffects,
18
20
  collectSortedContractClassLogs,
19
21
  } from './private_execution_result.js';
20
22
  import { type SimulationStats, SimulationStatsSchema } from './profiling.js';
@@ -22,35 +24,36 @@ import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simu
22
24
  import { Tx } from './tx.js';
23
25
 
24
26
  /*
25
- * If passed during the execution of a user circuit, the contract function simulator will replace the instance and class
26
- * of the contract with the one provided in the overrides for that address. An example use case
27
- * 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(...)`.
28
32
  */
29
- export type ContractOverrides = Record<
30
- string /* AztecAddress as string */,
31
- { instance: ContractInstanceWithAddress; artifact: ContractArtifact }
32
- >;
33
+ export type ContractOverrides = Record<string /* AztecAddress as string */, { instance: ContractInstanceWithAddress }>;
33
34
 
34
35
  /*
35
- * Optional values that can be overridden during simulation. In order to simulate a transaction with these
36
- * 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.
37
40
  */
38
41
  export class SimulationOverrides {
39
- 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
+ }
40
49
 
41
50
  static get schema() {
42
51
  return z
43
52
  .object({
44
- contracts: optional(
45
- z.record(
46
- z.string(),
47
- z.object({ instance: ContractInstanceWithAddressSchema, artifact: ContractArtifactSchema }),
48
- ),
49
- ),
53
+ publicStorage: optional(z.array(PublicStorageOverrideSchema)),
54
+ contracts: optional(z.record(z.string(), z.object({ instance: ContractInstanceWithAddressSchema }))),
50
55
  })
51
- .transform(({ contracts }) => {
52
- return new SimulationOverrides(contracts);
53
- });
56
+ .transform(args => new SimulationOverrides(args));
54
57
  }
55
58
  }
56
59
 
@@ -84,6 +87,11 @@ export class TxSimulationResult {
84
87
  public stats?: SimulationStats,
85
88
  ) {}
86
89
 
90
+ /** Returns offchain effects collected from private execution. */
91
+ get offchainEffects(): OffchainEffect[] {
92
+ return collectOffchainEffects(this.privateExecutionResult);
93
+ }
94
+
87
95
  get gasUsed(): GasUsed {
88
96
  return (
89
97
  this.publicOutput?.gasUsed ?? {
@@ -106,7 +114,7 @@ export class TxSimulationResult {
106
114
  .transform(TxSimulationResult.from);
107
115
  }
108
116
 
109
- static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed'>) {
117
+ static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed' | 'offchainEffects'>) {
110
118
  return new TxSimulationResult(
111
119
  fields.privateExecutionResult,
112
120
  fields.publicInputs,
@@ -150,7 +158,7 @@ export class TxSimulationResult {
150
158
  }
151
159
 
152
160
  /**
153
- * 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,
154
162
  * so they can be retrieved in order.
155
163
  * @param executionResult
156
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) {