@aztec/stdlib 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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 (1187) 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 -70
  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 +64 -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 +30 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +20 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +22 -0
  44. package/dest/auth_witness/auth_witness.d.ts +3 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1777 -10484
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +6 -3
  50. package/dest/avm/avm_accumulated_data.d.ts +50 -87
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +185 -937
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +824 -5617
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/contract_storage_read.d.ts +13 -1
  57. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  58. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  59. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  60. package/dest/avm/message_pack.js +12 -3
  61. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  62. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  63. package/dest/avm/public_data_read.d.ts +10 -1
  64. package/dest/avm/public_data_read.d.ts.map +1 -1
  65. package/dest/avm/public_data_update_request.d.ts +10 -1
  66. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  67. package/dest/avm/public_data_write.d.ts +12 -12
  68. package/dest/avm/public_data_write.d.ts.map +1 -1
  69. package/dest/avm/public_inner_call_request.d.ts +4 -1
  70. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  71. package/dest/avm/revert_code.d.ts +9 -10
  72. package/dest/avm/revert_code.d.ts.map +1 -1
  73. package/dest/avm/revert_code.js +13 -21
  74. package/dest/aztec-address/index.d.ts +8 -8
  75. package/dest/aztec-address/index.d.ts.map +1 -1
  76. package/dest/aztec-address/index.js +9 -6
  77. package/dest/block/attestation_info.d.ts +3 -2
  78. package/dest/block/attestation_info.d.ts.map +1 -1
  79. package/dest/block/attestation_info.js +7 -5
  80. package/dest/block/block_data.d.ts +27 -0
  81. package/dest/block/block_data.d.ts.map +1 -0
  82. package/dest/block/block_data.js +12 -0
  83. package/dest/block/block_hash.d.ts +20 -15
  84. package/dest/block/block_hash.d.ts.map +1 -1
  85. package/dest/block/block_hash.js +23 -20
  86. package/dest/block/block_parameter.d.ts +38 -4
  87. package/dest/block/block_parameter.d.ts.map +1 -1
  88. package/dest/block/block_parameter.js +55 -2
  89. package/dest/block/body.d.ts +1 -1
  90. package/dest/block/body.d.ts.map +1 -1
  91. package/dest/block/body.js +2 -1
  92. package/dest/block/in_block.d.ts +9 -28
  93. package/dest/block/in_block.d.ts.map +1 -1
  94. package/dest/block/in_block.js +5 -5
  95. package/dest/block/index.d.ts +2 -4
  96. package/dest/block/index.d.ts.map +1 -1
  97. package/dest/block/index.js +1 -3
  98. package/dest/block/l2_block.d.ts +64 -87
  99. package/dest/block/l2_block.d.ts.map +1 -1
  100. package/dest/block/l2_block.js +73 -109
  101. package/dest/block/l2_block_info.d.ts +10 -29
  102. package/dest/block/l2_block_info.d.ts.map +1 -1
  103. package/dest/block/l2_block_info.js +6 -5
  104. package/dest/block/l2_block_source.d.ts +220 -322
  105. package/dest/block/l2_block_source.d.ts.map +1 -1
  106. package/dest/block/l2_block_source.js +69 -2
  107. package/dest/block/l2_block_stream/interfaces.d.ts +14 -8
  108. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  109. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  110. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  111. package/dest/block/l2_block_stream/l2_block_stream.js +80 -40
  112. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  113. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  114. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  115. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +6 -3
  116. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  117. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  118. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  119. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  120. package/dest/block/proposal/attestations_and_signers.js +26 -18
  121. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  122. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  123. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  124. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  125. package/dest/block/test/l2_tips_store_test_suite.js +7 -11
  126. package/dest/block/validate_block_result.d.ts +1 -1
  127. package/dest/block/validate_block_result.d.ts.map +1 -1
  128. package/dest/block/validate_block_result.js +5 -4
  129. package/dest/checkpoint/checkpoint.d.ts +61 -102
  130. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  131. package/dest/checkpoint/checkpoint.js +53 -17
  132. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  133. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  134. package/dest/checkpoint/checkpoint_data.js +38 -0
  135. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  136. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  137. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  138. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  139. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  140. package/dest/checkpoint/digest.d.ts +18 -0
  141. package/dest/checkpoint/digest.d.ts.map +1 -0
  142. package/dest/checkpoint/digest.js +12 -0
  143. package/dest/checkpoint/index.d.ts +6 -1
  144. package/dest/checkpoint/index.d.ts.map +1 -1
  145. package/dest/checkpoint/index.js +5 -0
  146. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  147. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  148. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  149. package/dest/checkpoint/published_checkpoint.d.ts +55 -190
  150. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  151. package/dest/checkpoint/published_checkpoint.js +5 -5
  152. package/dest/checkpoint/validate.d.ts +36 -0
  153. package/dest/checkpoint/validate.d.ts.map +1 -0
  154. package/dest/checkpoint/validate.js +120 -0
  155. package/dest/config/chain-config.d.ts +4 -9
  156. package/dest/config/chain-config.d.ts.map +1 -1
  157. package/dest/config/chain-config.js +13 -12
  158. package/dest/config/index.d.ts +3 -1
  159. package/dest/config/index.d.ts.map +1 -1
  160. package/dest/config/index.js +2 -0
  161. package/dest/config/node-rpc-config.js +1 -1
  162. package/dest/config/pipelining-config.d.ts +15 -0
  163. package/dest/config/pipelining-config.d.ts.map +1 -0
  164. package/dest/config/pipelining-config.js +18 -0
  165. package/dest/config/sequencer-config.d.ts +14 -0
  166. package/dest/config/sequencer-config.d.ts.map +1 -0
  167. package/dest/config/sequencer-config.js +38 -0
  168. package/dest/contract/complete_address.d.ts +6 -2
  169. package/dest/contract/complete_address.d.ts.map +1 -1
  170. package/dest/contract/complete_address.js +6 -2
  171. package/dest/contract/contract_address.d.ts +6 -6
  172. package/dest/contract/contract_address.d.ts.map +1 -1
  173. package/dest/contract/contract_address.js +9 -8
  174. package/dest/contract/contract_class.d.ts +2 -3
  175. package/dest/contract/contract_class.d.ts.map +1 -1
  176. package/dest/contract/contract_class_id.d.ts +3 -3
  177. package/dest/contract/contract_class_id.d.ts.map +1 -1
  178. package/dest/contract/contract_class_id.js +7 -6
  179. package/dest/contract/contract_deployment_data.d.ts +18 -64
  180. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  181. package/dest/contract/contract_instance.d.ts +4 -2
  182. package/dest/contract/contract_instance.d.ts.map +1 -1
  183. package/dest/contract/contract_instance.js +10 -3
  184. package/dest/contract/index.d.ts +1 -5
  185. package/dest/contract/index.d.ts.map +1 -1
  186. package/dest/contract/index.js +0 -4
  187. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  188. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_class.js +1 -28
  190. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  191. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  192. package/dest/contract/interfaces/contract_instance.js +4 -2
  193. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  194. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  195. package/dest/contract/interfaces/node-info.d.ts +3 -1
  196. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  197. package/dest/contract/interfaces/node-info.js +2 -1
  198. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  199. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  200. package/dest/contract/private_function.d.ts +1 -1
  201. package/dest/contract/private_function.d.ts.map +1 -1
  202. package/dest/contract/private_function.js +5 -8
  203. package/dest/database-version/database_version.d.ts +52 -0
  204. package/dest/database-version/database_version.d.ts.map +1 -0
  205. package/dest/database-version/database_version.js +69 -0
  206. package/dest/database-version/version_manager.d.ts +8 -50
  207. package/dest/database-version/version_manager.d.ts.map +1 -1
  208. package/dest/database-version/version_manager.js +13 -67
  209. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  210. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  211. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  212. package/dest/deserialization/index.d.ts +11 -0
  213. package/dest/deserialization/index.d.ts.map +1 -0
  214. package/dest/deserialization/index.js +10 -0
  215. package/dest/epoch-helpers/index.d.ts +16 -18
  216. package/dest/epoch-helpers/index.d.ts.map +1 -1
  217. package/dest/epoch-helpers/index.js +23 -3
  218. package/dest/errors/proving_error.d.ts +2 -2
  219. package/dest/errors/proving_error.d.ts.map +1 -1
  220. package/dest/file-store/factory.d.ts +4 -3
  221. package/dest/file-store/factory.d.ts.map +1 -1
  222. package/dest/file-store/factory.js +2 -2
  223. package/dest/file-store/http.d.ts +9 -2
  224. package/dest/file-store/http.d.ts.map +1 -1
  225. package/dest/file-store/http.js +20 -9
  226. package/dest/file-store/index.d.ts +2 -1
  227. package/dest/file-store/index.d.ts.map +1 -1
  228. package/dest/file-store/local.d.ts +3 -3
  229. package/dest/file-store/local.d.ts.map +1 -1
  230. package/dest/file-store/local.js +13 -4
  231. package/dest/file-store/s3.d.ts +1 -1
  232. package/dest/file-store/s3.d.ts.map +1 -1
  233. package/dest/file-store/s3.js +11 -3
  234. package/dest/gas/fee_math.d.ts +49 -0
  235. package/dest/gas/fee_math.d.ts.map +1 -0
  236. package/dest/gas/fee_math.js +80 -0
  237. package/dest/gas/gas.d.ts +9 -14
  238. package/dest/gas/gas.d.ts.map +1 -1
  239. package/dest/gas/gas.js +6 -3
  240. package/dest/gas/gas_fees.d.ts +13 -14
  241. package/dest/gas/gas_fees.d.ts.map +1 -1
  242. package/dest/gas/gas_fees.js +20 -4
  243. package/dest/gas/gas_settings.d.ts +66 -86
  244. package/dest/gas/gas_settings.d.ts.map +1 -1
  245. package/dest/gas/gas_settings.js +56 -9
  246. package/dest/gas/index.d.ts +2 -1
  247. package/dest/gas/index.d.ts.map +1 -1
  248. package/dest/gas/index.js +1 -0
  249. package/dest/ha-signing/config.d.ts +72 -0
  250. package/dest/ha-signing/config.d.ts.map +1 -0
  251. package/dest/ha-signing/config.js +88 -0
  252. package/dest/ha-signing/index.d.ts +4 -0
  253. package/dest/ha-signing/index.d.ts.map +1 -0
  254. package/dest/ha-signing/index.js +3 -0
  255. package/dest/ha-signing/local_config.d.ts +32 -0
  256. package/dest/ha-signing/local_config.d.ts.map +1 -0
  257. package/dest/ha-signing/local_config.js +24 -0
  258. package/dest/ha-signing/types.d.ts +90 -0
  259. package/dest/ha-signing/types.d.ts.map +1 -0
  260. package/dest/ha-signing/types.js +39 -0
  261. package/dest/hash/hash.d.ts +35 -1
  262. package/dest/hash/hash.d.ts.map +1 -1
  263. package/dest/hash/hash.js +78 -11
  264. package/dest/hash/map_slot.d.ts +1 -1
  265. package/dest/hash/map_slot.d.ts.map +1 -1
  266. package/dest/hash/map_slot.js +4 -3
  267. package/dest/interfaces/allowed_element.d.ts +17 -35
  268. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  269. package/dest/interfaces/allowed_element.js +8 -8
  270. package/dest/interfaces/api_limit.d.ts +2 -1
  271. package/dest/interfaces/api_limit.d.ts.map +1 -1
  272. package/dest/interfaces/api_limit.js +1 -0
  273. package/dest/interfaces/archiver.d.ts +22 -32
  274. package/dest/interfaces/archiver.d.ts.map +1 -1
  275. package/dest/interfaces/archiver.js +209 -61
  276. package/dest/interfaces/aztec-node-admin.d.ts +111 -230
  277. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  278. package/dest/interfaces/aztec-node-admin.js +68 -17
  279. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  280. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  281. package/dest/interfaces/aztec-node-debug.js +21 -0
  282. package/dest/interfaces/aztec-node.d.ts +111 -131
  283. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  284. package/dest/interfaces/aztec-node.js +300 -76
  285. package/dest/interfaces/block-builder.d.ts +55 -18
  286. package/dest/interfaces/block-builder.d.ts.map +1 -1
  287. package/dest/interfaces/block-builder.js +16 -2
  288. package/dest/interfaces/block_response.d.ts +90 -0
  289. package/dest/interfaces/block_response.d.ts.map +1 -0
  290. package/dest/interfaces/block_response.js +30 -0
  291. package/dest/interfaces/chain_tips.d.ts +50 -0
  292. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  293. package/dest/interfaces/chain_tips.js +11 -0
  294. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  295. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  296. package/dest/interfaces/checkpoint_parameter.js +18 -0
  297. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  298. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  299. package/dest/interfaces/checkpoint_response.js +26 -0
  300. package/dest/interfaces/client.d.ts +8 -2
  301. package/dest/interfaces/client.d.ts.map +1 -1
  302. package/dest/interfaces/client.js +7 -1
  303. package/dest/interfaces/configs.d.ts +75 -119
  304. package/dest/interfaces/configs.d.ts.map +1 -1
  305. package/dest/interfaces/configs.js +18 -3
  306. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  307. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  308. package/dest/interfaces/l1_publish_info.js +26 -0
  309. package/dest/interfaces/l2_logs_source.d.ts +14 -25
  310. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  311. package/dest/interfaces/l2_logs_source.js +5 -0
  312. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  313. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  314. package/dest/interfaces/p2p-bootstrap.js +8 -2
  315. package/dest/interfaces/p2p.d.ts +18 -13
  316. package/dest/interfaces/p2p.d.ts.map +1 -1
  317. package/dest/interfaces/p2p.js +28 -5
  318. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  319. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  320. package/dest/interfaces/prover-agent.d.ts +5 -23
  321. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  322. package/dest/interfaces/prover-agent.js +4 -1
  323. package/dest/interfaces/prover-broker.d.ts +16 -1
  324. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  325. package/dest/interfaces/prover-broker.js +4 -1
  326. package/dest/interfaces/prover-client.d.ts +19 -21
  327. package/dest/interfaces/prover-client.d.ts.map +1 -1
  328. package/dest/interfaces/prover-client.js +18 -4
  329. package/dest/interfaces/prover-node.js +22 -8
  330. package/dest/interfaces/proving-job-source.js +24 -4
  331. package/dest/interfaces/proving-job.d.ts +751 -5802
  332. package/dest/interfaces/proving-job.d.ts.map +1 -1
  333. package/dest/interfaces/proving-job.js +1 -1
  334. package/dest/interfaces/public_storage_override.d.ts +22 -0
  335. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  336. package/dest/interfaces/public_storage_override.js +7 -0
  337. package/dest/interfaces/server.d.ts +6 -1
  338. package/dest/interfaces/server.d.ts.map +1 -1
  339. package/dest/interfaces/server.js +5 -0
  340. package/dest/interfaces/slasher.d.ts +27 -59
  341. package/dest/interfaces/slasher.d.ts.map +1 -1
  342. package/dest/interfaces/slasher.js +10 -4
  343. package/dest/interfaces/tx_provider.d.ts +8 -3
  344. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  345. package/dest/interfaces/validator.d.ts +95 -131
  346. package/dest/interfaces/validator.d.ts.map +1 -1
  347. package/dest/interfaces/validator.js +16 -5
  348. package/dest/interfaces/world_state.d.ts +6 -5
  349. package/dest/interfaces/world_state.d.ts.map +1 -1
  350. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  351. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  352. package/dest/kernel/hints/build_note_hash_read_request_hints.js +29 -16
  353. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  354. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  355. package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
  356. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  357. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  358. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  359. package/dest/kernel/hints/index.d.ts +2 -2
  360. package/dest/kernel/hints/index.js +2 -2
  361. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  362. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  363. package/dest/kernel/hints/key_validation_request.d.ts +12 -7
  364. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  365. package/dest/kernel/hints/key_validation_request.js +20 -18
  366. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  367. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  368. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  369. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  370. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  371. package/dest/kernel/hints/read_request.d.ts +7 -1
  372. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  373. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  374. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  375. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  376. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  377. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  378. package/dest/kernel/index.d.ts +5 -1
  379. package/dest/kernel/index.d.ts.map +1 -1
  380. package/dest/kernel/index.js +4 -0
  381. package/dest/kernel/log_hash.d.ts +6 -2
  382. package/dest/kernel/log_hash.d.ts.map +1 -1
  383. package/dest/kernel/log_hash.js +21 -9
  384. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  385. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  386. package/dest/kernel/private_call_data.d.ts +25 -1
  387. package/dest/kernel/private_call_data.d.ts.map +1 -1
  388. package/dest/kernel/private_call_request.d.ts +16 -1
  389. package/dest/kernel/private_call_request.d.ts.map +1 -1
  390. package/dest/kernel/private_circuit_public_inputs.d.ts +82 -9
  391. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  392. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  393. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +34 -4
  394. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  395. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  396. package/dest/kernel/private_kernel_data.d.ts +7 -1
  397. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  398. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  399. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  400. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  401. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  402. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  403. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  404. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  405. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  406. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  407. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  408. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  409. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  410. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  411. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  412. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  413. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  414. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  415. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  416. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  417. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  418. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  419. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  420. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  421. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +34 -8
  422. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  423. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  424. package/dest/kernel/private_to_avm_accumulated_data.d.ts +26 -70
  425. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  426. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  427. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  428. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  429. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  430. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  431. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  432. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  433. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +21 -4
  434. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  435. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  436. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +22 -6
  437. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  438. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  439. package/dest/kernel/private_validation_requests.d.ts +13 -4
  440. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  441. package/dest/kernel/private_validation_requests.js +9 -9
  442. package/dest/kernel/public_call_request.d.ts +36 -30
  443. package/dest/kernel/public_call_request.d.ts.map +1 -1
  444. package/dest/kernel/public_call_request.js +16 -7
  445. package/dest/kernel/utils/optional_number.d.ts +7 -1
  446. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  447. package/dest/keys/derivation.d.ts +9 -5
  448. package/dest/keys/derivation.d.ts.map +1 -1
  449. package/dest/keys/derivation.js +28 -18
  450. package/dest/keys/key_types.d.ts +3 -3
  451. package/dest/keys/key_types.d.ts.map +1 -1
  452. package/dest/keys/public_key.d.ts +22 -3
  453. package/dest/keys/public_key.d.ts.map +1 -1
  454. package/dest/keys/public_key.js +20 -1
  455. package/dest/keys/public_keys.d.ts +56 -79
  456. package/dest/keys/public_keys.d.ts.map +1 -1
  457. package/dest/keys/public_keys.js +102 -74
  458. package/dest/keys/utils.d.ts +1 -1
  459. package/dest/keys/utils.d.ts.map +1 -1
  460. package/dest/keys/utils.js +8 -4
  461. package/dest/kv-store/config.d.ts +14 -0
  462. package/dest/kv-store/config.d.ts.map +1 -0
  463. package/dest/kv-store/config.js +21 -0
  464. package/dest/kv-store/index.d.ts +2 -0
  465. package/dest/kv-store/index.d.ts.map +1 -0
  466. package/dest/kv-store/index.js +1 -0
  467. package/dest/l1-contracts/index.d.ts +2 -2
  468. package/dest/l1-contracts/index.d.ts.map +1 -1
  469. package/dest/l1-contracts/index.js +1 -1
  470. package/dest/logs/app_tagging_secret.d.ts +46 -0
  471. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  472. package/dest/logs/app_tagging_secret.js +109 -0
  473. package/dest/logs/app_tagging_secret_kind.d.ts +6 -0
  474. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  475. package/dest/logs/app_tagging_secret_kind.js +4 -0
  476. package/dest/logs/contract_class_log.d.ts +16 -34
  477. package/dest/logs/contract_class_log.d.ts.map +1 -1
  478. package/dest/logs/contract_class_log.js +11 -9
  479. package/dest/logs/debug_log_store.d.ts +30 -0
  480. package/dest/logs/debug_log_store.d.ts.map +1 -0
  481. package/dest/logs/debug_log_store.js +30 -0
  482. package/dest/logs/index.d.ts +9 -7
  483. package/dest/logs/index.d.ts.map +1 -1
  484. package/dest/logs/index.js +8 -6
  485. package/dest/logs/log_cursor.d.ts +51 -0
  486. package/dest/logs/log_cursor.d.ts.map +1 -0
  487. package/dest/logs/log_cursor.js +82 -0
  488. package/dest/logs/log_result.d.ts +54 -0
  489. package/dest/logs/log_result.d.ts.map +1 -0
  490. package/dest/logs/log_result.js +56 -0
  491. package/dest/logs/logs_query.d.ts +82 -0
  492. package/dest/logs/logs_query.d.ts.map +1 -0
  493. package/dest/logs/logs_query.js +50 -0
  494. package/dest/logs/message_context.d.ts +4 -7
  495. package/dest/logs/message_context.d.ts.map +1 -1
  496. package/dest/logs/message_context.js +23 -9
  497. package/dest/logs/pending_tagged_log.d.ts +2 -3
  498. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  499. package/dest/logs/pending_tagged_log.js +2 -2
  500. package/dest/logs/pre_tag.d.ts +14 -22
  501. package/dest/logs/pre_tag.d.ts.map +1 -1
  502. package/dest/logs/pre_tag.js +2 -2
  503. package/dest/logs/private_log.d.ts +8 -13
  504. package/dest/logs/private_log.d.ts.map +1 -1
  505. package/dest/logs/private_log.js +6 -3
  506. package/dest/logs/public_log.d.ts +4 -3
  507. package/dest/logs/public_log.d.ts.map +1 -1
  508. package/dest/logs/public_log.js +2 -1
  509. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  510. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  511. package/dest/logs/query_all_logs_by_tags.js +64 -0
  512. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  513. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  514. package/dest/logs/shared_secret_derivation.js +15 -9
  515. package/dest/logs/siloed_tag.d.ts +12 -9
  516. package/dest/logs/siloed_tag.d.ts.map +1 -1
  517. package/dest/logs/siloed_tag.js +18 -6
  518. package/dest/logs/tag.d.ts +5 -6
  519. package/dest/logs/tag.d.ts.map +1 -1
  520. package/dest/logs/tag.js +5 -1
  521. package/dest/logs/tagging_index_range.d.ts +22 -0
  522. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  523. package/dest/logs/tagging_index_range.js +8 -0
  524. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  525. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  526. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  527. package/dest/messaging/inbox_leaf.d.ts +3 -1
  528. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  529. package/dest/messaging/index.d.ts +2 -1
  530. package/dest/messaging/index.d.ts.map +1 -1
  531. package/dest/messaging/index.js +1 -0
  532. package/dest/messaging/l1_actor.d.ts +7 -1
  533. package/dest/messaging/l1_actor.d.ts.map +1 -1
  534. package/dest/messaging/l1_to_l2_message.d.ts +8 -2
  535. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  536. package/dest/messaging/l1_to_l2_message.js +11 -13
  537. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  538. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  539. package/dest/messaging/l2_actor.d.ts +7 -1
  540. package/dest/messaging/l2_actor.d.ts.map +1 -1
  541. package/dest/messaging/l2_to_l1_membership.d.ts +64 -8
  542. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  543. package/dest/messaging/l2_to_l1_membership.js +122 -32
  544. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  545. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  546. package/dest/messaging/l2_to_l1_message.js +21 -12
  547. package/dest/messaging/out_hash.d.ts +41 -4
  548. package/dest/messaging/out_hash.d.ts.map +1 -1
  549. package/dest/messaging/out_hash.js +52 -26
  550. package/dest/noir/index.d.ts +5 -3
  551. package/dest/noir/index.d.ts.map +1 -1
  552. package/dest/note/index.d.ts +1 -2
  553. package/dest/note/index.d.ts.map +1 -1
  554. package/dest/note/index.js +0 -1
  555. package/dest/note/note.d.ts +2 -2
  556. package/dest/note/note.d.ts.map +1 -1
  557. package/dest/note/note_dao.d.ts +36 -5
  558. package/dest/note/note_dao.d.ts.map +1 -1
  559. package/dest/note/note_dao.js +14 -14
  560. package/dest/p2p/attestation_utils.d.ts +11 -1
  561. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  562. package/dest/p2p/attestation_utils.js +45 -0
  563. package/dest/p2p/block_proposal.d.ts +51 -19
  564. package/dest/p2p/block_proposal.d.ts.map +1 -1
  565. package/dest/p2p/block_proposal.js +77 -43
  566. package/dest/p2p/checkpoint_attestation.d.ts +20 -9
  567. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  568. package/dest/p2p/checkpoint_attestation.js +23 -24
  569. package/dest/p2p/checkpoint_proposal.d.ts +65 -26
  570. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  571. package/dest/p2p/checkpoint_proposal.js +90 -66
  572. package/dest/p2p/client_type.d.ts +2 -5
  573. package/dest/p2p/client_type.d.ts.map +1 -1
  574. package/dest/p2p/client_type.js +0 -7
  575. package/dest/p2p/consensus_payload.d.ts +35 -19
  576. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  577. package/dest/p2p/consensus_payload.js +47 -24
  578. package/dest/p2p/constants.d.ts +5 -0
  579. package/dest/p2p/constants.d.ts.map +1 -0
  580. package/dest/p2p/constants.js +3 -0
  581. package/dest/p2p/gossipable.d.ts +4 -4
  582. package/dest/p2p/gossipable.d.ts.map +1 -1
  583. package/dest/p2p/index.d.ts +2 -2
  584. package/dest/p2p/index.d.ts.map +1 -1
  585. package/dest/p2p/index.js +1 -1
  586. package/dest/p2p/message_validator.d.ts +18 -3
  587. package/dest/p2p/message_validator.d.ts.map +1 -1
  588. package/dest/p2p/message_validator.js +2 -1
  589. package/dest/p2p/peer_error.d.ts +3 -1
  590. package/dest/p2p/peer_error.d.ts.map +1 -1
  591. package/dest/p2p/peer_error.js +5 -0
  592. package/dest/p2p/signature_utils.d.ts +28 -19
  593. package/dest/p2p/signature_utils.d.ts.map +1 -1
  594. package/dest/p2p/signature_utils.js +118 -21
  595. package/dest/p2p/signed_txs.d.ts +17 -13
  596. package/dest/p2p/signed_txs.d.ts.map +1 -1
  597. package/dest/p2p/signed_txs.js +32 -25
  598. package/dest/p2p/topic_type.d.ts +3 -4
  599. package/dest/p2p/topic_type.d.ts.map +1 -1
  600. package/dest/p2p/topic_type.js +7 -23
  601. package/dest/parity/parity_base_private_inputs.d.ts +10 -4
  602. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  603. package/dest/parity/parity_base_private_inputs.js +7 -5
  604. package/dest/parity/parity_public_inputs.d.ts +11 -4
  605. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  606. package/dest/parity/parity_public_inputs.js +6 -3
  607. package/dest/parity/parity_root_private_inputs.d.ts +3 -2
  608. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  609. package/dest/proofs/chonk_proof.d.ts +57 -7
  610. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  611. package/dest/proofs/chonk_proof.js +121 -19
  612. package/dest/proofs/proof.d.ts +4 -1
  613. package/dest/proofs/proof.d.ts.map +1 -1
  614. package/dest/proofs/recursive_proof.d.ts +11 -2
  615. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  616. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  617. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  618. package/dest/rollup/block_constant_data.d.ts +12 -1
  619. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  620. package/dest/rollup/block_headers_hash.d.ts +1 -1
  621. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  622. package/dest/rollup/block_headers_hash.js +9 -3
  623. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +5 -2
  624. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  625. package/dest/rollup/block_rollup_public_inputs.d.ts +55 -4
  626. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  627. package/dest/rollup/block_rollup_public_inputs.js +14 -2
  628. package/dest/rollup/block_root_rollup_private_inputs.d.ts +69 -6
  629. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  630. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  631. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  632. package/dest/rollup/checkpoint_header.d.ts +31 -4
  633. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  634. package/dest/rollup/checkpoint_header.js +23 -7
  635. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +5 -2
  636. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  637. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +53 -11
  638. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  639. package/dest/rollup/checkpoint_rollup_public_inputs.js +20 -7
  640. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +48 -7
  641. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  642. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  643. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  644. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  645. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  646. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  647. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  648. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  649. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  650. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  651. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  652. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  653. package/dest/rollup/root_rollup_private_inputs.d.ts +7 -2
  654. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  655. package/dest/rollup/root_rollup_public_inputs.d.ts +18 -8
  656. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  657. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  658. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  659. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  660. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +5 -2
  661. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  662. package/dest/rollup/tx_rollup_public_inputs.d.ts +30 -2
  663. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  664. package/dest/schemas/schemas.d.ts +33 -79
  665. package/dest/schemas/schemas.d.ts.map +1 -1
  666. package/dest/schemas/schemas.js +2 -2
  667. package/dest/slashing/helpers.d.ts +2 -2
  668. package/dest/slashing/helpers.d.ts.map +1 -1
  669. package/dest/slashing/helpers.js +16 -7
  670. package/dest/slashing/index.d.ts +2 -3
  671. package/dest/slashing/index.d.ts.map +1 -1
  672. package/dest/slashing/index.js +1 -2
  673. package/dest/slashing/serialization.d.ts +2 -6
  674. package/dest/slashing/serialization.d.ts.map +1 -1
  675. package/dest/slashing/serialization.js +0 -60
  676. package/dest/slashing/types.d.ts +21 -111
  677. package/dest/slashing/types.d.ts.map +1 -1
  678. package/dest/slashing/types.js +28 -24
  679. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  680. package/dest/slashing/votes.d.ts.map +1 -0
  681. package/dest/slashing/{tally.js → votes.js} +35 -3
  682. package/dest/snapshots/types.d.ts +15 -78
  683. package/dest/snapshots/types.d.ts.map +1 -1
  684. package/dest/stats/stats.d.ts +2 -4
  685. package/dest/stats/stats.d.ts.map +1 -1
  686. package/dest/tests/factories.d.ts +26 -33
  687. package/dest/tests/factories.d.ts.map +1 -1
  688. package/dest/tests/factories.js +99 -100
  689. package/dest/tests/jest.js +1 -1
  690. package/dest/tests/mocks.d.ts +31 -17
  691. package/dest/tests/mocks.d.ts.map +1 -1
  692. package/dest/tests/mocks.js +100 -84
  693. package/dest/timetable/index.d.ts +87 -0
  694. package/dest/timetable/index.d.ts.map +1 -0
  695. package/dest/timetable/index.js +243 -0
  696. package/dest/trees/append_only_tree_snapshot.d.ts +21 -14
  697. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  698. package/dest/trees/append_only_tree_snapshot.js +6 -3
  699. package/dest/trees/nullifier_leaf.d.ts +31 -42
  700. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  701. package/dest/trees/nullifier_leaf.js +3 -0
  702. package/dest/trees/nullifier_membership_witness.d.ts +25 -59
  703. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  704. package/dest/trees/nullifier_membership_witness.js +2 -14
  705. package/dest/trees/public_data_leaf.d.ts +37 -53
  706. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  707. package/dest/trees/public_data_leaf.js +7 -6
  708. package/dest/trees/public_data_witness.d.ts +26 -58
  709. package/dest/trees/public_data_witness.d.ts.map +1 -1
  710. package/dest/tx/block_header.d.ts +19 -4
  711. package/dest/tx/block_header.d.ts.map +1 -1
  712. package/dest/tx/block_header.js +16 -5
  713. package/dest/tx/call_context.d.ts +16 -14
  714. package/dest/tx/call_context.d.ts.map +1 -1
  715. package/dest/tx/capsule.d.ts +10 -3
  716. package/dest/tx/capsule.d.ts.map +1 -1
  717. package/dest/tx/capsule.js +9 -3
  718. package/dest/tx/execution_payload.d.ts +9 -1
  719. package/dest/tx/execution_payload.d.ts.map +1 -1
  720. package/dest/tx/fee_provider.d.ts +10 -0
  721. package/dest/tx/fee_provider.d.ts.map +1 -0
  722. package/dest/tx/fee_provider.js +1 -0
  723. package/dest/tx/function_data.d.ts +7 -11
  724. package/dest/tx/function_data.d.ts.map +1 -1
  725. package/dest/tx/global_variable_builder.d.ts +3 -4
  726. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  727. package/dest/tx/global_variables.d.ts +27 -52
  728. package/dest/tx/global_variables.d.ts.map +1 -1
  729. package/dest/tx/global_variables.js +8 -12
  730. package/dest/tx/hashed_values.d.ts +10 -3
  731. package/dest/tx/hashed_values.d.ts.map +1 -1
  732. package/dest/tx/hashed_values.js +6 -3
  733. package/dest/tx/in_tx.d.ts +6 -18
  734. package/dest/tx/in_tx.d.ts.map +1 -1
  735. package/dest/tx/index.d.ts +2 -1
  736. package/dest/tx/index.d.ts.map +1 -1
  737. package/dest/tx/index.js +1 -0
  738. package/dest/tx/indexed_tx_effect.d.ts +6 -20
  739. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  740. package/dest/tx/indexed_tx_effect.js +2 -2
  741. package/dest/tx/partial_state_reference.d.ts +25 -65
  742. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  743. package/dest/tx/partial_state_reference.js +6 -3
  744. package/dest/tx/private_execution_result.d.ts +32 -21
  745. package/dest/tx/private_execution_result.d.ts.map +1 -1
  746. package/dest/tx/private_execution_result.js +7 -7
  747. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  748. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  749. package/dest/tx/profiling.d.ts +115 -278
  750. package/dest/tx/profiling.d.ts.map +1 -1
  751. package/dest/tx/profiling.js +59 -12
  752. package/dest/tx/protocol_contracts.d.ts +5 -9
  753. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  754. package/dest/tx/protocol_contracts.js +2 -2
  755. package/dest/tx/proven_tx.d.ts +30 -74
  756. package/dest/tx/proven_tx.d.ts.map +1 -1
  757. package/dest/tx/proven_tx.js +6 -0
  758. package/dest/tx/public_call_request_with_calldata.d.ts +10 -3
  759. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  760. package/dest/tx/public_call_request_with_calldata.js +6 -3
  761. package/dest/tx/public_simulation_output.d.ts +4 -2
  762. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  763. package/dest/tx/public_simulation_output.js +7 -3
  764. package/dest/tx/simulated_tx.d.ts +68 -1144
  765. package/dest/tx/simulated_tx.d.ts.map +1 -1
  766. package/dest/tx/simulated_tx.js +17 -12
  767. package/dest/tx/state_reference.d.ts +32 -117
  768. package/dest/tx/state_reference.d.ts.map +1 -1
  769. package/dest/tx/state_reference.js +6 -4
  770. package/dest/tx/tree_snapshots.d.ts +27 -84
  771. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  772. package/dest/tx/tree_snapshots.js +6 -4
  773. package/dest/tx/tx.d.ts +35 -17
  774. package/dest/tx/tx.d.ts.map +1 -1
  775. package/dest/tx/tx.js +46 -32
  776. package/dest/tx/tx_constant_data.d.ts +4 -3
  777. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  778. package/dest/tx/tx_constant_data.js +6 -3
  779. package/dest/tx/tx_context.d.ts +33 -131
  780. package/dest/tx/tx_context.d.ts.map +1 -1
  781. package/dest/tx/tx_context.js +6 -6
  782. package/dest/tx/tx_effect.d.ts +32 -6
  783. package/dest/tx/tx_effect.d.ts.map +1 -1
  784. package/dest/tx/tx_effect.js +0 -7
  785. package/dest/tx/tx_execution_request.d.ts +30 -1
  786. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  787. package/dest/tx/tx_hash.d.ts +7 -4
  788. package/dest/tx/tx_hash.d.ts.map +1 -1
  789. package/dest/tx/tx_hash.js +13 -5
  790. package/dest/tx/tx_receipt.d.ts +69 -18
  791. package/dest/tx/tx_receipt.d.ts.map +1 -1
  792. package/dest/tx/tx_receipt.js +58 -29
  793. package/dest/tx/tx_request.d.ts +6 -1
  794. package/dest/tx/tx_request.d.ts.map +1 -1
  795. package/dest/tx/tx_request.js +2 -2
  796. package/dest/tx/validator/empty_validator.d.ts +2 -2
  797. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  798. package/dest/tx/validator/error_texts.d.ts +11 -2
  799. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  800. package/dest/tx/validator/error_texts.js +13 -1
  801. package/dest/tx/validator/tx_validator.d.ts +6 -28
  802. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  803. package/dest/tx/validator/tx_validator.js +0 -4
  804. package/dest/types/shared.d.ts +7 -12
  805. package/dest/types/shared.d.ts.map +1 -1
  806. package/dest/types/shared.js +6 -12
  807. package/dest/update-checker/dev_version.d.ts +3 -0
  808. package/dest/update-checker/dev_version.d.ts.map +1 -0
  809. package/dest/update-checker/dev_version.js +1 -0
  810. package/dest/update-checker/index.d.ts +4 -2
  811. package/dest/update-checker/index.d.ts.map +1 -1
  812. package/dest/update-checker/index.js +3 -1
  813. package/dest/update-checker/package_version.d.ts +6 -0
  814. package/dest/update-checker/package_version.d.ts.map +1 -0
  815. package/dest/update-checker/package_version.js +13 -0
  816. package/dest/update-checker/version_checker.d.ts +25 -0
  817. package/dest/update-checker/version_checker.d.ts.map +1 -0
  818. package/dest/update-checker/version_checker.js +50 -0
  819. package/dest/validators/errors.d.ts +6 -1
  820. package/dest/validators/errors.d.ts.map +1 -1
  821. package/dest/validators/errors.js +7 -0
  822. package/dest/validators/schemas.d.ts +147 -614
  823. package/dest/validators/schemas.d.ts.map +1 -1
  824. package/dest/validators/schemas.js +9 -6
  825. package/dest/validators/types.d.ts +21 -4
  826. package/dest/validators/types.d.ts.map +1 -1
  827. package/dest/versioning/versioning.d.ts +4 -2
  828. package/dest/versioning/versioning.d.ts.map +1 -1
  829. package/dest/versioning/versioning.js +5 -2
  830. package/dest/vks/verification_key.d.ts +4 -118
  831. package/dest/vks/verification_key.d.ts.map +1 -1
  832. package/dest/vks/verification_key.js +5 -126
  833. package/dest/vks/vk_data.d.ts +7 -1
  834. package/dest/vks/vk_data.d.ts.map +1 -1
  835. package/dest/world-state/genesis_data.d.ts +13 -0
  836. package/dest/world-state/genesis_data.d.ts.map +1 -0
  837. package/dest/world-state/genesis_data.js +7 -0
  838. package/dest/world-state/index.d.ts +2 -1
  839. package/dest/world-state/index.d.ts.map +1 -1
  840. package/dest/world-state/index.js +1 -0
  841. package/dest/world-state/world_state_revision.d.ts +15 -26
  842. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  843. package/dest/world-state/world_state_revision.js +7 -1
  844. package/dest/zkpassport/index.d.ts +3 -4
  845. package/dest/zkpassport/index.d.ts.map +1 -1
  846. package/dest/zkpassport/index.js +9 -9
  847. package/package.json +32 -16
  848. package/src/abi/abi.ts +78 -21
  849. package/src/abi/authorization_selector.ts +2 -8
  850. package/src/abi/buffer.ts +25 -4
  851. package/src/abi/contract_artifact.ts +11 -6
  852. package/src/abi/decoder.ts +36 -82
  853. package/src/abi/encoder.ts +85 -6
  854. package/src/abi/event_metadata_definition.ts +2 -0
  855. package/src/abi/event_selector.ts +2 -8
  856. package/src/abi/function_call.ts +25 -3
  857. package/src/abi/function_selector.ts +4 -13
  858. package/src/abi/function_signature_decoder.ts +77 -0
  859. package/src/abi/index.ts +1 -0
  860. package/src/abi/note_selector.ts +3 -12
  861. package/src/abi/selector.ts +1 -1
  862. package/src/abi/utils.ts +44 -0
  863. package/src/auth_witness/auth_witness.ts +3 -3
  864. package/src/avm/avm.ts +5 -0
  865. package/src/avm/message_pack.ts +12 -3
  866. package/src/avm/revert_code.ts +20 -25
  867. package/src/aztec-address/index.ts +15 -12
  868. package/src/block/attestation_info.ts +11 -11
  869. package/src/block/block_data.ts +25 -0
  870. package/src/block/block_hash.ts +32 -24
  871. package/src/block/block_parameter.ts +74 -4
  872. package/src/block/body.ts +2 -1
  873. package/src/block/in_block.ts +6 -6
  874. package/src/block/index.ts +1 -3
  875. package/src/block/l2_block.ts +112 -148
  876. package/src/block/l2_block_info.ts +8 -6
  877. package/src/block/l2_block_source.ts +216 -106
  878. package/src/block/l2_block_stream/interfaces.ts +14 -7
  879. package/src/block/l2_block_stream/l2_block_stream.ts +87 -47
  880. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  881. package/src/block/l2_block_stream/l2_tips_store_base.ts +55 -21
  882. package/src/block/proposal/attestations_and_signers.ts +32 -17
  883. package/src/block/test/l2_tips_store_test_suite.ts +14 -12
  884. package/src/block/validate_block_result.ts +5 -4
  885. package/src/checkpoint/checkpoint.ts +82 -23
  886. package/src/checkpoint/checkpoint_data.ts +91 -0
  887. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  888. package/src/checkpoint/digest.ts +28 -0
  889. package/src/checkpoint/index.ts +5 -0
  890. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  891. package/src/checkpoint/published_checkpoint.ts +7 -4
  892. package/src/checkpoint/validate.ts +230 -0
  893. package/src/config/chain-config.ts +13 -16
  894. package/src/config/index.ts +2 -0
  895. package/src/config/node-rpc-config.ts +1 -1
  896. package/src/config/pipelining-config.ts +31 -0
  897. package/src/config/sequencer-config.ts +65 -0
  898. package/src/contract/complete_address.ts +7 -3
  899. package/src/contract/contract_address.ts +10 -10
  900. package/src/contract/contract_class.ts +3 -3
  901. package/src/contract/contract_class_id.ts +7 -6
  902. package/src/contract/contract_instance.ts +11 -2
  903. package/src/contract/index.ts +0 -4
  904. package/src/contract/interfaces/contract_class.ts +2 -82
  905. package/src/contract/interfaces/contract_instance.ts +6 -2
  906. package/src/contract/interfaces/node-info.ts +3 -0
  907. package/src/contract/private_function.ts +6 -5
  908. package/src/database-version/database_version.ts +87 -0
  909. package/src/database-version/version_manager.ts +18 -77
  910. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  911. package/src/deserialization/index.ts +21 -0
  912. package/src/epoch-helpers/index.ts +40 -1
  913. package/src/file-store/factory.ts +13 -4
  914. package/src/file-store/http.ts +29 -10
  915. package/src/file-store/index.ts +1 -0
  916. package/src/file-store/local.ts +15 -5
  917. package/src/file-store/s3.ts +12 -3
  918. package/src/gas/README.md +154 -0
  919. package/src/gas/fee_math.ts +120 -0
  920. package/src/gas/gas.ts +8 -3
  921. package/src/gas/gas_fees.ts +29 -10
  922. package/src/gas/gas_settings.ts +73 -15
  923. package/src/gas/index.ts +1 -0
  924. package/src/ha-signing/config.ts +152 -0
  925. package/src/ha-signing/index.ts +29 -0
  926. package/src/ha-signing/local_config.ts +46 -0
  927. package/src/ha-signing/types.ts +126 -0
  928. package/src/hash/hash.ts +76 -11
  929. package/src/hash/map_slot.ts +3 -2
  930. package/src/interfaces/allowed_element.ts +29 -9
  931. package/src/interfaces/api_limit.ts +1 -0
  932. package/src/interfaces/archiver.ts +83 -93
  933. package/src/interfaces/aztec-node-admin.ts +57 -18
  934. package/src/interfaces/aztec-node-debug.ts +40 -0
  935. package/src/interfaces/aztec-node.ts +293 -322
  936. package/src/interfaces/block-builder.ts +95 -29
  937. package/src/interfaces/block_response.ts +92 -0
  938. package/src/interfaces/chain_tips.ts +24 -0
  939. package/src/interfaces/checkpoint_parameter.ts +20 -0
  940. package/src/interfaces/checkpoint_response.ts +84 -0
  941. package/src/interfaces/client.ts +7 -1
  942. package/src/interfaces/configs.ts +76 -11
  943. package/src/interfaces/l1_publish_info.ts +40 -0
  944. package/src/interfaces/l2_logs_source.ts +13 -26
  945. package/src/interfaces/merkle_tree_operations.ts +12 -21
  946. package/src/interfaces/p2p-bootstrap.ts +2 -2
  947. package/src/interfaces/p2p.ts +38 -29
  948. package/src/interfaces/private_kernel_prover.ts +88 -0
  949. package/src/interfaces/prover-agent.ts +1 -1
  950. package/src/interfaces/prover-broker.ts +22 -0
  951. package/src/interfaces/prover-client.ts +32 -5
  952. package/src/interfaces/prover-node.ts +7 -7
  953. package/src/interfaces/proving-job-source.ts +4 -4
  954. package/src/interfaces/proving-job.ts +3 -3
  955. package/src/interfaces/public_storage_override.ts +26 -0
  956. package/src/interfaces/server.ts +5 -0
  957. package/src/interfaces/slasher.ts +21 -10
  958. package/src/interfaces/tx_provider.ts +8 -2
  959. package/src/interfaces/validator.ts +87 -38
  960. package/src/interfaces/world_state.ts +5 -4
  961. package/src/kernel/hints/build_note_hash_read_request_hints.ts +31 -24
  962. package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
  963. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  964. package/src/kernel/hints/index.ts +2 -2
  965. package/src/kernel/hints/key_validation_request.ts +18 -16
  966. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  967. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  968. package/src/kernel/index.ts +4 -0
  969. package/src/kernel/log_hash.ts +29 -9
  970. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  971. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  972. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  973. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  974. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  975. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  976. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  977. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  978. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  979. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  980. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  981. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  982. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  983. package/src/kernel/private_validation_requests.ts +8 -8
  984. package/src/kernel/public_call_request.ts +22 -7
  985. package/src/keys/derivation.ts +33 -21
  986. package/src/keys/key_types.ts +6 -2
  987. package/src/keys/public_key.ts +26 -2
  988. package/src/keys/public_keys.ts +125 -111
  989. package/src/keys/utils.ts +8 -4
  990. package/src/kv-store/config.ts +29 -0
  991. package/src/kv-store/index.ts +1 -0
  992. package/src/l1-contracts/index.ts +1 -1
  993. package/src/logs/app_tagging_secret.ts +137 -0
  994. package/src/logs/app_tagging_secret_kind.ts +6 -0
  995. package/src/logs/contract_class_log.ts +15 -5
  996. package/src/logs/debug_log_store.ts +54 -0
  997. package/src/logs/index.ts +8 -6
  998. package/src/logs/log_cursor.ts +110 -0
  999. package/src/logs/log_result.ts +104 -0
  1000. package/src/logs/logs_query.ts +138 -0
  1001. package/src/logs/message_context.ts +17 -7
  1002. package/src/logs/pending_tagged_log.ts +1 -3
  1003. package/src/logs/pre_tag.ts +3 -6
  1004. package/src/logs/private_log.ts +9 -3
  1005. package/src/logs/public_log.ts +4 -2
  1006. package/src/logs/query_all_logs_by_tags.ts +98 -0
  1007. package/src/logs/shared_secret_derivation.ts +21 -10
  1008. package/src/logs/siloed_tag.ts +28 -13
  1009. package/src/logs/tag.ts +9 -9
  1010. package/src/logs/tagging_index_range.ts +18 -0
  1011. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  1012. package/src/messaging/index.ts +1 -0
  1013. package/src/messaging/l1_to_l2_message.ts +12 -9
  1014. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  1015. package/src/messaging/l2_to_l1_membership.ts +178 -39
  1016. package/src/messaging/l2_to_l1_message.ts +29 -9
  1017. package/src/messaging/out_hash.ts +60 -29
  1018. package/src/noir/index.ts +4 -2
  1019. package/src/note/index.ts +0 -1
  1020. package/src/note/note_dao.ts +17 -15
  1021. package/src/p2p/attestation_utils.ts +56 -0
  1022. package/src/p2p/block_proposal.ts +141 -45
  1023. package/src/p2p/checkpoint_attestation.ts +33 -32
  1024. package/src/p2p/checkpoint_proposal.ts +181 -90
  1025. package/src/p2p/client_type.ts +0 -6
  1026. package/src/p2p/consensus_payload.ts +68 -29
  1027. package/src/p2p/constants.ts +6 -0
  1028. package/src/p2p/gossipable.ts +4 -4
  1029. package/src/p2p/index.ts +1 -1
  1030. package/src/p2p/message_validator.ts +14 -2
  1031. package/src/p2p/peer_error.ts +7 -0
  1032. package/src/p2p/signature_utils.ts +110 -25
  1033. package/src/p2p/signed_txs.ts +52 -29
  1034. package/src/p2p/topic_type.ts +8 -15
  1035. package/src/parity/parity_base_private_inputs.ts +10 -4
  1036. package/src/parity/parity_public_inputs.ts +9 -2
  1037. package/src/proofs/chonk_proof.ts +141 -17
  1038. package/src/rollup/block_headers_hash.ts +12 -3
  1039. package/src/rollup/block_rollup_public_inputs.ts +15 -2
  1040. package/src/rollup/checkpoint_header.ts +22 -2
  1041. package/src/rollup/checkpoint_rollup_public_inputs.ts +26 -10
  1042. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  1043. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  1044. package/src/schemas/schemas.ts +6 -1
  1045. package/src/slashing/helpers.ts +21 -9
  1046. package/src/slashing/index.ts +1 -2
  1047. package/src/slashing/serialization.ts +1 -81
  1048. package/src/slashing/types.ts +38 -49
  1049. package/src/slashing/{tally.ts → votes.ts} +41 -2
  1050. package/src/stats/stats.ts +4 -2
  1051. package/src/tests/factories.ts +126 -145
  1052. package/src/tests/jest.ts +1 -1
  1053. package/src/tests/mocks.ts +154 -112
  1054. package/src/timetable/index.ts +361 -0
  1055. package/src/trees/append_only_tree_snapshot.ts +8 -3
  1056. package/src/trees/nullifier_leaf.ts +4 -0
  1057. package/src/trees/nullifier_membership_witness.ts +2 -12
  1058. package/src/trees/public_data_leaf.ts +11 -5
  1059. package/src/tx/block_header.ts +26 -7
  1060. package/src/tx/capsule.ts +10 -2
  1061. package/src/tx/fee_provider.ts +10 -0
  1062. package/src/tx/global_variable_builder.ts +2 -3
  1063. package/src/tx/global_variables.ts +13 -21
  1064. package/src/tx/hashed_values.ts +8 -3
  1065. package/src/tx/index.ts +1 -0
  1066. package/src/tx/indexed_tx_effect.ts +2 -2
  1067. package/src/tx/partial_state_reference.ts +8 -3
  1068. package/src/tx/private_execution_result.ts +6 -6
  1069. package/src/tx/profiling.ts +60 -9
  1070. package/src/tx/protocol_contracts.ts +2 -2
  1071. package/src/tx/proven_tx.ts +6 -0
  1072. package/src/tx/public_call_request_with_calldata.ts +8 -3
  1073. package/src/tx/public_simulation_output.ts +4 -0
  1074. package/src/tx/simulated_tx.ts +30 -22
  1075. package/src/tx/state_reference.ts +9 -4
  1076. package/src/tx/tree_snapshots.ts +9 -4
  1077. package/src/tx/tx.ts +61 -44
  1078. package/src/tx/tx_constant_data.ts +8 -3
  1079. package/src/tx/tx_context.ts +8 -3
  1080. package/src/tx/tx_effect.ts +0 -9
  1081. package/src/tx/tx_hash.ts +20 -5
  1082. package/src/tx/tx_receipt.ts +89 -29
  1083. package/src/tx/tx_request.ts +2 -2
  1084. package/src/tx/validator/empty_validator.ts +1 -1
  1085. package/src/tx/validator/error_texts.ts +16 -1
  1086. package/src/tx/validator/tx_validator.ts +2 -6
  1087. package/src/types/shared.ts +8 -13
  1088. package/src/update-checker/dev_version.ts +2 -0
  1089. package/src/update-checker/index.ts +3 -1
  1090. package/src/update-checker/package_version.ts +17 -0
  1091. package/src/update-checker/version_checker.ts +65 -0
  1092. package/src/validators/errors.ts +9 -0
  1093. package/src/validators/schemas.ts +13 -4
  1094. package/src/validators/types.ts +25 -5
  1095. package/src/versioning/versioning.ts +5 -2
  1096. package/src/vks/verification_key.ts +5 -184
  1097. package/src/world-state/genesis_data.ts +27 -0
  1098. package/src/world-state/index.ts +1 -0
  1099. package/src/world-state/world_state_revision.ts +9 -1
  1100. package/src/zkpassport/index.ts +11 -12
  1101. package/dest/abi/mocked_keys.d.ts +0 -2
  1102. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1103. package/dest/abi/mocked_keys.js +0 -1
  1104. package/dest/block/checkpointed_l2_block.d.ts +0 -267
  1105. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1106. package/dest/block/checkpointed_l2_block.js +0 -84
  1107. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  1108. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  1109. package/dest/block/l2_block_code_to_purge.js +0 -55
  1110. package/dest/block/l2_block_header.d.ts +0 -94
  1111. package/dest/block/l2_block_header.d.ts.map +0 -1
  1112. package/dest/block/l2_block_header.js +0 -160
  1113. package/dest/block/l2_block_new.d.ts +0 -134
  1114. package/dest/block/l2_block_new.d.ts.map +0 -1
  1115. package/dest/block/l2_block_new.js +0 -155
  1116. package/dest/contract/contract_class_metadata.d.ts +0 -8
  1117. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  1118. package/dest/contract/contract_class_metadata.js +0 -1
  1119. package/dest/contract/contract_metadata.d.ts +0 -7
  1120. package/dest/contract/contract_metadata.d.ts.map +0 -1
  1121. package/dest/contract/contract_metadata.js +0 -1
  1122. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1123. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1124. package/dest/contract/private_function_membership_proof.js +0 -124
  1125. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1126. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1127. package/dest/contract/utility_function_membership_proof.js +0 -87
  1128. package/dest/database-version/index.d.ts +0 -2
  1129. package/dest/database-version/index.d.ts.map +0 -1
  1130. package/dest/database-version/index.js +0 -1
  1131. package/dest/interfaces/get_logs_response.d.ts +0 -90
  1132. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1133. package/dest/interfaces/get_logs_response.js +0 -12
  1134. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  1135. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1136. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1137. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1138. package/dest/l1-contracts/slash_factory.js +0 -157
  1139. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  1140. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1141. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1142. package/dest/logs/extended_contract_class_log.d.ts +0 -49
  1143. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1144. package/dest/logs/extended_contract_class_log.js +0 -67
  1145. package/dest/logs/extended_public_log.d.ts +0 -98
  1146. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1147. package/dest/logs/extended_public_log.js +0 -73
  1148. package/dest/logs/log_filter.d.ts +0 -22
  1149. package/dest/logs/log_filter.d.ts.map +0 -1
  1150. package/dest/logs/log_filter.js +0 -11
  1151. package/dest/logs/log_id.d.ts +0 -78
  1152. package/dest/logs/log_id.d.ts.map +0 -1
  1153. package/dest/logs/log_id.js +0 -91
  1154. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1155. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1156. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1157. package/dest/note/notes_filter.d.ts +0 -27
  1158. package/dest/note/notes_filter.d.ts.map +0 -1
  1159. package/dest/note/notes_filter.js +0 -11
  1160. package/dest/slashing/empire.d.ts +0 -31
  1161. package/dest/slashing/empire.d.ts.map +0 -1
  1162. package/dest/slashing/empire.js +0 -85
  1163. package/dest/slashing/tally.d.ts.map +0 -1
  1164. package/dest/update-checker/update-checker.d.ts +0 -49
  1165. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1166. package/dest/update-checker/update-checker.js +0 -130
  1167. package/src/abi/mocked_keys.ts +0 -2
  1168. package/src/block/checkpointed_l2_block.ts +0 -120
  1169. package/src/block/l2_block_code_to_purge.ts +0 -80
  1170. package/src/block/l2_block_header.ts +0 -255
  1171. package/src/block/l2_block_new.ts +0 -211
  1172. package/src/contract/contract_class_metadata.ts +0 -8
  1173. package/src/contract/contract_metadata.ts +0 -7
  1174. package/src/contract/private_function_membership_proof.ts +0 -167
  1175. package/src/contract/utility_function_membership_proof.ts +0 -118
  1176. package/src/database-version/index.ts +0 -1
  1177. package/src/interfaces/get_logs_response.ts +0 -35
  1178. package/src/l1-contracts/slash_factory.ts +0 -179
  1179. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1180. package/src/logs/extended_contract_class_log.ts +0 -87
  1181. package/src/logs/extended_public_log.ts +0 -94
  1182. package/src/logs/log_filter.ts +0 -31
  1183. package/src/logs/log_id.ts +0 -121
  1184. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1185. package/src/note/notes_filter.ts +0 -38
  1186. package/src/slashing/empire.ts +0 -102
  1187. package/src/update-checker/update-checker.ts +0 -166
@@ -4,9 +4,12 @@ import { createLogger } from '@aztec/foundation/log';
4
4
  import { RunningPromise } from '@aztec/foundation/running-promise';
5
5
 
6
6
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
7
- import { type L2BlockId, type L2BlockPruneReason, type L2BlockSource, makeL2BlockId } from '../l2_block_source.js';
7
+ import { type L2BlockId, type L2BlockSource, makeL2BlockId } from '../l2_block_source.js';
8
8
  import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
9
9
 
10
+ /** Maximum number of checkpoints to prefetch at once during sync. Matches MAX_RPC_CHECKPOINTS_LEN. */
11
+ export const CHECKPOINT_PREFETCH_LIMIT = 50;
12
+
10
13
  /** Creates a stream of events for new blocks, chain tips updates, and reorgs, out of polling an archiver or a node. */
11
14
  export class L2BlockStream {
12
15
  private readonly runningPromise: RunningPromise;
@@ -14,15 +17,11 @@ export class L2BlockStream {
14
17
  private hasStarted = false;
15
18
 
16
19
  constructor(
17
- private l2BlockSource: Pick<
18
- L2BlockSource,
19
- 'getL2BlocksNew' | 'getBlockHeader' | 'getL2Tips' | 'getPublishedCheckpoints' | 'getCheckpointedBlocks'
20
- >,
20
+ private l2BlockSource: Pick<L2BlockSource, 'getBlocks' | 'getBlockData' | 'getL2Tips' | 'getCheckpoints'>,
21
21
  private localData: L2BlockStreamLocalDataProvider,
22
22
  private handler: L2BlockStreamEventHandler,
23
23
  private readonly log = createLogger('types:block_stream'),
24
24
  private opts: {
25
- proven?: boolean;
26
25
  pollIntervalMS?: number;
27
26
  batchSize?: number;
28
27
  startingBlock?: number;
@@ -30,6 +29,8 @@ export class L2BlockStream {
30
29
  skipFinalized?: boolean;
31
30
  /** When true, checkpoint events will not be emitted. Blocks are still fetched via checkpoints but only blocks-added events are emitted. */
32
31
  ignoreCheckpoints?: boolean;
32
+ /** Maximum number of checkpoints to prefetch at once during sync. Defaults to CHECKPOINT_PREFETCH_LIMIT (50). */
33
+ checkpointPrefetchLimit?: number;
33
34
  } = {},
34
35
  ) {
35
36
  // Note that RunningPromise is in stopped state by default. This promise won't run until someone invokes `start`,
@@ -73,6 +74,22 @@ export class L2BlockStream {
73
74
  let latestBlockNumber = localTips.proposed.number;
74
75
  const sourceCache = new BlockHashCache([sourceTips.proposed]);
75
76
  while (!(await this.areBlockHashesEqualAt(latestBlockNumber, { sourceCache }))) {
77
+ if (latestBlockNumber === 0) {
78
+ // We walked all the way back to genesis and the hashes still differ. This means the
79
+ // local store and the source disagree on the genesis block itself — typically because
80
+ // they were configured with different `genesisTimestamp`/prefilled state. Continuing
81
+ // would underflow into negative block numbers and surface as "block hash not found
82
+ // for -1" further down. Fail loudly with a meaningful error instead.
83
+ this.log.error(`Genesis block hash mismatch between local store and source`, {
84
+ localBlockHash: await this.localData.getL2BlockHash(BlockNumber.ZERO),
85
+ sourceBlockHash: sourceCache.get(0) ?? (await this.getBlockHashFromSource(BlockNumber.ZERO)),
86
+ });
87
+ throw new Error(
88
+ 'Genesis block hash mismatch between local store and source: refusing to walk past block 0. ' +
89
+ 'This usually indicates the two sides were configured with different genesis values ' +
90
+ '(e.g. genesisTimestamp or prefilled public data).',
91
+ );
92
+ }
76
93
  latestBlockNumber--;
77
94
  }
78
95
 
@@ -85,25 +102,17 @@ export class L2BlockStream {
85
102
  this.log.verbose(
86
103
  `Reorg detected. Pruning blocks from ${latestBlockNumber + 1} to ${localTips.proposed.number}.`,
87
104
  );
88
- // This check is not 100% accurate
89
- // If the local tips are sufficiently behind the source tips, such that we are missing at least one checkpoint
90
- // that has now been re-orged due to a proof failure then this will indicate a failure to checkpoint rather than a failure to prove
91
- // TODO: (mbps/PhilWindle): Improve re-org detection accuracy when we come to do re-orgs
92
- let reason: L2BlockPruneReason = 'unproven';
93
- if (latestBlockNumber === localTips.checkpointed.block.number && !this.opts.ignoreCheckpoints) {
94
- reason = 'uncheckpointed';
95
- }
96
105
  await this.emitEvent({
97
106
  type: 'chain-pruned',
98
107
  block: makeL2BlockId(latestBlockNumber, hash),
99
- reason,
100
108
  checkpoint: sourceTips.checkpointed.checkpoint,
101
109
  });
102
110
  }
103
111
 
104
112
  // If we are just starting, use the starting block number from the options.
105
- if (latestBlockNumber === 0 && this.opts.startingBlock !== undefined) {
106
- latestBlockNumber = BlockNumber(Math.max(this.opts.startingBlock - 1, 0));
113
+ const startingBlock = this.opts.startingBlock !== undefined ? BlockNumber(this.opts.startingBlock) : undefined;
114
+ if (latestBlockNumber === 0 && startingBlock !== undefined) {
115
+ latestBlockNumber = BlockNumber(Math.max(startingBlock - 1, 0));
107
116
  }
108
117
 
109
118
  // Only log this entry once (for sanity)
@@ -114,6 +123,24 @@ export class L2BlockStream {
114
123
 
115
124
  let nextBlockNumber = latestBlockNumber + 1;
116
125
  let nextCheckpointToEmit = CheckpointNumber(localTips.checkpointed.checkpoint.number + 1);
126
+
127
+ // When startingBlock is set, also skip ahead for checkpoints.
128
+ if (
129
+ startingBlock !== undefined &&
130
+ startingBlock >= 1 &&
131
+ nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number
132
+ ) {
133
+ if (startingBlock > sourceTips.checkpointed.block.number) {
134
+ // startingBlock is past all checkpointed blocks; skip Loop 1 entirely.
135
+ nextCheckpointToEmit = CheckpointNumber(sourceTips.checkpointed.checkpoint.number + 1);
136
+ } else {
137
+ const startingBlockData = await this.l2BlockSource.getBlockData({ number: startingBlock });
138
+ if (startingBlockData) {
139
+ nextCheckpointToEmit = CheckpointNumber(Math.max(nextCheckpointToEmit, startingBlockData.checkpointNumber));
140
+ }
141
+ }
142
+ }
143
+
117
144
  if (this.opts.skipFinalized) {
118
145
  // When skipping finalized blocks we need to provide reliable reorg detection while fetching as few blocks as
119
146
  // possible. Finalized blocks cannot be reorged by definition, so we can skip most of them. We do need the very
@@ -133,7 +160,7 @@ export class L2BlockStream {
133
160
  if (!this.opts.ignoreCheckpoints) {
134
161
  let loop1Iterations = 0;
135
162
  while (nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number) {
136
- const checkpoints = await this.l2BlockSource.getPublishedCheckpoints(nextCheckpointToEmit, 1);
163
+ const checkpoints = await this.l2BlockSource.getCheckpoints({ from: nextCheckpointToEmit, limit: 1 });
137
164
  if (checkpoints.length === 0) {
138
165
  break;
139
166
  }
@@ -159,27 +186,39 @@ export class L2BlockStream {
159
186
  }
160
187
  }
161
188
 
162
- // Loop 2: Fetch new checkpointed blocks. For each block, get its checkpoint, emit all blocks
189
+ // Loop 2: Fetch new checkpointed blocks. For each checkpoint, emit all blocks
163
190
  // from that checkpoint that we need, then emit the checkpoint event.
164
- // We cache the current checkpoint to avoid redundant fetches when batchSize < checkpoint size.
165
- let checkpoint: PublishedCheckpoint | undefined;
166
- while (nextBlockNumber <= sourceTips.checkpointed.block.number) {
167
- const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
191
+ // We prefetch multiple checkpoints, then process them one by one.
192
+ let prefetchedCheckpoints: PublishedCheckpoint[] = [];
193
+ let prefetchIdx = 0;
194
+ let nextCheckpointNumber: CheckpointNumber | undefined;
168
195
 
169
- // Check if we need to fetch a new checkpoint (nextBlockNumber is beyond the cached one)
170
- if (!checkpoint || nextBlockNumber > checkpoint.checkpoint.blocks.at(-1)!.number) {
171
- const blocks = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(nextBlockNumber), 1);
172
- if (blocks.length === 0) {
173
- break;
174
- }
175
- const checkpoints = await this.l2BlockSource.getPublishedCheckpoints(blocks[0].checkpointNumber, 1);
176
- if (checkpoints.length === 0) {
196
+ // Find the starting checkpoint number
197
+ if (nextBlockNumber <= sourceTips.checkpointed.block.number) {
198
+ const blockData = await this.l2BlockSource.getBlockData({ number: BlockNumber(nextBlockNumber) });
199
+ if (blockData) {
200
+ nextCheckpointNumber = blockData.checkpointNumber;
201
+ }
202
+ }
203
+
204
+ while (nextBlockNumber <= sourceTips.checkpointed.block.number && nextCheckpointNumber !== undefined) {
205
+ // Refill the prefetch buffer when exhausted
206
+ if (prefetchIdx >= prefetchedCheckpoints.length) {
207
+ const prefetchLimit = this.opts.checkpointPrefetchLimit ?? CHECKPOINT_PREFETCH_LIMIT;
208
+ prefetchedCheckpoints = await this.l2BlockSource.getCheckpoints({
209
+ from: nextCheckpointNumber,
210
+ limit: prefetchLimit,
211
+ });
212
+ prefetchIdx = 0;
213
+ if (prefetchedCheckpoints.length === 0) {
177
214
  break;
178
215
  }
179
- checkpoint = checkpoints[0];
180
216
  }
181
217
 
218
+ const checkpoint = prefetchedCheckpoints[prefetchIdx]!;
219
+
182
220
  // Get all blocks from this checkpoint that we need, respecting batchSize
221
+ const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.checkpointed.block.number - nextBlockNumber + 1);
183
222
  const blocksForCheckpoint = checkpoint.checkpoint.blocks
184
223
  .filter(b => b.number >= nextBlockNumber)
185
224
  .slice(0, limit);
@@ -189,23 +228,27 @@ export class L2BlockStream {
189
228
  await this.emitEvent({ type: 'blocks-added', blocks: blocksForCheckpoint });
190
229
  nextBlockNumber = blocksForCheckpoint.at(-1)!.number + 1;
191
230
 
192
- // If we've reached the end of this checkpoint, emit the checkpoint event
231
+ // If we've reached the end of this checkpoint, emit the checkpoint event and move to next
193
232
  const lastBlockInCheckpoint = checkpoint.checkpoint.blocks.at(-1)!;
194
- if (!this.opts.ignoreCheckpoints && nextBlockNumber > lastBlockInCheckpoint.number) {
195
- const lastBlockHash = await lastBlockInCheckpoint.hash();
196
- await this.emitEvent({
197
- type: 'chain-checkpointed',
198
- checkpoint,
199
- block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString()),
200
- });
233
+ if (nextBlockNumber > lastBlockInCheckpoint.number) {
234
+ if (!this.opts.ignoreCheckpoints) {
235
+ const lastBlockHash = await lastBlockInCheckpoint.hash();
236
+ await this.emitEvent({
237
+ type: 'chain-checkpointed',
238
+ checkpoint,
239
+ block: makeL2BlockId(lastBlockInCheckpoint.number, lastBlockHash.toString()),
240
+ });
241
+ }
242
+ prefetchIdx++;
243
+ nextCheckpointNumber = CheckpointNumber(nextCheckpointNumber + 1);
201
244
  }
202
245
  }
203
246
 
204
247
  // Loop 3: Fetch any remaining uncheckpointed (proposed) blocks.
205
248
  while (nextBlockNumber <= sourceTips.proposed.number) {
206
249
  const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
207
- this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit} proven=${this.opts.proven}`);
208
- const blocks = await this.l2BlockSource.getL2BlocksNew(BlockNumber(nextBlockNumber), limit, this.opts.proven);
250
+ this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
251
+ const blocks = await this.l2BlockSource.getBlocks({ from: BlockNumber(nextBlockNumber), limit });
209
252
  if (blocks.length === 0) {
210
253
  break;
211
254
  }
@@ -237,9 +280,6 @@ export class L2BlockStream {
237
280
  * @param args - A cache of data already requested from source, to avoid re-requesting it.
238
281
  */
239
282
  private async areBlockHashesEqualAt(blockNumber: BlockNumber, args: { sourceCache: BlockHashCache }) {
240
- if (blockNumber === 0) {
241
- return true;
242
- }
243
283
  const localBlockHash = await this.localData.getL2BlockHash(blockNumber);
244
284
  if (!localBlockHash && this.opts.skipFinalized) {
245
285
  // Failing to find a block hash when skipping finalized blocks can be highly problematic as we'd potentially need
@@ -262,8 +302,8 @@ export class L2BlockStream {
262
302
 
263
303
  private getBlockHashFromSource(blockNumber: BlockNumber) {
264
304
  return this.l2BlockSource
265
- .getBlockHeader(blockNumber)
266
- .then(h => h?.hash())
305
+ .getBlockData({ number: blockNumber })
306
+ .then(d => d?.header.hash())
267
307
  .then(hash => hash?.toString());
268
308
  }
269
309
 
@@ -1,6 +1,7 @@
1
1
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
 
3
3
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
4
+ import type { BlockHash } from '../block_hash.js';
4
5
  import type { L2BlockTag } from '../l2_block_source.js';
5
6
  import { L2TipsStoreBase } from './l2_tips_store_base.js';
6
7
 
@@ -9,6 +10,10 @@ import { L2TipsStoreBase } from './l2_tips_store_base.js';
9
10
  * @dev Tests in kv-store/src/stores/l2_tips_memory_store.test.ts
10
11
  */
11
12
  export class L2TipsMemoryStore extends L2TipsStoreBase {
13
+ constructor(initialBlockHash: BlockHash) {
14
+ super(initialBlockHash);
15
+ }
16
+
12
17
  private readonly tips = new Map<L2BlockTag, BlockNumber>();
13
18
  private readonly blockHashes = new Map<number, string>();
14
19
  private readonly blockToCheckpoint = new Map<number, CheckpointNumber>();
@@ -1,8 +1,8 @@
1
- import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
1
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
3
2
 
4
3
  import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
5
- import type { L2BlockNew } from '../l2_block_new.js';
4
+ import type { BlockHash } from '../block_hash.js';
5
+ import type { L2Block } from '../l2_block.js';
6
6
  import {
7
7
  type CheckpointId,
8
8
  GENESIS_CHECKPOINT_HEADER_HASH,
@@ -17,6 +17,7 @@ import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalD
17
17
  * while delegating storage operations to subclasses.
18
18
  */
19
19
  export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
20
+ constructor(protected readonly initialBlockHash: BlockHash) {}
20
21
  // Abstract storage primitives - subclasses implement these based on their backing store
21
22
 
22
23
  /** Gets the block number for a given tag. */
@@ -60,30 +61,38 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
60
61
 
61
62
  // Public interface implementation
62
63
 
63
- public getL2BlockHash(number: BlockNumber): Promise<string | undefined> {
64
+ public async getL2BlockHash(number: BlockNumber): Promise<string | undefined> {
65
+ if (number === 0) {
66
+ return (await this.getStoredBlockHash(number)) ?? this.initialBlockHash.toString();
67
+ }
64
68
  return this.getStoredBlockHash(number);
65
69
  }
66
70
 
67
71
  public getL2Tips(): Promise<L2Tips> {
68
72
  return this.runInTransaction(async () => {
69
- const [proposedBlockId, finalizedBlockId, provenBlockId, checkpointedBlockId] = await Promise.all([
70
- this.getBlockId('proposed'),
71
- this.getBlockId('finalized'),
72
- this.getBlockId('proven'),
73
- this.getBlockId('checkpointed'),
74
- ]);
75
-
76
- const [finalizedCheckpointId, provenCheckpointId, checkpointedCheckpointId] = await Promise.all([
77
- this.getCheckpointId('finalized'),
78
- this.getCheckpointId('proven'),
79
- this.getCheckpointId('checkpointed'),
80
- ]);
73
+ const [proposedBlockId, finalizedBlockId, provenBlockId, checkpointedBlockId, proposedCheckpointBlockId] =
74
+ await Promise.all([
75
+ this.getBlockId('proposed'),
76
+ this.getBlockId('finalized'),
77
+ this.getBlockId('proven'),
78
+ this.getBlockId('checkpointed'),
79
+ this.getBlockId('proposedCheckpoint'),
80
+ ]);
81
+
82
+ const [finalizedCheckpointId, provenCheckpointId, checkpointedCheckpointId, proposedCheckpointId] =
83
+ await Promise.all([
84
+ this.getCheckpointId('finalized'),
85
+ this.getCheckpointId('proven'),
86
+ this.getCheckpointId('checkpointed'),
87
+ this.getCheckpointId('proposedCheckpoint'),
88
+ ]);
81
89
 
82
90
  return {
83
91
  proposed: proposedBlockId,
84
92
  finalized: { block: finalizedBlockId, checkpoint: finalizedCheckpointId },
85
93
  proven: { block: provenBlockId, checkpoint: provenCheckpointId },
86
94
  checkpointed: { block: checkpointedBlockId, checkpoint: checkpointedCheckpointId },
95
+ proposedCheckpoint: { block: proposedCheckpointBlockId, checkpoint: proposedCheckpointId },
87
96
  };
88
97
  });
89
98
  }
@@ -109,7 +118,7 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
109
118
  }
110
119
 
111
120
  // Protected helper that subclasses can override for block hash computation
112
- protected computeBlockHash(block: L2BlockNew): Promise<string> {
121
+ protected computeBlockHash(block: L2Block): Promise<string> {
113
122
  return block.hash().then(hash => hash.toString());
114
123
  }
115
124
 
@@ -118,7 +127,7 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
118
127
  private async getBlockId(tag: L2BlockTag): Promise<L2BlockId> {
119
128
  const blockNumber = await this.getTip(tag);
120
129
  if (blockNumber === undefined || blockNumber === 0) {
121
- return { number: BlockNumber.ZERO, hash: GENESIS_BLOCK_HEADER_HASH.toString() };
130
+ return { number: BlockNumber.ZERO, hash: this.initialBlockHash.toString() };
122
131
  }
123
132
  const blockHash = await this.getStoredBlockHash(blockNumber);
124
133
  if (!blockHash) {
@@ -134,7 +143,6 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
134
143
  }
135
144
  const checkpointNumber = await this.getCheckpointNumberForBlock(blockNumber);
136
145
  if (checkpointNumber === undefined) {
137
- // No checkpoint associated with this block yet
138
146
  return { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() };
139
147
  }
140
148
  const checkpoint = await this.getCheckpoint(checkpointNumber);
@@ -164,6 +172,12 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
164
172
  await this.runInTransaction(async () => {
165
173
  await this.saveTag('checkpointed', event.block);
166
174
  await this.saveCheckpoint(event.checkpoint);
175
+ // proposedCheckpoint is always >= checkpointed. If checkpointed has caught up
176
+ // or surpassed it, advance proposedCheckpoint to match.
177
+ const proposedCheckpointBlock = await this.getBlockId('proposedCheckpoint');
178
+ if (event.block.number > proposedCheckpointBlock.number) {
179
+ await this.saveTag('proposedCheckpoint', event.block);
180
+ }
167
181
  });
168
182
  }
169
183
 
@@ -174,6 +188,7 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
174
188
  await this.runInTransaction(async () => {
175
189
  await this.saveTag('proposed', event.block);
176
190
  await this.saveTag('checkpointed', event.block);
191
+ await this.saveTag('proposedCheckpoint', event.block);
177
192
  const storeProven = await this.getBlockId('proven');
178
193
  if (storeProven.number > event.block.number) {
179
194
  await this.saveTag('proven', event.block);
@@ -198,11 +213,30 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
198
213
  await this.saveTag('finalized', event.block);
199
214
  const finalizedCheckpointNumber = await this.getCheckpointNumberForBlock(event.block.number);
200
215
 
201
- await this.deleteBlockHashesBefore(event.block.number);
202
- await this.deleteBlockToCheckpointBefore(event.block.number);
216
+ // Cap the deletion bound at the lowest live tip. This should always be the finalized tip, but
217
+ // we have hit bugs where this is not the case. Deleting the block hash, block-to-checkpoint mapping,
218
+ // or enclosing checkpoint object for a live tip would dangle subsequent `getBlockId`/`getCheckpointId`
219
+ // lookups and lock the block stream into an error loop.
220
+ const tips = await Promise.all([
221
+ this.getTip('proposed'),
222
+ this.getTip('proposedCheckpoint'),
223
+ this.getTip('checkpointed'),
224
+ this.getTip('proven'),
225
+ ]);
226
+ const liveTipBlocks = tips.filter((t): t is BlockNumber => t !== undefined && t > 0);
227
+ const safeBlockBound = BlockNumber(Math.min(event.block.number, ...liveTipBlocks));
228
+ await this.deleteBlockHashesBefore(safeBlockBound);
229
+ await this.deleteBlockToCheckpointBefore(safeBlockBound);
203
230
 
204
231
  if (finalizedCheckpointNumber !== undefined) {
205
- await this.deleteCheckpointsBefore(finalizedCheckpointNumber);
232
+ const tipCheckpoints = await Promise.all(liveTipBlocks.map(b => this.getCheckpointNumberForBlock(b)));
233
+ const safeCheckpointBound = CheckpointNumber(
234
+ Math.min(
235
+ finalizedCheckpointNumber,
236
+ ...tipCheckpoints.filter((c): c is CheckpointNumber => c !== undefined && c > 0),
237
+ ),
238
+ );
239
+ await this.deleteCheckpointsBefore(safeCheckpointBound);
206
240
  }
207
241
  });
208
242
  }
@@ -4,26 +4,37 @@ import { hexToBuffer } from '@aztec/foundation/string';
4
4
  import { encodeAbiParameters, parseAbiParameters } from 'viem';
5
5
  import { z } from 'zod';
6
6
 
7
- import type { Signable, SignatureDomainSeparator } from '../../p2p/signature_utils.js';
7
+ import {
8
+ type CoordinationSignatureContext,
9
+ type CoordinationSignatureType,
10
+ type Signable,
11
+ coordinationSignatureContextSchema,
12
+ } from '../../p2p/signature_utils.js';
8
13
  import { CommitteeAttestation, EthAddress } from './committee_attestation.js';
9
14
 
10
15
  export class CommitteeAttestationsAndSigners implements Signable {
11
- constructor(public attestations: CommitteeAttestation[]) {}
16
+ readonly primaryType: CoordinationSignatureType = 'AttestationsAndSigners';
17
+
18
+ constructor(
19
+ public attestations: CommitteeAttestation[],
20
+ public readonly signatureContext: CoordinationSignatureContext,
21
+ ) {}
12
22
 
13
23
  static get schema() {
14
24
  return z
15
25
  .object({
16
26
  attestations: CommitteeAttestation.schema.array(),
27
+ signatureContext: coordinationSignatureContextSchema,
17
28
  })
18
- .transform(obj => new CommitteeAttestationsAndSigners(obj.attestations));
29
+ .transform(obj => new CommitteeAttestationsAndSigners(obj.attestations, obj.signatureContext));
19
30
  }
20
31
 
21
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
22
- const abi = parseAbiParameters('uint8,(bytes,bytes),address[]');
32
+ getPayloadToSign(): Buffer {
33
+ // Matches the L1 abi.encode(attestations, signers) in AttestationLib.sol#getAttestationsAndSignersDigest.
34
+ const abi = parseAbiParameters('(bytes,bytes),address[]');
23
35
  const packed = this.getPackedAttestations();
24
36
 
25
37
  const encodedData = encodeAbiParameters(abi, [
26
- domainSeparator,
27
38
  [packed.signatureIndices, packed.signaturesOrAddresses],
28
39
  this.getSigners().map(s => s.toString()),
29
40
  ]);
@@ -31,8 +42,8 @@ export class CommitteeAttestationsAndSigners implements Signable {
31
42
  return hexToBuffer(encodedData);
32
43
  }
33
44
 
34
- static empty(): CommitteeAttestationsAndSigners {
35
- return new CommitteeAttestationsAndSigners([]);
45
+ static empty(signatureContext: CoordinationSignatureContext): CommitteeAttestationsAndSigners {
46
+ return new CommitteeAttestationsAndSigners([], signatureContext);
36
47
  }
37
48
 
38
49
  toString() {
@@ -53,9 +64,9 @@ export class CommitteeAttestationsAndSigners implements Signable {
53
64
  * @param attestations - Array of committee attestations with addresses and signatures
54
65
  * @returns Packed attestations with bitmap and tightly packed signature/address data
55
66
  */
56
- getPackedAttestations(): ViemCommitteeAttestations {
57
- const length = this.attestations.length;
58
- const attestations = this.attestations.map(a => a.toViem());
67
+ static packAttestations(attestations: CommitteeAttestation[]): ViemCommitteeAttestations {
68
+ const length = attestations.length;
69
+ const viemAttestations = attestations.map(a => a.toViem());
59
70
 
60
71
  // Calculate bitmap size (1 bit per attestation, rounded up to nearest byte)
61
72
  const bitmapSize = Math.ceil(length / 8);
@@ -63,8 +74,8 @@ export class CommitteeAttestationsAndSigners implements Signable {
63
74
 
64
75
  // Calculate total data size needed
65
76
  let totalDataSize = 0;
66
- for (let i = 0; i < length; i++) {
67
- const signature = attestations[i].signature;
77
+ for (const attestation of viemAttestations) {
78
+ const signature = attestation.signature;
68
79
  // Check if signature is empty (v = 0)
69
80
  const isEmpty = signature.v === 0;
70
81
 
@@ -79,8 +90,7 @@ export class CommitteeAttestationsAndSigners implements Signable {
79
90
  let dataIndex = 0;
80
91
 
81
92
  // Pack the data
82
- for (let i = 0; i < length; i++) {
83
- const attestation = attestations[i];
93
+ for (const [i, attestation] of viemAttestations.entries()) {
84
94
  const signature = attestation.signature;
85
95
 
86
96
  // Check if signature is empty
@@ -90,7 +100,7 @@ export class CommitteeAttestationsAndSigners implements Signable {
90
100
  // Set bit in bitmap (bit 7-0 in each byte, left to right)
91
101
  const byteIndex = Math.floor(i / 8);
92
102
  const bitIndex = 7 - (i % 8);
93
- signatureIndices[byteIndex] |= 1 << bitIndex;
103
+ signatureIndices[byteIndex] = (signatureIndices[byteIndex] ?? 0) | (1 << bitIndex);
94
104
 
95
105
  // Pack signature: v + r + s
96
106
  signaturesOrAddresses[dataIndex] = signature.v;
@@ -118,6 +128,10 @@ export class CommitteeAttestationsAndSigners implements Signable {
118
128
  signaturesOrAddresses: `0x${Buffer.from(signaturesOrAddresses).toString('hex')}`,
119
129
  };
120
130
  }
131
+
132
+ getPackedAttestations(): ViemCommitteeAttestations {
133
+ return CommitteeAttestationsAndSigners.packAttestations(this.attestations);
134
+ }
121
135
  }
122
136
 
123
137
  /**
@@ -130,8 +144,9 @@ export class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestati
130
144
  constructor(
131
145
  attestations: CommitteeAttestation[],
132
146
  private signers: EthAddress[],
147
+ signatureContext: CoordinationSignatureContext,
133
148
  ) {
134
- super(attestations);
149
+ super(attestations, signatureContext);
135
150
  }
136
151
 
137
152
  override getSigners(): EthAddress[] {
@@ -1,18 +1,18 @@
1
- import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
1
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
3
2
  import { times } from '@aztec/foundation/collection';
4
3
  import { Fr } from '@aztec/foundation/curves/bn254';
5
4
  import {
6
5
  type CheckpointId,
7
6
  GENESIS_CHECKPOINT_HEADER_HASH,
7
+ L2Block,
8
8
  type L2BlockId,
9
- L2BlockNew,
10
9
  type L2TipId,
11
10
  } from '@aztec/stdlib/block';
12
11
  import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
13
12
 
14
- import { jestExpect as expect } from '@jest/expect';
13
+ import { expect } from 'vitest';
15
14
 
15
+ import { GENESIS_BLOCK_HEADER_HASH } from '../block_hash.js';
16
16
  import type { L2TipsStore } from '../l2_block_stream/index.js';
17
17
 
18
18
  export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
@@ -31,8 +31,8 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
31
31
  blockToCheckpoint.clear();
32
32
  });
33
33
 
34
- const makeBlock = async (number: number): Promise<L2BlockNew> => {
35
- const block = await L2BlockNew.random(BlockNumber(number));
34
+ const makeBlock = async (number: number): Promise<L2Block> => {
35
+ const block = await L2Block.random(BlockNumber(number));
36
36
  blockHashes.set(number, (await block.hash()).toString());
37
37
  return block;
38
38
  };
@@ -67,14 +67,21 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
67
67
  checkpoint: makeCheckpointIdForBlock(blockNumber),
68
68
  });
69
69
 
70
- const makeTips = (proposed: number, proven: number, finalized: number, checkpointed: number = 0) => ({
70
+ const makeTips = (
71
+ proposed: number,
72
+ proven: number,
73
+ finalized: number,
74
+ checkpointed: number = 0,
75
+ proposedCheckpoint: number = 0,
76
+ ) => ({
71
77
  proposed: makeTip(proposed),
72
78
  proven: makeTipId(proven),
73
79
  finalized: makeTipId(finalized),
74
80
  checkpointed: makeTipId(checkpointed),
81
+ proposedCheckpoint: makeTipId(proposedCheckpoint),
75
82
  });
76
83
 
77
- const makeCheckpoint = async (checkpointNumber: number, blocks: L2BlockNew[]): Promise<PublishedCheckpoint> => {
84
+ const makeCheckpoint = async (checkpointNumber: number, blocks: L2Block[]): Promise<PublishedCheckpoint> => {
78
85
  const checkpoint = await Checkpoint.random(CheckpointNumber(checkpointNumber), {
79
86
  numBlocks: blocks.length,
80
87
  startBlockNumber: blocks[0].number,
@@ -243,7 +250,6 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
243
250
  await tipsStore.handleBlockStreamEvent({
244
251
  type: 'chain-pruned',
245
252
  block: makeBlockId(5),
246
- reason: 'unproven',
247
253
  checkpoint: { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() },
248
254
  });
249
255
 
@@ -268,7 +274,6 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
268
274
  await tipsStore.handleBlockStreamEvent({
269
275
  type: 'chain-pruned',
270
276
  block: makeTip(0),
271
- reason: 'unproven',
272
277
  checkpoint: { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() },
273
278
  });
274
279
 
@@ -334,7 +339,6 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
334
339
  await tipsStore.handleBlockStreamEvent({
335
340
  type: 'chain-pruned',
336
341
  block: makeBlockId(5),
337
- reason: 'unproven',
338
342
  checkpoint: { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() },
339
343
  });
340
344
 
@@ -399,7 +403,6 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
399
403
  await tipsStore.handleBlockStreamEvent({
400
404
  type: 'chain-pruned',
401
405
  block: makeBlockId(3),
402
- reason: 'unproven',
403
406
  checkpoint: { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() },
404
407
  });
405
408
 
@@ -478,7 +481,6 @@ export function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>) {
478
481
  await tipsStore.handleBlockStreamEvent({
479
482
  type: 'chain-pruned',
480
483
  block: makeBlockId(3),
481
- reason: 'unproven',
482
484
  checkpoint: { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() },
483
485
  });
484
486
 
@@ -11,6 +11,7 @@ import {
11
11
  deserializeCheckpointInfo,
12
12
  serializeCheckpointInfo,
13
13
  } from '../checkpoint/checkpoint_info.js';
14
+ import { MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
14
15
  import { CommitteeAttestation } from './proposal/committee_attestation.js';
15
16
 
16
17
  /** Subtype for invalid checkpoint validation results */
@@ -109,13 +110,13 @@ export function deserializeValidateCheckpointResult(bufferOrReader: Buffer | Buf
109
110
  if (valid) {
110
111
  return { valid };
111
112
  }
112
- const reason = reader.readString() as 'insufficient-attestations' | 'invalid-attestation';
113
+ const reason = reader.readString(64) as 'insufficient-attestations' | 'invalid-attestation';
113
114
  const checkpoint = deserializeCheckpointInfo(reader.readBuffer());
114
- const committee = reader.readVector(EthAddress);
115
+ const committee = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
115
116
  const epoch = EpochNumber(reader.readNumber());
116
117
  const seed = reader.readBigInt();
117
- const attestors = reader.readVector(EthAddress);
118
- const attestations = reader.readVector(CommitteeAttestation);
118
+ const attestors = reader.readVector(EthAddress, MAX_COMMITTEE_SIZE);
119
+ const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
119
120
  const invalidIndex = reader.readNumber();
120
121
  if (reason === 'insufficient-attestations') {
121
122
  return { valid, reason, checkpoint, committee, epoch, seed, attestors, attestations };