@aztec/stdlib 0.0.1-commit.85d7d01 → 0.0.1-commit.8655d4a

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 +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 +204 -351
  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/index.d.ts +2 -1
  137. package/dest/config/index.d.ts.map +1 -1
  138. package/dest/config/index.js +1 -0
  139. package/dest/config/pipelining-config.d.ts +15 -0
  140. package/dest/config/pipelining-config.d.ts.map +1 -0
  141. package/dest/config/pipelining-config.js +18 -0
  142. package/dest/config/sequencer-config.d.ts +7 -3
  143. package/dest/config/sequencer-config.d.ts.map +1 -1
  144. package/dest/config/sequencer-config.js +23 -3
  145. package/dest/contract/complete_address.d.ts +3 -2
  146. package/dest/contract/complete_address.d.ts.map +1 -1
  147. package/dest/contract/complete_address.js +6 -2
  148. package/dest/contract/contract_address.d.ts +6 -6
  149. package/dest/contract/contract_address.d.ts.map +1 -1
  150. package/dest/contract/contract_address.js +6 -5
  151. package/dest/contract/contract_class_id.d.ts +2 -2
  152. package/dest/contract/contract_class_id.js +2 -2
  153. package/dest/contract/contract_deployment_data.d.ts +15 -61
  154. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  155. package/dest/contract/contract_instance.d.ts +4 -2
  156. package/dest/contract/contract_instance.d.ts.map +1 -1
  157. package/dest/contract/contract_instance.js +10 -3
  158. package/dest/contract/index.d.ts +1 -3
  159. package/dest/contract/index.d.ts.map +1 -1
  160. package/dest/contract/index.js +0 -2
  161. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  162. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_class.js +1 -28
  164. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  165. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  166. package/dest/contract/interfaces/contract_instance.js +4 -2
  167. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  168. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  169. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  170. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  171. package/dest/contract/private_function.d.ts +1 -1
  172. package/dest/contract/private_function.d.ts.map +1 -1
  173. package/dest/contract/private_function.js +2 -4
  174. package/dest/database-version/database_version.d.ts +5 -11
  175. package/dest/database-version/database_version.d.ts.map +1 -1
  176. package/dest/database-version/version_manager.d.ts +6 -2
  177. package/dest/database-version/version_manager.d.ts.map +1 -1
  178. package/dest/database-version/version_manager.js +12 -1
  179. package/dest/epoch-helpers/index.d.ts +12 -20
  180. package/dest/epoch-helpers/index.d.ts.map +1 -1
  181. package/dest/epoch-helpers/index.js +16 -2
  182. package/dest/file-store/factory.d.ts +4 -3
  183. package/dest/file-store/factory.d.ts.map +1 -1
  184. package/dest/file-store/factory.js +2 -2
  185. package/dest/file-store/http.d.ts +9 -2
  186. package/dest/file-store/http.d.ts.map +1 -1
  187. package/dest/file-store/http.js +20 -9
  188. package/dest/file-store/index.d.ts +2 -1
  189. package/dest/file-store/index.d.ts.map +1 -1
  190. package/dest/gas/fee_math.d.ts +49 -0
  191. package/dest/gas/fee_math.d.ts.map +1 -0
  192. package/dest/gas/fee_math.js +80 -0
  193. package/dest/gas/gas.d.ts +9 -14
  194. package/dest/gas/gas.d.ts.map +1 -1
  195. package/dest/gas/gas.js +6 -3
  196. package/dest/gas/gas_fees.d.ts +13 -14
  197. package/dest/gas/gas_fees.d.ts.map +1 -1
  198. package/dest/gas/gas_fees.js +20 -4
  199. package/dest/gas/gas_settings.d.ts +66 -86
  200. package/dest/gas/gas_settings.d.ts.map +1 -1
  201. package/dest/gas/gas_settings.js +56 -9
  202. package/dest/gas/index.d.ts +2 -1
  203. package/dest/gas/index.d.ts.map +1 -1
  204. package/dest/gas/index.js +1 -0
  205. package/dest/ha-signing/config.d.ts +28 -57
  206. package/dest/ha-signing/config.d.ts.map +1 -1
  207. package/dest/ha-signing/config.js +24 -28
  208. package/dest/ha-signing/index.d.ts +4 -3
  209. package/dest/ha-signing/index.d.ts.map +1 -1
  210. package/dest/ha-signing/index.js +3 -2
  211. package/dest/ha-signing/local_config.d.ts +32 -0
  212. package/dest/ha-signing/local_config.d.ts.map +1 -0
  213. package/dest/ha-signing/local_config.js +24 -0
  214. package/dest/ha-signing/types.d.ts +37 -32
  215. package/dest/ha-signing/types.d.ts.map +1 -1
  216. package/dest/ha-signing/types.js +13 -6
  217. package/dest/hash/hash.d.ts +34 -1
  218. package/dest/hash/hash.d.ts.map +1 -1
  219. package/dest/hash/hash.js +63 -2
  220. package/dest/interfaces/allowed_element.d.ts +17 -35
  221. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  222. package/dest/interfaces/allowed_element.js +8 -8
  223. package/dest/interfaces/api_limit.d.ts +1 -1
  224. package/dest/interfaces/api_limit.js +1 -1
  225. package/dest/interfaces/archiver.d.ts +22 -32
  226. package/dest/interfaces/archiver.d.ts.map +1 -1
  227. package/dest/interfaces/archiver.js +208 -68
  228. package/dest/interfaces/aztec-node-admin.d.ts +81 -273
  229. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  230. package/dest/interfaces/aztec-node-admin.js +59 -16
  231. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  232. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  233. package/dest/interfaces/aztec-node-debug.js +21 -0
  234. package/dest/interfaces/aztec-node.d.ts +84 -101
  235. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  236. package/dest/interfaces/aztec-node.js +298 -68
  237. package/dest/interfaces/block-builder.d.ts +40 -11
  238. package/dest/interfaces/block-builder.d.ts.map +1 -1
  239. package/dest/interfaces/block-builder.js +13 -6
  240. package/dest/interfaces/block_response.d.ts +90 -0
  241. package/dest/interfaces/block_response.d.ts.map +1 -0
  242. package/dest/interfaces/block_response.js +30 -0
  243. package/dest/interfaces/chain_tips.d.ts +50 -0
  244. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  245. package/dest/interfaces/chain_tips.js +11 -0
  246. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  247. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  248. package/dest/interfaces/checkpoint_parameter.js +18 -0
  249. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  250. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  251. package/dest/interfaces/checkpoint_response.js +26 -0
  252. package/dest/interfaces/client.d.ts +8 -2
  253. package/dest/interfaces/client.d.ts.map +1 -1
  254. package/dest/interfaces/client.js +7 -1
  255. package/dest/interfaces/configs.d.ts +64 -123
  256. package/dest/interfaces/configs.d.ts.map +1 -1
  257. package/dest/interfaces/configs.js +15 -3
  258. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  259. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  260. package/dest/interfaces/l1_publish_info.js +26 -0
  261. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  262. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  263. package/dest/interfaces/l2_logs_source.js +5 -0
  264. package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
  265. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  266. package/dest/interfaces/p2p-bootstrap.js +8 -2
  267. package/dest/interfaces/p2p.d.ts +15 -5
  268. package/dest/interfaces/p2p.d.ts.map +1 -1
  269. package/dest/interfaces/p2p.js +28 -5
  270. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  271. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  272. package/dest/interfaces/prover-agent.d.ts +5 -23
  273. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  274. package/dest/interfaces/prover-agent.js +4 -1
  275. package/dest/interfaces/prover-client.d.ts +9 -25
  276. package/dest/interfaces/prover-client.d.ts.map +1 -1
  277. package/dest/interfaces/prover-client.js +7 -4
  278. package/dest/interfaces/prover-node.js +22 -8
  279. package/dest/interfaces/proving-job-source.js +24 -4
  280. package/dest/interfaces/proving-job.d.ts +742 -5793
  281. package/dest/interfaces/proving-job.d.ts.map +1 -1
  282. package/dest/interfaces/proving-job.js +1 -1
  283. package/dest/interfaces/public_storage_override.d.ts +22 -0
  284. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  285. package/dest/interfaces/public_storage_override.js +7 -0
  286. package/dest/interfaces/server.d.ts +6 -1
  287. package/dest/interfaces/server.d.ts.map +1 -1
  288. package/dest/interfaces/server.js +5 -0
  289. package/dest/interfaces/slasher.d.ts +25 -65
  290. package/dest/interfaces/slasher.d.ts.map +1 -1
  291. package/dest/interfaces/slasher.js +8 -4
  292. package/dest/interfaces/tx_provider.d.ts +6 -1
  293. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  294. package/dest/interfaces/validator.d.ts +70 -208
  295. package/dest/interfaces/validator.d.ts.map +1 -1
  296. package/dest/interfaces/validator.js +13 -5
  297. package/dest/interfaces/world_state.d.ts +6 -5
  298. package/dest/interfaces/world_state.d.ts.map +1 -1
  299. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  300. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  301. package/dest/kernel/hints/key_validation_request.js +20 -18
  302. package/dest/kernel/index.d.ts +5 -1
  303. package/dest/kernel/index.d.ts.map +1 -1
  304. package/dest/kernel/index.js +4 -0
  305. package/dest/kernel/log_hash.d.ts +6 -2
  306. package/dest/kernel/log_hash.d.ts.map +1 -1
  307. package/dest/kernel/log_hash.js +21 -9
  308. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  309. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  310. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  311. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  312. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  313. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  314. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  315. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  316. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  317. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  318. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  319. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  320. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  321. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  322. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  323. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  324. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  325. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  326. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
  327. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  328. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  329. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  330. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  331. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  332. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  333. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  334. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  335. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  336. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  338. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  339. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  340. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  341. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  342. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  344. package/dest/kernel/public_call_request.d.ts +15 -30
  345. package/dest/kernel/public_call_request.d.ts.map +1 -1
  346. package/dest/kernel/public_call_request.js +16 -7
  347. package/dest/keys/derivation.d.ts +6 -2
  348. package/dest/keys/derivation.d.ts.map +1 -1
  349. package/dest/keys/derivation.js +16 -6
  350. package/dest/keys/public_key.d.ts +22 -3
  351. package/dest/keys/public_key.d.ts.map +1 -1
  352. package/dest/keys/public_key.js +20 -1
  353. package/dest/keys/public_keys.d.ts +55 -82
  354. package/dest/keys/public_keys.d.ts.map +1 -1
  355. package/dest/keys/public_keys.js +102 -74
  356. package/dest/kv-store/config.d.ts +14 -0
  357. package/dest/kv-store/config.d.ts.map +1 -0
  358. package/dest/kv-store/config.js +21 -0
  359. package/dest/kv-store/index.d.ts +2 -0
  360. package/dest/kv-store/index.d.ts.map +1 -0
  361. package/dest/kv-store/index.js +1 -0
  362. package/dest/l1-contracts/index.d.ts +2 -2
  363. package/dest/l1-contracts/index.d.ts.map +1 -1
  364. package/dest/l1-contracts/index.js +1 -1
  365. package/dest/logs/app_tagging_secret.d.ts +46 -0
  366. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  367. package/dest/logs/app_tagging_secret.js +109 -0
  368. package/dest/logs/app_tagging_secret_kind.d.ts +6 -0
  369. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  370. package/dest/logs/app_tagging_secret_kind.js +4 -0
  371. package/dest/logs/contract_class_log.d.ts +16 -34
  372. package/dest/logs/contract_class_log.d.ts.map +1 -1
  373. package/dest/logs/contract_class_log.js +11 -9
  374. package/dest/logs/index.d.ts +8 -7
  375. package/dest/logs/index.d.ts.map +1 -1
  376. package/dest/logs/index.js +7 -6
  377. package/dest/logs/log_cursor.d.ts +51 -0
  378. package/dest/logs/log_cursor.d.ts.map +1 -0
  379. package/dest/logs/log_cursor.js +82 -0
  380. package/dest/logs/log_result.d.ts +54 -0
  381. package/dest/logs/log_result.d.ts.map +1 -0
  382. package/dest/logs/log_result.js +56 -0
  383. package/dest/logs/logs_query.d.ts +82 -0
  384. package/dest/logs/logs_query.d.ts.map +1 -0
  385. package/dest/logs/logs_query.js +50 -0
  386. package/dest/logs/message_context.d.ts +4 -7
  387. package/dest/logs/message_context.d.ts.map +1 -1
  388. package/dest/logs/message_context.js +23 -9
  389. package/dest/logs/pending_tagged_log.d.ts +2 -3
  390. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  391. package/dest/logs/pending_tagged_log.js +2 -2
  392. package/dest/logs/pre_tag.d.ts +11 -24
  393. package/dest/logs/pre_tag.d.ts.map +1 -1
  394. package/dest/logs/pre_tag.js +2 -2
  395. package/dest/logs/private_log.d.ts +7 -12
  396. package/dest/logs/private_log.d.ts.map +1 -1
  397. package/dest/logs/private_log.js +6 -3
  398. package/dest/logs/public_log.d.ts +4 -3
  399. package/dest/logs/public_log.d.ts.map +1 -1
  400. package/dest/logs/public_log.js +2 -1
  401. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  402. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  403. package/dest/logs/query_all_logs_by_tags.js +64 -0
  404. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  405. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  406. package/dest/logs/shared_secret_derivation.js +15 -9
  407. package/dest/logs/siloed_tag.d.ts +8 -7
  408. package/dest/logs/siloed_tag.d.ts.map +1 -1
  409. package/dest/logs/siloed_tag.js +13 -3
  410. package/dest/logs/tag.d.ts +5 -6
  411. package/dest/logs/tag.d.ts.map +1 -1
  412. package/dest/logs/tag.js +4 -0
  413. package/dest/logs/tagging_index_range.d.ts +22 -0
  414. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  415. package/dest/logs/tagging_index_range.js +8 -0
  416. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  417. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  418. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  419. package/dest/messaging/index.d.ts +2 -1
  420. package/dest/messaging/index.d.ts.map +1 -1
  421. package/dest/messaging/index.js +1 -0
  422. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  423. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  424. package/dest/messaging/l1_to_l2_message.js +11 -13
  425. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  426. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  427. package/dest/messaging/l2_to_l1_membership.d.ts +62 -6
  428. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  429. package/dest/messaging/l2_to_l1_membership.js +115 -27
  430. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  431. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  432. package/dest/messaging/l2_to_l1_message.js +21 -12
  433. package/dest/noir/index.d.ts +5 -3
  434. package/dest/noir/index.d.ts.map +1 -1
  435. package/dest/note/note.d.ts +2 -2
  436. package/dest/note/note.d.ts.map +1 -1
  437. package/dest/note/note_dao.d.ts +1 -1
  438. package/dest/note/note_dao.d.ts.map +1 -1
  439. package/dest/note/note_dao.js +1 -4
  440. package/dest/p2p/block_proposal.d.ts +31 -14
  441. package/dest/p2p/block_proposal.d.ts.map +1 -1
  442. package/dest/p2p/block_proposal.js +57 -39
  443. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  444. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  445. package/dest/p2p/checkpoint_attestation.js +23 -24
  446. package/dest/p2p/checkpoint_proposal.d.ts +35 -21
  447. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  448. package/dest/p2p/checkpoint_proposal.js +59 -61
  449. package/dest/p2p/consensus_payload.d.ts +26 -20
  450. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  451. package/dest/p2p/consensus_payload.js +38 -19
  452. package/dest/p2p/gossipable.d.ts +4 -4
  453. package/dest/p2p/gossipable.d.ts.map +1 -1
  454. package/dest/p2p/peer_error.d.ts +3 -1
  455. package/dest/p2p/peer_error.d.ts.map +1 -1
  456. package/dest/p2p/peer_error.js +5 -0
  457. package/dest/p2p/signature_utils.d.ts +28 -19
  458. package/dest/p2p/signature_utils.d.ts.map +1 -1
  459. package/dest/p2p/signature_utils.js +118 -21
  460. package/dest/p2p/signed_txs.d.ts +15 -13
  461. package/dest/p2p/signed_txs.d.ts.map +1 -1
  462. package/dest/p2p/signed_txs.js +26 -24
  463. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  464. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  465. package/dest/parity/parity_base_private_inputs.js +7 -5
  466. package/dest/parity/parity_public_inputs.d.ts +8 -4
  467. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  468. package/dest/parity/parity_public_inputs.js +6 -3
  469. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  470. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  471. package/dest/proofs/chonk_proof.d.ts +57 -7
  472. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  473. package/dest/proofs/chonk_proof.js +112 -15
  474. package/dest/proofs/recursive_proof.d.ts +2 -2
  475. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  476. package/dest/rollup/block_headers_hash.d.ts +1 -1
  477. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  478. package/dest/rollup/block_headers_hash.js +8 -2
  479. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  480. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  481. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  482. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  483. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  484. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  485. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  486. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  487. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  488. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  489. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  490. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  491. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  492. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  493. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  494. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  495. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  496. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  497. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  498. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  499. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  502. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  503. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  504. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  505. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  506. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  507. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  508. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  509. package/dest/schemas/schemas.d.ts +32 -78
  510. package/dest/schemas/schemas.d.ts.map +1 -1
  511. package/dest/schemas/schemas.js +2 -2
  512. package/dest/slashing/helpers.d.ts +2 -2
  513. package/dest/slashing/helpers.d.ts.map +1 -1
  514. package/dest/slashing/helpers.js +10 -7
  515. package/dest/slashing/index.d.ts +2 -3
  516. package/dest/slashing/index.d.ts.map +1 -1
  517. package/dest/slashing/index.js +1 -2
  518. package/dest/slashing/serialization.d.ts +2 -6
  519. package/dest/slashing/serialization.d.ts.map +1 -1
  520. package/dest/slashing/serialization.js +0 -60
  521. package/dest/slashing/types.d.ts +18 -112
  522. package/dest/slashing/types.d.ts.map +1 -1
  523. package/dest/slashing/types.js +16 -24
  524. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  525. package/dest/slashing/votes.d.ts.map +1 -0
  526. package/dest/slashing/{tally.js → votes.js} +30 -2
  527. package/dest/snapshots/types.d.ts +15 -78
  528. package/dest/snapshots/types.d.ts.map +1 -1
  529. package/dest/stats/stats.d.ts +2 -2
  530. package/dest/stats/stats.d.ts.map +1 -1
  531. package/dest/tests/factories.d.ts +25 -32
  532. package/dest/tests/factories.d.ts.map +1 -1
  533. package/dest/tests/factories.js +82 -82
  534. package/dest/tests/mocks.d.ts +11 -6
  535. package/dest/tests/mocks.d.ts.map +1 -1
  536. package/dest/tests/mocks.js +55 -62
  537. package/dest/timetable/index.d.ts +51 -1
  538. package/dest/timetable/index.d.ts.map +1 -1
  539. package/dest/timetable/index.js +218 -14
  540. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  541. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  542. package/dest/trees/append_only_tree_snapshot.js +6 -3
  543. package/dest/trees/nullifier_leaf.d.ts +19 -42
  544. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  545. package/dest/trees/nullifier_leaf.js +3 -0
  546. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  547. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  548. package/dest/trees/nullifier_membership_witness.js +2 -14
  549. package/dest/trees/public_data_leaf.d.ts +21 -53
  550. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  551. package/dest/trees/public_data_witness.d.ts +16 -58
  552. package/dest/trees/public_data_witness.d.ts.map +1 -1
  553. package/dest/tx/block_header.d.ts +7 -4
  554. package/dest/tx/block_header.d.ts.map +1 -1
  555. package/dest/tx/block_header.js +11 -4
  556. package/dest/tx/call_context.d.ts +4 -14
  557. package/dest/tx/call_context.d.ts.map +1 -1
  558. package/dest/tx/capsule.d.ts +7 -3
  559. package/dest/tx/capsule.d.ts.map +1 -1
  560. package/dest/tx/capsule.js +9 -3
  561. package/dest/tx/fee_provider.d.ts +10 -0
  562. package/dest/tx/fee_provider.d.ts.map +1 -0
  563. package/dest/tx/fee_provider.js +1 -0
  564. package/dest/tx/function_data.d.ts +4 -10
  565. package/dest/tx/function_data.d.ts.map +1 -1
  566. package/dest/tx/global_variable_builder.d.ts +3 -4
  567. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  568. package/dest/tx/global_variables.d.ts +16 -49
  569. package/dest/tx/global_variables.d.ts.map +1 -1
  570. package/dest/tx/global_variables.js +8 -12
  571. package/dest/tx/hashed_values.d.ts +4 -3
  572. package/dest/tx/hashed_values.d.ts.map +1 -1
  573. package/dest/tx/hashed_values.js +6 -3
  574. package/dest/tx/in_tx.d.ts +5 -17
  575. package/dest/tx/in_tx.d.ts.map +1 -1
  576. package/dest/tx/index.d.ts +2 -1
  577. package/dest/tx/index.d.ts.map +1 -1
  578. package/dest/tx/index.js +1 -0
  579. package/dest/tx/indexed_tx_effect.d.ts +4 -18
  580. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  581. package/dest/tx/indexed_tx_effect.js +1 -2
  582. package/dest/tx/partial_state_reference.d.ts +22 -65
  583. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  584. package/dest/tx/partial_state_reference.js +6 -3
  585. package/dest/tx/private_execution_result.d.ts +11 -21
  586. package/dest/tx/private_execution_result.d.ts.map +1 -1
  587. package/dest/tx/private_execution_result.js +6 -6
  588. package/dest/tx/profiling.d.ts +67 -353
  589. package/dest/tx/profiling.d.ts.map +1 -1
  590. package/dest/tx/profiling.js +17 -7
  591. package/dest/tx/protocol_contracts.d.ts +5 -9
  592. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  593. package/dest/tx/proven_tx.d.ts +30 -74
  594. package/dest/tx/proven_tx.d.ts.map +1 -1
  595. package/dest/tx/proven_tx.js +6 -0
  596. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  597. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  598. package/dest/tx/public_call_request_with_calldata.js +6 -3
  599. package/dest/tx/simulated_tx.d.ts +68 -1144
  600. package/dest/tx/simulated_tx.d.ts.map +1 -1
  601. package/dest/tx/simulated_tx.js +17 -12
  602. package/dest/tx/state_reference.d.ts +30 -117
  603. package/dest/tx/state_reference.d.ts.map +1 -1
  604. package/dest/tx/state_reference.js +6 -4
  605. package/dest/tx/tree_snapshots.d.ts +27 -84
  606. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  607. package/dest/tx/tree_snapshots.js +6 -4
  608. package/dest/tx/tx.d.ts +12 -17
  609. package/dest/tx/tx.d.ts.map +1 -1
  610. package/dest/tx/tx.js +40 -29
  611. package/dest/tx/tx_constant_data.d.ts +4 -3
  612. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  613. package/dest/tx/tx_constant_data.js +6 -3
  614. package/dest/tx/tx_context.d.ts +32 -131
  615. package/dest/tx/tx_context.d.ts.map +1 -1
  616. package/dest/tx/tx_context.js +6 -6
  617. package/dest/tx/tx_hash.d.ts +6 -4
  618. package/dest/tx/tx_hash.d.ts.map +1 -1
  619. package/dest/tx/tx_hash.js +13 -5
  620. package/dest/tx/tx_receipt.d.ts +8 -5
  621. package/dest/tx/tx_receipt.d.ts.map +1 -1
  622. package/dest/tx/tx_receipt.js +8 -18
  623. package/dest/tx/validator/error_texts.d.ts +9 -1
  624. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  625. package/dest/tx/validator/error_texts.js +10 -0
  626. package/dest/tx/validator/tx_validator.d.ts +5 -27
  627. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  628. package/dest/tx/validator/tx_validator.js +0 -4
  629. package/dest/types/shared.d.ts +4 -12
  630. package/dest/types/shared.d.ts.map +1 -1
  631. package/dest/types/shared.js +6 -12
  632. package/dest/update-checker/dev_version.d.ts +3 -0
  633. package/dest/update-checker/dev_version.d.ts.map +1 -0
  634. package/dest/update-checker/dev_version.js +1 -0
  635. package/dest/update-checker/index.d.ts +4 -2
  636. package/dest/update-checker/index.d.ts.map +1 -1
  637. package/dest/update-checker/index.js +3 -1
  638. package/dest/update-checker/package_version.d.ts +6 -0
  639. package/dest/update-checker/package_version.d.ts.map +1 -0
  640. package/dest/update-checker/package_version.js +13 -0
  641. package/dest/update-checker/version_checker.d.ts +25 -0
  642. package/dest/update-checker/version_checker.d.ts.map +1 -0
  643. package/dest/update-checker/version_checker.js +50 -0
  644. package/dest/validators/errors.d.ts +6 -1
  645. package/dest/validators/errors.d.ts.map +1 -1
  646. package/dest/validators/errors.js +7 -0
  647. package/dest/validators/schemas.d.ts +147 -614
  648. package/dest/validators/schemas.d.ts.map +1 -1
  649. package/dest/validators/schemas.js +6 -4
  650. package/dest/validators/types.d.ts +20 -3
  651. package/dest/validators/types.d.ts.map +1 -1
  652. package/dest/versioning/versioning.d.ts +4 -2
  653. package/dest/versioning/versioning.d.ts.map +1 -1
  654. package/dest/versioning/versioning.js +5 -2
  655. package/dest/vks/verification_key.d.ts +4 -139
  656. package/dest/vks/verification_key.d.ts.map +1 -1
  657. package/dest/vks/verification_key.js +5 -126
  658. package/dest/world-state/genesis_data.d.ts +13 -0
  659. package/dest/world-state/genesis_data.d.ts.map +1 -0
  660. package/dest/world-state/genesis_data.js +7 -0
  661. package/dest/world-state/index.d.ts +2 -1
  662. package/dest/world-state/index.d.ts.map +1 -1
  663. package/dest/world-state/index.js +1 -0
  664. package/dest/world-state/world_state_revision.d.ts +15 -26
  665. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  666. package/dest/world-state/world_state_revision.js +7 -1
  667. package/package.json +14 -12
  668. package/src/abi/abi.ts +78 -21
  669. package/src/abi/authorization_selector.ts +2 -8
  670. package/src/abi/buffer.ts +25 -4
  671. package/src/abi/contract_artifact.ts +11 -6
  672. package/src/abi/decoder.ts +36 -79
  673. package/src/abi/encoder.ts +83 -7
  674. package/src/abi/event_metadata_definition.ts +2 -0
  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 +31 -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.ts +13 -1
  692. package/src/block/l2_block_info.ts +8 -6
  693. package/src/block/l2_block_source.ts +198 -139
  694. package/src/block/l2_block_stream/interfaces.ts +6 -2
  695. package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
  696. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  697. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  698. package/src/block/proposal/attestations_and_signers.ts +32 -17
  699. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  700. package/src/checkpoint/checkpoint.ts +23 -4
  701. package/src/checkpoint/checkpoint_data.ts +44 -4
  702. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  703. package/src/checkpoint/digest.ts +28 -0
  704. package/src/checkpoint/index.ts +4 -0
  705. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  706. package/src/checkpoint/validate.ts +230 -0
  707. package/src/config/chain-config.ts +13 -16
  708. package/src/config/index.ts +1 -0
  709. package/src/config/pipelining-config.ts +31 -0
  710. package/src/config/sequencer-config.ts +41 -5
  711. package/src/contract/complete_address.ts +7 -3
  712. package/src/contract/contract_address.ts +7 -7
  713. package/src/contract/contract_class_id.ts +2 -2
  714. package/src/contract/contract_instance.ts +11 -2
  715. package/src/contract/index.ts +0 -2
  716. package/src/contract/interfaces/contract_class.ts +2 -82
  717. package/src/contract/interfaces/contract_instance.ts +6 -2
  718. package/src/contract/private_function.ts +3 -1
  719. package/src/database-version/version_manager.ts +17 -0
  720. package/src/epoch-helpers/index.ts +27 -0
  721. package/src/file-store/factory.ts +13 -4
  722. package/src/file-store/http.ts +29 -10
  723. package/src/file-store/index.ts +1 -0
  724. package/src/gas/README.md +154 -0
  725. package/src/gas/fee_math.ts +120 -0
  726. package/src/gas/gas.ts +8 -3
  727. package/src/gas/gas_fees.ts +29 -10
  728. package/src/gas/gas_settings.ts +73 -15
  729. package/src/gas/index.ts +1 -0
  730. package/src/ha-signing/config.ts +56 -53
  731. package/src/ha-signing/index.ts +12 -1
  732. package/src/ha-signing/local_config.ts +46 -0
  733. package/src/ha-signing/types.ts +48 -34
  734. package/src/hash/hash.ts +63 -2
  735. package/src/interfaces/allowed_element.ts +29 -9
  736. package/src/interfaces/api_limit.ts +1 -1
  737. package/src/interfaces/archiver.ts +82 -91
  738. package/src/interfaces/aztec-node-admin.ts +35 -20
  739. package/src/interfaces/aztec-node-debug.ts +40 -0
  740. package/src/interfaces/aztec-node.ts +260 -240
  741. package/src/interfaces/block-builder.ts +62 -14
  742. package/src/interfaces/block_response.ts +92 -0
  743. package/src/interfaces/chain_tips.ts +24 -0
  744. package/src/interfaces/checkpoint_parameter.ts +20 -0
  745. package/src/interfaces/checkpoint_response.ts +84 -0
  746. package/src/interfaces/client.ts +7 -1
  747. package/src/interfaces/configs.ts +64 -8
  748. package/src/interfaces/l1_publish_info.ts +40 -0
  749. package/src/interfaces/l2_logs_source.ts +13 -39
  750. package/src/interfaces/merkle_tree_operations.ts +11 -20
  751. package/src/interfaces/p2p-bootstrap.ts +2 -2
  752. package/src/interfaces/p2p.ts +35 -15
  753. package/src/interfaces/private_kernel_prover.ts +88 -0
  754. package/src/interfaces/prover-agent.ts +1 -1
  755. package/src/interfaces/prover-client.ts +10 -5
  756. package/src/interfaces/prover-node.ts +7 -7
  757. package/src/interfaces/proving-job-source.ts +4 -4
  758. package/src/interfaces/proving-job.ts +3 -3
  759. package/src/interfaces/public_storage_override.ts +26 -0
  760. package/src/interfaces/server.ts +5 -0
  761. package/src/interfaces/slasher.ts +17 -10
  762. package/src/interfaces/tx_provider.ts +6 -0
  763. package/src/interfaces/validator.ts +79 -38
  764. package/src/interfaces/world_state.ts +5 -4
  765. package/src/kernel/hints/key_validation_request.ts +18 -16
  766. package/src/kernel/index.ts +4 -0
  767. package/src/kernel/log_hash.ts +29 -9
  768. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  769. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  770. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  771. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  772. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  773. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  774. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  775. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  776. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  777. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  778. package/src/kernel/public_call_request.ts +22 -7
  779. package/src/keys/derivation.ts +21 -9
  780. package/src/keys/public_key.ts +26 -2
  781. package/src/keys/public_keys.ts +124 -110
  782. package/src/kv-store/config.ts +29 -0
  783. package/src/kv-store/index.ts +1 -0
  784. package/src/l1-contracts/index.ts +1 -1
  785. package/src/logs/app_tagging_secret.ts +137 -0
  786. package/src/logs/app_tagging_secret_kind.ts +6 -0
  787. package/src/logs/contract_class_log.ts +15 -5
  788. package/src/logs/index.ts +7 -6
  789. package/src/logs/log_cursor.ts +110 -0
  790. package/src/logs/log_result.ts +104 -0
  791. package/src/logs/logs_query.ts +138 -0
  792. package/src/logs/message_context.ts +17 -7
  793. package/src/logs/pending_tagged_log.ts +1 -3
  794. package/src/logs/pre_tag.ts +3 -6
  795. package/src/logs/private_log.ts +9 -3
  796. package/src/logs/public_log.ts +4 -2
  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 +18 -0
  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/l1_to_l2_message_source.ts +3 -1
  806. package/src/messaging/l2_to_l1_membership.ts +171 -34
  807. package/src/messaging/l2_to_l1_message.ts +29 -9
  808. package/src/noir/index.ts +4 -2
  809. package/src/note/note_dao.ts +1 -4
  810. package/src/p2p/block_proposal.ts +111 -36
  811. package/src/p2p/checkpoint_attestation.ts +27 -31
  812. package/src/p2p/checkpoint_proposal.ts +126 -85
  813. package/src/p2p/consensus_payload.ts +59 -28
  814. package/src/p2p/gossipable.ts +4 -4
  815. package/src/p2p/peer_error.ts +7 -0
  816. package/src/p2p/signature_utils.ts +110 -25
  817. package/src/p2p/signed_txs.ts +46 -28
  818. package/src/parity/parity_base_private_inputs.ts +10 -4
  819. package/src/parity/parity_public_inputs.ts +9 -2
  820. package/src/proofs/chonk_proof.ts +132 -12
  821. package/src/rollup/block_headers_hash.ts +11 -2
  822. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  823. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  824. package/src/schemas/schemas.ts +6 -1
  825. package/src/slashing/helpers.ts +13 -9
  826. package/src/slashing/index.ts +1 -2
  827. package/src/slashing/serialization.ts +1 -81
  828. package/src/slashing/types.ts +24 -49
  829. package/src/slashing/{tally.ts → votes.ts} +34 -1
  830. package/src/stats/stats.ts +4 -0
  831. package/src/tests/factories.ts +103 -111
  832. package/src/tests/mocks.ts +83 -76
  833. package/src/timetable/index.ts +308 -13
  834. package/src/trees/append_only_tree_snapshot.ts +8 -3
  835. package/src/trees/nullifier_leaf.ts +4 -0
  836. package/src/trees/nullifier_membership_witness.ts +2 -12
  837. package/src/tx/block_header.ts +16 -5
  838. package/src/tx/capsule.ts +10 -2
  839. package/src/tx/fee_provider.ts +10 -0
  840. package/src/tx/global_variable_builder.ts +2 -3
  841. package/src/tx/global_variables.ts +10 -18
  842. package/src/tx/hashed_values.ts +8 -3
  843. package/src/tx/index.ts +1 -0
  844. package/src/tx/indexed_tx_effect.ts +1 -2
  845. package/src/tx/partial_state_reference.ts +8 -3
  846. package/src/tx/private_execution_result.ts +5 -5
  847. package/src/tx/profiling.ts +15 -6
  848. package/src/tx/proven_tx.ts +6 -0
  849. package/src/tx/public_call_request_with_calldata.ts +8 -3
  850. package/src/tx/simulated_tx.ts +30 -22
  851. package/src/tx/state_reference.ts +9 -4
  852. package/src/tx/tree_snapshots.ts +9 -4
  853. package/src/tx/tx.ts +53 -35
  854. package/src/tx/tx_constant_data.ts +8 -3
  855. package/src/tx/tx_context.ts +8 -3
  856. package/src/tx/tx_hash.ts +20 -5
  857. package/src/tx/tx_receipt.ts +9 -16
  858. package/src/tx/validator/error_texts.ts +12 -0
  859. package/src/tx/validator/tx_validator.ts +1 -5
  860. package/src/types/shared.ts +8 -13
  861. package/src/update-checker/dev_version.ts +2 -0
  862. package/src/update-checker/index.ts +3 -1
  863. package/src/update-checker/package_version.ts +17 -0
  864. package/src/update-checker/version_checker.ts +65 -0
  865. package/src/validators/errors.ts +9 -0
  866. package/src/validators/schemas.ts +6 -4
  867. package/src/validators/types.ts +21 -2
  868. package/src/versioning/versioning.ts +5 -2
  869. package/src/vks/verification_key.ts +5 -184
  870. package/src/world-state/genesis_data.ts +27 -0
  871. package/src/world-state/index.ts +1 -0
  872. package/src/world-state/world_state_revision.ts +9 -1
  873. package/dest/abi/mocked_keys.d.ts +0 -2
  874. package/dest/abi/mocked_keys.d.ts.map +0 -1
  875. package/dest/abi/mocked_keys.js +0 -1
  876. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  877. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  878. package/dest/block/checkpointed_l2_block.js +0 -46
  879. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  880. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  881. package/dest/contract/private_function_membership_proof.js +0 -124
  882. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  883. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  884. package/dest/contract/utility_function_membership_proof.js +0 -87
  885. package/dest/interfaces/get_logs_response.d.ts +0 -97
  886. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  887. package/dest/interfaces/get_logs_response.js +0 -12
  888. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  889. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  890. package/dest/l1-contracts/slash_factory.js +0 -158
  891. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  892. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  893. package/dest/logs/extended_contract_class_log.js +0 -67
  894. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  895. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  896. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  897. package/dest/logs/extended_public_log.d.ts +0 -106
  898. package/dest/logs/extended_public_log.d.ts.map +0 -1
  899. package/dest/logs/extended_public_log.js +0 -73
  900. package/dest/logs/log_filter.d.ts +0 -22
  901. package/dest/logs/log_filter.d.ts.map +0 -1
  902. package/dest/logs/log_filter.js +0 -11
  903. package/dest/logs/log_id.d.ts +0 -85
  904. package/dest/logs/log_id.d.ts.map +0 -1
  905. package/dest/logs/log_id.js +0 -94
  906. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  907. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  908. package/dest/logs/tx_scoped_l2_log.js +0 -70
  909. package/dest/slashing/empire.d.ts +0 -31
  910. package/dest/slashing/empire.d.ts.map +0 -1
  911. package/dest/slashing/empire.js +0 -87
  912. package/dest/slashing/tally.d.ts.map +0 -1
  913. package/dest/update-checker/update-checker.d.ts +0 -49
  914. package/dest/update-checker/update-checker.d.ts.map +0 -1
  915. package/dest/update-checker/update-checker.js +0 -130
  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/get_logs_response.ts +0 -35
  921. package/src/l1-contracts/slash_factory.ts +0 -180
  922. package/src/logs/extended_contract_class_log.ts +0 -87
  923. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  924. package/src/logs/extended_public_log.ts +0 -94
  925. package/src/logs/log_filter.ts +0 -31
  926. package/src/logs/log_id.ts +0 -125
  927. package/src/logs/tx_scoped_l2_log.ts +0 -98
  928. package/src/slashing/empire.ts +0 -104
  929. package/src/update-checker/update-checker.ts +0 -166
@@ -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) {
package/src/tx/tx.ts CHANGED
@@ -1,14 +1,19 @@
1
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { DA_GAS_PER_FIELD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
+ import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import type { ZodFor } from '@aztec/foundation/schemas';
4
- import { BufferReader, serializeArrayOfBufferableToVector, serializeToBuffer } from '@aztec/foundation/serialize';
5
- import type { FieldsOf } from '@aztec/foundation/types';
5
+ import {
6
+ BufferReader,
7
+ BufferSink,
8
+ serializeArrayOfBufferableToVector,
9
+ serializeArrayToSink,
10
+ serializeToSink,
11
+ } from '@aztec/foundation/serialize';
12
+ import { type FieldsOf, unfreeze } from '@aztec/foundation/types';
6
13
 
7
14
  import { z } from 'zod';
8
15
 
9
16
  import type { GasSettings } from '../gas/gas_settings.js';
10
- import type { GetPublicLogsResponse } from '../interfaces/get_logs_response.js';
11
- import type { L2LogsSource } from '../interfaces/l2_logs_source.js';
12
17
  import type { PublicCallRequest } from '../kernel/index.js';
13
18
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
14
19
  import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
@@ -20,6 +25,14 @@ import { HashedValues } from './hashed_values.js';
20
25
  import { PublicCallRequestWithCalldata } from './public_call_request_with_calldata.js';
21
26
  import { TxHash } from './tx_hash.js';
22
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
+
23
36
  /**
24
37
  * The interface of an L2 transaction.
25
38
  */
@@ -63,7 +76,7 @@ export class Tx extends Gossipable {
63
76
  // docs:end:tx_class
64
77
 
65
78
  // Gossipable method
66
- override generateP2PMessageIdentifier(): Promise<Buffer32> {
79
+ override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
67
80
  return Promise.resolve(new Buffer32(this.getTxHash().toBuffer()));
68
81
  }
69
82
 
@@ -126,14 +139,15 @@ export class Tx extends Gossipable {
126
139
  * Serializes the Tx object into a Buffer.
127
140
  * @returns Buffer representation of the Tx object.
128
141
  */
129
- toBuffer() {
130
- return serializeToBuffer([
131
- this.txHash,
132
- this.data,
133
- this.chonkProof,
134
- serializeArrayOfBufferableToVector(this.contractClassLogFields, 1),
135
- serializeArrayOfBufferableToVector(this.publicFunctionCalldata, 1),
136
- ]);
142
+ toBuffer(): Buffer;
143
+ toBuffer(sink: BufferSink): void;
144
+ toBuffer(sink?: BufferSink): Buffer | void {
145
+ if (!sink) {
146
+ return BufferSink.serialize(this, TX_SINK_PRESIZE_BYTES);
147
+ }
148
+ serializeToSink(sink, this.txHash, this.data, this.chonkProof);
149
+ serializeArrayToSink(sink, this.contractClassLogFields, 1);
150
+ serializeArrayToSink(sink, this.publicFunctionCalldata, 1);
137
151
  }
138
152
 
139
153
  static get schema(): ZodFor<Tx> {
@@ -179,15 +193,6 @@ export class Tx extends Gossipable {
179
193
  return this.txHash.equals(expectedHash);
180
194
  }
181
195
 
182
- /**
183
- * Gets public logs emitted by this tx.
184
- * @param logsSource - An instance of `L2LogsSource` which can be used to obtain the logs.
185
- * @returns The requested logs.
186
- */
187
- public getPublicLogs(logsSource: L2LogsSource): Promise<GetPublicLogsResponse> {
188
- return logsSource.getPublicLogs({ txHash: this.getTxHash() });
189
- }
190
-
191
196
  getContractClassLogs(): ContractClassLog[] {
192
197
  const logHashes = this.data.getNonEmptyContractClassLogsHashes();
193
198
  return logHashes.map((logHash, i) =>
@@ -264,16 +269,24 @@ export class Tx extends Gossipable {
264
269
  }
265
270
 
266
271
  /**
267
- * Estimates the tx size based on its private effects. Note that the actual size of the tx
268
- * after processing will probably be larger, as public execution would generate more data.
272
+ * Returns the number of fields this tx's effects will occupy in the blob,
273
+ * based on its private side effects only. Accurate for txs without public calls.
274
+ * For txs with public calls, the actual size will be larger due to public execution outputs.
269
275
  */
270
- getEstimatedPrivateTxEffectsSize() {
271
- return (
272
- this.data.getNonEmptyNoteHashes().length * Fr.SIZE_IN_BYTES +
273
- this.data.getNonEmptyNullifiers().length * Fr.SIZE_IN_BYTES +
274
- this.data.getEmittedPrivateLogsLength() * Fr.SIZE_IN_BYTES +
275
- this.data.getEmittedContractClassLogsLength() * Fr.SIZE_IN_BYTES
276
- );
276
+ getPrivateTxEffectsSizeInFields(): number {
277
+ // 3 fields overhead: tx_start_marker, tx_hash, tx_fee.
278
+ // TX_DA_GAS_OVERHEAD is defined as N * DA_GAS_PER_FIELD, so this division is always exact.
279
+ const overheadFields = TX_DA_GAS_OVERHEAD / DA_GAS_PER_FIELD;
280
+ const noteHashes = this.data.getNonEmptyNoteHashes().length;
281
+ const nullifiers = this.data.getNonEmptyNullifiers().length;
282
+ const l2ToL1Msgs = this.data.getNonEmptyL2ToL1Msgs().length;
283
+ // Each private log occupies (emittedLength + 1) fields: content + length field
284
+ const privateLogFields = this.data.getNonEmptyPrivateLogs().reduce((acc, log) => acc + log.emittedLength + 1, 0);
285
+ // Each contract class log occupies (length + 1) fields: content + contract address
286
+ const contractClassLogFields = this.data
287
+ .getNonEmptyContractClassLogsHashes()
288
+ .reduce((acc, log) => acc + log.logHash.length + 1, 0);
289
+ return overheadFields + noteHashes + nullifiers + l2ToL1Msgs + privateLogFields + contractClassLogFields;
277
290
  }
278
291
 
279
292
  /**
@@ -309,7 +322,7 @@ export class Tx extends Gossipable {
309
322
 
310
323
  /** Recomputes the tx hash. Used for testing purposes only when a property of the tx was mutated. */
311
324
  public async recomputeHash(): Promise<TxHash> {
312
- (this as any).txHash = await Tx.computeTxHash(this);
325
+ unfreeze(this).txHash = await Tx.computeTxHash(this);
313
326
  return this.txHash;
314
327
  }
315
328
 
@@ -336,7 +349,12 @@ export class TxArray extends Array<Tx> {
336
349
  }
337
350
  }
338
351
 
339
- public toBuffer(): Buffer {
340
- return serializeArrayOfBufferableToVector(this);
352
+ public toBuffer(): Buffer;
353
+ public toBuffer(sink: BufferSink): void;
354
+ public toBuffer(sink?: BufferSink): Buffer | void {
355
+ if (!sink) {
356
+ return serializeArrayOfBufferableToVector(this);
357
+ }
358
+ serializeArrayToSink(sink, [...this]);
341
359
  }
342
360
  }
@@ -1,6 +1,6 @@
1
1
  import { TX_CONSTANT_DATA_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
4
4
  import type { FieldsOf } from '@aztec/foundation/types';
5
5
 
6
6
  import { BlockHeader } from './block_header.js';
@@ -57,8 +57,13 @@ export class TxConstantData {
57
57
  );
58
58
  }
59
59
 
60
- toBuffer() {
61
- return serializeToBuffer(...TxConstantData.getFields(this));
60
+ toBuffer(): Buffer;
61
+ toBuffer(sink: BufferSink): void;
62
+ toBuffer(sink?: BufferSink): Buffer | void {
63
+ if (!sink) {
64
+ return BufferSink.serialize(this);
65
+ }
66
+ serializeToSink(sink, ...TxConstantData.getFields(this));
62
67
  }
63
68
 
64
69
  static empty() {
@@ -1,7 +1,7 @@
1
1
  import { TX_CONTEXT_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { schemas } from '@aztec/foundation/schemas';
4
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
4
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
5
5
  import type { FieldsOf } from '@aztec/foundation/types';
6
6
 
7
7
  import { z } from 'zod';
@@ -49,8 +49,13 @@ export class TxContext {
49
49
  * Serialize as a buffer.
50
50
  * @returns The buffer.
51
51
  */
52
- toBuffer() {
53
- return serializeToBuffer(...TxContext.getFields(this));
52
+ toBuffer(): Buffer;
53
+ toBuffer(sink: BufferSink): void;
54
+ toBuffer(sink?: BufferSink): Buffer | void {
55
+ if (!sink) {
56
+ return BufferSink.serialize(this);
57
+ }
58
+ serializeToSink(sink, ...TxContext.getFields(this));
54
59
  }
55
60
 
56
61
  static fromFields(fields: Fr[] | FieldReader): TxContext {
package/src/tx/tx_hash.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, serializeArrayOfBufferableToVector } from '@aztec/foundation/serialize';
2
+ import {
3
+ BufferReader,
4
+ type BufferSink,
5
+ serializeArrayOfBufferableToVector,
6
+ serializeArrayToSink,
7
+ } from '@aztec/foundation/serialize';
3
8
 
4
9
  import { schemas } from '../schemas/index.js';
5
10
 
@@ -34,8 +39,13 @@ export class TxHash {
34
39
  return new TxHash(value);
35
40
  }
36
41
 
37
- public toBuffer() {
38
- return this.hash.toBuffer();
42
+ public toBuffer(): Buffer;
43
+ public toBuffer(sink: BufferSink): void;
44
+ public toBuffer(sink?: BufferSink): Buffer | void {
45
+ if (!sink) {
46
+ return this.hash.toBuffer();
47
+ }
48
+ this.hash.toBuffer(sink);
39
49
  }
40
50
 
41
51
  public toString() {
@@ -82,7 +92,12 @@ export class TxHashArray extends Array<TxHash> {
82
92
  }
83
93
  }
84
94
 
85
- public toBuffer(): Buffer {
86
- return serializeArrayOfBufferableToVector([...this]);
95
+ public toBuffer(): Buffer;
96
+ public toBuffer(sink: BufferSink): void;
97
+ public toBuffer(sink?: BufferSink): Buffer | void {
98
+ if (!sink) {
99
+ return serializeArrayOfBufferableToVector([...this]);
100
+ }
101
+ serializeArrayToSink(sink, [...this]);
87
102
  }
88
103
  }
@@ -1,4 +1,4 @@
1
- import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
1
+ import { BlockNumber, BlockNumberSchema, EpochNumber, EpochNumberSchema } from '@aztec/foundation/branded-types';
2
2
 
3
3
  import { z } from 'zod';
4
4
 
@@ -15,7 +15,7 @@ export enum TxStatus {
15
15
  PROPOSED = 'proposed',
16
16
  CHECKPOINTED = 'checkpointed',
17
17
  PROVEN = 'proven',
18
- FINALIZED = 'finalized', // TODO(#13569): Implement finalized status properly
18
+ FINALIZED = 'finalized',
19
19
  }
20
20
 
21
21
  /** Tx status sorted by finalization progress. */
@@ -31,9 +31,7 @@ export const SortedTxStatuses: TxStatus[] = [
31
31
  /** Execution result - only set when tx is in a block. */
32
32
  export enum TxExecutionResult {
33
33
  SUCCESS = 'success',
34
- APP_LOGIC_REVERTED = 'app_logic_reverted',
35
- TEARDOWN_REVERTED = 'teardown_reverted',
36
- BOTH_REVERTED = 'both_reverted',
34
+ REVERTED = 'reverted',
37
35
  }
38
36
 
39
37
  /**
@@ -58,6 +56,8 @@ export class TxReceipt {
58
56
  public blockHash?: BlockHash,
59
57
  /** The block number in which the transaction was included. */
60
58
  public blockNumber?: BlockNumber,
59
+ /** The epoch number in which the transaction was included. */
60
+ public epochNumber?: EpochNumber,
61
61
  /**
62
62
  * Debug logs collected during public function execution. Served only when the node is in test mode and placed on
63
63
  * the receipt only because it's a convenient place for it (the logs are printed out by the wallet when a mined
@@ -109,6 +109,7 @@ export class TxReceipt {
109
109
  error: z.string().optional(),
110
110
  blockHash: BlockHash.schema.optional(),
111
111
  blockNumber: BlockNumberSchema.optional(),
112
+ epochNumber: EpochNumberSchema.optional(),
112
113
  transactionFee: schemas.BigInt.optional(),
113
114
  debugLogs: z.array(DebugLog.schema).optional(),
114
115
  })
@@ -123,6 +124,7 @@ export class TxReceipt {
123
124
  transactionFee?: bigint;
124
125
  blockHash?: BlockHash;
125
126
  blockNumber?: BlockNumber;
127
+ epochNumber?: EpochNumber;
126
128
  debugLogs?: DebugLog[];
127
129
  }) {
128
130
  return new TxReceipt(
@@ -133,21 +135,12 @@ export class TxReceipt {
133
135
  fields.transactionFee,
134
136
  fields.blockHash,
135
137
  fields.blockNumber,
138
+ fields.epochNumber,
136
139
  fields.debugLogs,
137
140
  );
138
141
  }
139
142
 
140
143
  public static executionResultFromRevertCode(revertCode: RevertCode): TxExecutionResult {
141
- if (revertCode.equals(RevertCode.OK)) {
142
- return TxExecutionResult.SUCCESS;
143
- } else if (revertCode.equals(RevertCode.APP_LOGIC_REVERTED)) {
144
- return TxExecutionResult.APP_LOGIC_REVERTED;
145
- } else if (revertCode.equals(RevertCode.TEARDOWN_REVERTED)) {
146
- return TxExecutionResult.TEARDOWN_REVERTED;
147
- } else if (revertCode.equals(RevertCode.BOTH_REVERTED)) {
148
- return TxExecutionResult.BOTH_REVERTED;
149
- } else {
150
- throw new Error(`Unknown revert code: ${revertCode.getCode()}`);
151
- }
144
+ return revertCode.isOK() ? TxExecutionResult.SUCCESS : TxExecutionResult.REVERTED;
152
145
  }
153
146
  }
@@ -6,6 +6,10 @@ export const TX_ERROR_GAS_LIMIT_TOO_HIGH = 'Gas limit is higher than the amount
6
6
 
7
7
  // Phases
8
8
  export const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = 'Setup function not on allow list';
9
+ export const TX_ERROR_SETUP_FUNCTION_UNKNOWN_CONTRACT = 'Setup function targets unknown contract';
10
+ export const TX_ERROR_SETUP_ONLY_SELF_WRONG_SENDER = 'Setup only_self function called with incorrect msg_sender';
11
+ export const TX_ERROR_SETUP_NULL_MSG_SENDER = 'Setup function called with null msg sender';
12
+ export const TX_ERROR_SETUP_WRONG_CALLDATA_LENGTH = 'Setup function called with wrong calldata length';
9
13
 
10
14
  // Nullifiers
11
15
  export const TX_ERROR_DUPLICATE_NULLIFIER_IN_TX = 'Duplicate nullifier in tx';
@@ -37,5 +41,13 @@ export const TX_ERROR_SIZE_ABOVE_LIMIT = 'Transaction size above size limit';
37
41
  // Block header
38
42
  export const TX_ERROR_BLOCK_HEADER = 'Block header not found';
39
43
 
44
+ // Contract instance
45
+ export const TX_ERROR_INCORRECT_CONTRACT_ADDRESS = 'Incorrect contract instance deployment address';
46
+ export const TX_ERROR_MALFORMED_CONTRACT_INSTANCE_LOG = 'Failed to parse contract instance deployment log';
47
+
48
+ // Contract class
49
+ export const TX_ERROR_INCORRECT_CONTRACT_CLASS_ID = 'Incorrect contract class id';
50
+ export const TX_ERROR_MALFORMED_CONTRACT_CLASS_LOG = 'Failed to parse contract class registration log';
51
+
40
52
  // General
41
53
  export const TX_ERROR_DURING_VALIDATION = 'Unexpected error during validation';
@@ -15,10 +15,7 @@ export function hasPublicCalls(tx: AnyTx): boolean {
15
15
  return tx.data.numberOfPublicCallRequests() > 0;
16
16
  }
17
17
 
18
- export type TxValidationResult =
19
- | { result: 'valid' }
20
- | { result: 'invalid'; reason: string[] }
21
- | { result: 'skipped'; reason: string[] };
18
+ export type TxValidationResult = { result: 'valid' } | { result: 'invalid'; reason: string[] };
22
19
 
23
20
  export interface TxValidator<T = AnyTx> {
24
21
  validateTx(tx: T): Promise<TxValidationResult>;
@@ -28,6 +25,5 @@ export const TxValidationResultSchema = zodFor<TxValidationResult>()(
28
25
  z.discriminatedUnion('result', [
29
26
  z.object({ result: z.literal('valid') }),
30
27
  z.object({ result: z.literal('invalid'), reason: z.array(z.string()) }),
31
- z.object({ result: z.literal('skipped'), reason: z.array(z.string()) }),
32
28
  ]),
33
29
  );
@@ -1,4 +1,4 @@
1
- import { type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize';
1
+ import { BufferSink, type Bufferable, type Sinkable, serializeToSink } from '@aztec/foundation/serialize';
2
2
 
3
3
  /**
4
4
  * Implementation of a vector. Matches how we are serializing and deserializing vectors in cpp (length in the first position, followed by the items).
@@ -11,8 +11,13 @@ export class Vector<T extends Bufferable> {
11
11
  public items: T[],
12
12
  ) {}
13
13
 
14
- toBuffer() {
15
- return serializeToBuffer(this.items.length, this.items);
14
+ toBuffer(): Buffer;
15
+ toBuffer(sink: BufferSink): void;
16
+ toBuffer(sink?: BufferSink): Buffer | void {
17
+ if (!sink) {
18
+ return BufferSink.serialize(this);
19
+ }
20
+ serializeToSink(sink, this.items.length, this.items as Sinkable[]);
16
21
  }
17
22
 
18
23
  toFriendlyJSON() {
@@ -34,13 +39,3 @@ export type UInt64 = bigint;
34
39
  * A type alias for a 128-bit unsigned integer.
35
40
  */
36
41
  export type UInt128 = bigint;
37
-
38
- /**
39
- * CircuitType replaces ComposerType for now. When using Plonk, CircuitType is equivalent to the information of the proving system that will be used
40
- * to construct a proof. In the future Aztec zk stack, more information must be specified (e.g., the curve over which circuits are constructed;
41
- * Plonk vs Honk; zk-SNARK or just SNARK; etc).
42
- */
43
- export enum CircuitType {
44
- STANDARD = 0,
45
- ULTRA = 1,
46
- }
@@ -0,0 +1,2 @@
1
+ /** Placeholder version returned when running from a local monorepo checkout rather than an npm-installed package. */
2
+ export const DEV_VERSION = 'dev';