@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
@@ -25,6 +25,234 @@ export const DEFAULT_L1_PUBLISHING_TIME = 12;
25
25
  /** Minimum execution time for building a block in seconds */
26
26
  export const MIN_EXECUTION_TIME = 2;
27
27
 
28
+ export type CheckpointTimingConfig = {
29
+ aztecSlotDuration: number;
30
+ ethereumSlotDuration?: number;
31
+ blockDuration?: number;
32
+ checkpointAssembleTime?: number;
33
+ checkpointInitializationTime?: number;
34
+ l1PublishingTime?: number;
35
+ minExecutionTime?: number;
36
+ p2pPropagationTime?: number;
37
+ pipelining?: boolean;
38
+ };
39
+
40
+ export interface CheckpointTiming {
41
+ readonly aztecSlotDuration: number;
42
+ readonly blockDuration: number | undefined;
43
+ readonly checkpointAssembleTime: number;
44
+ readonly checkpointInitializationTime: number;
45
+ readonly l1PublishingTime: number;
46
+ readonly minExecutionTime: number;
47
+ readonly p2pPropagationTime: number;
48
+ readonly checkpointFinalizationTime: number;
49
+ readonly pipeliningAttestationGracePeriod: number;
50
+ readonly timeReservedAtEnd: number;
51
+ readonly minimumBuildSlotWork: number;
52
+ readonly initializeDeadline: number;
53
+ readonly checkpointAssemblyDeadline: number;
54
+ readonly checkpointAttestationStartDeadline: number;
55
+ readonly checkpointAttestationDeadline: number;
56
+ readonly checkpointPublishingDeadline: number;
57
+
58
+ calculateMaxBlocksPerSlot(): number;
59
+ }
60
+
61
+ export interface PipelinedCheckpointTiming extends CheckpointTiming {
62
+ readonly proposalWindowIntoTargetSlot: number;
63
+ readonly attestationWindowIntoTargetSlot: number;
64
+ }
65
+
66
+ /**
67
+ * Shared base for checkpoint timing implementations.
68
+ *
69
+ * This class owns the common inputs and formulas used by both pipelined and
70
+ * non-pipelined scheduling. Variant-specific deadline math is delegated to the
71
+ * concrete subclasses below.
72
+ */
73
+ abstract class BaseCheckpointTiming implements CheckpointTiming {
74
+ public readonly aztecSlotDuration: number;
75
+ public readonly blockDuration: number | undefined;
76
+ public readonly checkpointAssembleTime: number;
77
+ public readonly checkpointInitializationTime: number;
78
+ public readonly l1PublishingTime: number;
79
+ public readonly minExecutionTime: number;
80
+ public readonly p2pPropagationTime: number;
81
+
82
+ constructor(opts: CheckpointTimingConfig) {
83
+ this.aztecSlotDuration = opts.aztecSlotDuration;
84
+ this.blockDuration = opts.blockDuration;
85
+
86
+ this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
87
+ this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
88
+ this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
89
+ this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
90
+ this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
91
+ }
92
+
93
+ public get checkpointFinalizationTime(): number {
94
+ // Allow enough time to
95
+ // - build the checkpoint
96
+ // - Round-trip over p2p
97
+ // - Publish to L1
98
+ return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
99
+ }
100
+
101
+ public get pipeliningAttestationGracePeriod(): number {
102
+ // Allow enough time to
103
+ // - build the block
104
+ // - pass it back over p2p
105
+ return (this.blockDuration ?? 0) + this.p2pPropagationTime;
106
+ }
107
+
108
+ public abstract get timeReservedAtEnd(): number;
109
+ public abstract get minimumBuildSlotWork(): number;
110
+
111
+ public get initializeDeadline(): number {
112
+ return this.aztecSlotDuration - this.minimumBuildSlotWork;
113
+ }
114
+
115
+ public abstract get checkpointAssemblyDeadline(): number;
116
+
117
+ public get checkpointAttestationStartDeadline(): number {
118
+ return this.checkpointAssemblyDeadline;
119
+ }
120
+
121
+ public abstract get checkpointAttestationDeadline(): number;
122
+ public abstract get checkpointPublishingDeadline(): number;
123
+
124
+ public calculateMaxBlocksPerSlot(): number {
125
+ if (!this.blockDuration) {
126
+ return 1;
127
+ }
128
+
129
+ const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
130
+ return Math.floor(timeAvailableForBlocks / this.blockDuration);
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Checkpoint timing model for the non-pipelined sequencer flow.
136
+ *
137
+ * In this mode, checkpoint assembly, attestation collection, and L1 publishing
138
+ * must all complete within the current Aztec slot.
139
+ */
140
+ class StandardCheckpointTimingModel extends BaseCheckpointTiming {
141
+ public get timeReservedAtEnd(): number {
142
+ return (this.blockDuration ?? 0) + this.checkpointFinalizationTime;
143
+ }
144
+
145
+ public get minimumBuildSlotWork(): number {
146
+ return this.checkpointInitializationTime + this.minExecutionTime * 2 + this.checkpointFinalizationTime;
147
+ }
148
+
149
+ public get checkpointAssemblyDeadline(): number {
150
+ return this.aztecSlotDuration - this.l1PublishingTime - 2 * this.p2pPropagationTime;
151
+ }
152
+
153
+ public get checkpointAttestationDeadline(): number {
154
+ return this.aztecSlotDuration - this.l1PublishingTime;
155
+ }
156
+
157
+ public get checkpointPublishingDeadline(): number {
158
+ return this.aztecSlotDuration - this.l1PublishingTime;
159
+ }
160
+ }
161
+
162
+ /**
163
+ * Checkpoint timing model for proposer pipelining.
164
+ *
165
+ * In this mode, the build work starts at the wall-clock slot boundary and the
166
+ * checkpoint proposal is broadcast early enough that attestations complete by
167
+ * the end of the build slot. L1 submission can then be sent at the boundary of
168
+ * the target slot. The extra target-slot window getters are intended for
169
+ * consumers such as P2P validators that need to validate pipelined messages
170
+ * against wallclock time.
171
+ */
172
+ class PipelinedCheckpointTimingModel extends BaseCheckpointTiming implements PipelinedCheckpointTiming {
173
+ public get proposalWindowIntoTargetSlot(): number {
174
+ // Proposals no longer spill into the target slot: they are broadcast early
175
+ // enough in the build slot that attestations complete before the boundary.
176
+ // Any residual tolerance into the target slot is covered by clock disparity.
177
+ return 0;
178
+ }
179
+
180
+ public get attestationWindowIntoTargetSlot(): number {
181
+ // Straggler grace: attestations aim to complete by build-slot end. Allow a
182
+ // small window into the target slot for late arrivals (round-trip p2p).
183
+ return 2 * this.p2pPropagationTime;
184
+ }
185
+
186
+ public override get pipeliningAttestationGracePeriod(): number {
187
+ // Under the early-pipelining regime attestations complete inside the build
188
+ // slot itself, so there is no extra grace into the target slot.
189
+ return 0;
190
+ }
191
+
192
+ public get timeReservedAtEnd(): number {
193
+ // Reserve enough time at the end of the build slot for:
194
+ // - assembling and broadcasting the checkpoint proposal
195
+ // - round-trip p2p propagation (proposal out, attestations back)
196
+ // - validators re-executing the last block
197
+ return this.checkpointAssembleTime + 2 * this.p2pPropagationTime + (this.blockDuration ?? 0);
198
+ }
199
+
200
+ public get minimumBuildSlotWork(): number {
201
+ return this.checkpointInitializationTime + this.minExecutionTime * 2;
202
+ }
203
+
204
+ public get checkpointAssemblyDeadline(): number {
205
+ // Allow enough time to build all blocks and receive attestations. With
206
+ // `pipeliningAttestationGracePeriod = 0` this equals `aztecSlotDuration`.
207
+ return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
208
+ }
209
+
210
+ public get checkpointAttestationDeadline(): number {
211
+ // Allowed to be into the next wallclock slot minus the allocated l1 publishing time
212
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
213
+ }
214
+
215
+ public get checkpointPublishingDeadline(): number {
216
+ // Allowed to be into the next wallclock slot minus the allocated l1 Publishing time
217
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
218
+ }
219
+ }
220
+
221
+ /**
222
+ * Creates a checkpoint timing model for the requested scheduling mode.
223
+ *
224
+ * Most callers should use this factory and depend only on the shared
225
+ * `CheckpointTiming` interface. The returned implementation is selected from
226
+ * `opts.pipelining`.
227
+ */
228
+ export function createCheckpointTimingModel(opts: CheckpointTimingConfig): CheckpointTiming {
229
+ validateCheckpointTimingConfig(opts);
230
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
231
+
232
+ const timing = normalizedOpts.pipelining
233
+ ? new PipelinedCheckpointTimingModel(normalizedOpts)
234
+ : new StandardCheckpointTimingModel(normalizedOpts);
235
+ validateCheckpointTimingModel(timing);
236
+ return timing;
237
+ }
238
+
239
+ /**
240
+ * Creates a pipelined checkpoint timing model with target-slot window accessors.
241
+ *
242
+ * Use this when the caller specifically needs the pipelined-only timing surface,
243
+ * such as proposal or attestation acceptance windows into the target slot.
244
+ */
245
+ export function createPipelinedCheckpointTimingModel(
246
+ opts: Omit<CheckpointTimingConfig, 'pipelining'>,
247
+ ): PipelinedCheckpointTiming {
248
+ validateCheckpointTimingConfig(opts);
249
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
250
+
251
+ const timing = new PipelinedCheckpointTimingModel(normalizedOpts);
252
+ validateCheckpointTimingModel(timing);
253
+ return timing;
254
+ }
255
+
28
256
  /**
29
257
  * Calculates the maximum number of blocks that can be built in a slot.
30
258
  * Used by both the sequencer timetable and p2p gossipsub scoring.
@@ -42,25 +270,92 @@ export function calculateMaxBlocksPerSlot(
42
270
  checkpointAssembleTime?: number;
43
271
  p2pPropagationTime?: number;
44
272
  l1PublishingTime?: number;
273
+ pipelining?: boolean;
45
274
  } = {},
46
275
  ): number {
47
- if (!blockDurationSec) {
48
- return 1; // Single block per slot
276
+ return createCheckpointTimingModel({
277
+ aztecSlotDuration: aztecSlotDurationSec,
278
+ blockDuration: blockDurationSec,
279
+ checkpointAssembleTime: opts.checkpointAssembleTime,
280
+ checkpointInitializationTime: opts.checkpointInitializationTime,
281
+ l1PublishingTime: opts.l1PublishingTime,
282
+ p2pPropagationTime: opts.p2pPropagationTime,
283
+ pipelining: opts.pipelining,
284
+ }).calculateMaxBlocksPerSlot();
285
+ }
286
+
287
+ function assertNonNegative(name: string, value: number): void {
288
+ if (value < 0) {
289
+ throw new Error(`${name} must be non-negative (got ${value})`);
290
+ }
291
+ }
292
+
293
+ function validateCheckpointTimingConfig(opts: CheckpointTimingConfig): void {
294
+ if (opts.aztecSlotDuration <= 0) {
295
+ throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
296
+ }
297
+
298
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
299
+ throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
300
+ }
301
+
302
+ if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
303
+ throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
304
+ }
305
+
306
+ if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
307
+ throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
49
308
  }
50
309
 
51
- const initOffset = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
52
- const assembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
53
- const p2pTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
54
- const l1Time = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
310
+ if (opts.checkpointAssembleTime !== undefined) {
311
+ assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
312
+ }
313
+ if (opts.checkpointInitializationTime !== undefined) {
314
+ assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
315
+ }
316
+ if (opts.l1PublishingTime !== undefined) {
317
+ assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
318
+ }
319
+ if (opts.p2pPropagationTime !== undefined) {
320
+ assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
321
+ }
322
+ }
323
+
324
+ function normalizeCheckpointTimingConfig(opts: CheckpointTimingConfig): CheckpointTimingConfig {
325
+ let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
326
+ let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
327
+ let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
328
+ let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
55
329
 
56
- // Calculate checkpoint finalization time (assembly + round-trip propagation + L1 publishing)
57
- const checkpointFinalizationTime = assembleTime + p2pTime * 2 + l1Time;
330
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
331
+ p2pPropagationTime = 0;
332
+ checkpointAssembleTime = 0.5;
333
+ checkpointInitializationTime = 0.5;
334
+ minExecutionTime = 1;
335
+ }
336
+
337
+ if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
338
+ minExecutionTime = opts.blockDuration;
339
+ }
58
340
 
59
- // Time reserved at end for last sub-slot (validator re-execution) + finalization
60
- const timeReservedAtEnd = blockDurationSec + checkpointFinalizationTime;
341
+ return {
342
+ ...opts,
343
+ checkpointAssembleTime,
344
+ checkpointInitializationTime,
345
+ minExecutionTime,
346
+ p2pPropagationTime,
347
+ };
348
+ }
61
349
 
62
- // Time available for building blocks
63
- const timeAvailableForBlocks = aztecSlotDurationSec - initOffset - timeReservedAtEnd;
350
+ function validateCheckpointTimingModel(model: CheckpointTiming): void {
351
+ if (model.blockDuration === undefined) {
352
+ return;
353
+ }
64
354
 
65
- return Math.max(1, Math.floor(timeAvailableForBlocks / blockDurationSec));
355
+ const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
356
+ if (timeAvailableForBlocks < model.blockDuration) {
357
+ throw new Error(
358
+ `Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`,
359
+ );
360
+ }
66
361
  }
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { schemas } from '@aztec/foundation/schemas';
3
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
4
4
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
5
 
6
6
  import { inspect } from 'util';
@@ -44,8 +44,13 @@ export class AppendOnlyTreeSnapshot {
44
44
  return this.root.size + 4;
45
45
  }
46
46
 
47
- toBuffer() {
48
- return serializeToBuffer(this.root, this.nextAvailableLeafIndex);
47
+ toBuffer(): Buffer;
48
+ toBuffer(sink: BufferSink): void;
49
+ toBuffer(sink?: BufferSink): Buffer | void {
50
+ if (!sink) {
51
+ return BufferSink.serialize(this);
52
+ }
53
+ serializeToSink(sink, this.root, this.nextAvailableLeafIndex);
49
54
  }
50
55
 
51
56
  toFields(): Fr[] {
@@ -86,6 +86,10 @@ export class NullifierLeafPreimage implements IndexedTreeLeafPreimage {
86
86
  ];
87
87
  }
88
88
 
89
+ isEmpty(): boolean {
90
+ return this.leaf.isEmpty() && this.nextKey.isZero() && this.nextIndex === 0n;
91
+ }
92
+
89
93
  toFields(): Fr[] {
90
94
  return this.toHashInputs().map(buf => Fr.fromBuffer(buf));
91
95
  }
@@ -53,22 +53,12 @@ export class NullifierMembershipWitness {
53
53
  return new MembershipWitness(NULLIFIER_TREE_HEIGHT, this.index, this.siblingPath.toTuple());
54
54
  }
55
55
 
56
- /**
57
- * Returns a field array representation of a nullifier witness.
58
- * @returns A field array representation of a nullifier witness.
59
- */
60
- public toFields(): Fr[] {
61
- return [new Fr(this.index), ...this.leafPreimage.toFields(), ...this.siblingPath.toFields()];
62
- }
63
-
64
- /**
65
- * Returns a representation of the nullifier membership witness as expected by intrinsic Noir deserialization.
66
- */
56
+ /** Serializes as `(NullifierLeafPreimage, MembershipWitness)` to match the Noir oracle return type. */
67
57
  public toNoirRepresentation(): (string | string[])[] {
68
58
  // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
69
59
  return [
70
- new Fr(this.index).toString() as string,
71
60
  ...(this.leafPreimage.toFields().map(fr => fr.toString()) as string[]),
61
+ new Fr(this.index).toString() as string,
72
62
  this.siblingPath.toFields().map(fr => fr.toString()) as string[],
73
63
  ];
74
64
  }
@@ -4,7 +4,7 @@ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { randomInt } from '@aztec/foundation/crypto/random';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { type ZodFor, schemas } from '@aztec/foundation/schemas';
7
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
7
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
8
8
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
9
9
  import type { FieldsOf } from '@aztec/foundation/types';
10
10
 
@@ -85,8 +85,13 @@ export class BlockHeader {
85
85
  );
86
86
  }
87
87
 
88
- toBuffer() {
89
- return serializeToBuffer(...BlockHeader.getFields(this));
88
+ toBuffer(): Buffer;
89
+ toBuffer(sink: BufferSink): void;
90
+ toBuffer(sink?: BufferSink): Buffer | void {
91
+ if (!sink) {
92
+ return BufferSink.serialize(this);
93
+ }
94
+ serializeToSink(sink, ...BlockHeader.getFields(this));
90
95
  }
91
96
 
92
97
  toFields(): Fr[] {
@@ -172,8 +177,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
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { schemas } from '@aztec/foundation/schemas';
4
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
4
 
@@ -27,7 +26,7 @@ export function serializeIndexedTxEffect(effect: IndexedTxEffect): Buffer {
27
26
  export function deserializeIndexedTxEffect(buffer: Buffer): IndexedTxEffect {
28
27
  const reader = BufferReader.asReader(buffer);
29
28
 
30
- const l2BlockHash = new BlockHash(reader.readObject(Fr));
29
+ const l2BlockHash = BlockHash.fromBuffer(reader);
31
30
  const l2BlockNumber = BlockNumber(reader.readNumber());
32
31
  const txIndexInBlock = reader.readNumber();
33
32
  const data = reader.readObject(TxEffect);
@@ -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
  );