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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (921) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +60 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +7 -25
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_selector.d.ts +3 -6
  26. package/dest/abi/function_selector.d.ts.map +1 -1
  27. package/dest/abi/function_selector.js +2 -4
  28. package/dest/abi/function_signature_decoder.d.ts +43 -0
  29. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  30. package/dest/abi/function_signature_decoder.js +66 -0
  31. package/dest/abi/index.d.ts +2 -1
  32. package/dest/abi/index.d.ts.map +1 -1
  33. package/dest/abi/index.js +1 -0
  34. package/dest/abi/note_selector.d.ts +4 -7
  35. package/dest/abi/note_selector.d.ts.map +1 -1
  36. package/dest/abi/note_selector.js +1 -3
  37. package/dest/abi/selector.d.ts +2 -2
  38. package/dest/abi/selector.d.ts.map +1 -1
  39. package/dest/abi/selector.js +1 -1
  40. package/dest/abi/utils.d.ts +14 -1
  41. package/dest/abi/utils.d.ts.map +1 -1
  42. package/dest/abi/utils.js +16 -1
  43. package/dest/auth_witness/auth_witness.d.ts +2 -2
  44. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  45. package/dest/avm/avm.d.ts +1756 -10463
  46. package/dest/avm/avm.d.ts.map +1 -1
  47. package/dest/avm/avm.js +6 -3
  48. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  49. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  50. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  51. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  52. package/dest/avm/avm_proving_request.d.ts +653 -5446
  53. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  54. package/dest/avm/message_pack.js +12 -3
  55. package/dest/avm/public_data_write.d.ts +6 -12
  56. package/dest/avm/public_data_write.d.ts.map +1 -1
  57. package/dest/avm/revert_code.d.ts +5 -21
  58. package/dest/avm/revert_code.d.ts.map +1 -1
  59. package/dest/avm/revert_code.js +12 -30
  60. package/dest/aztec-address/index.d.ts +8 -8
  61. package/dest/aztec-address/index.d.ts.map +1 -1
  62. package/dest/aztec-address/index.js +9 -6
  63. package/dest/block/attestation_info.d.ts +3 -2
  64. package/dest/block/attestation_info.d.ts.map +1 -1
  65. package/dest/block/attestation_info.js +7 -5
  66. package/dest/block/block_data.d.ts +13 -38
  67. package/dest/block/block_data.d.ts.map +1 -1
  68. package/dest/block/block_data.js +2 -2
  69. package/dest/block/block_hash.d.ts +11 -10
  70. package/dest/block/block_hash.d.ts.map +1 -1
  71. package/dest/block/block_hash.js +10 -9
  72. package/dest/block/block_parameter.d.ts +37 -4
  73. package/dest/block/block_parameter.d.ts.map +1 -1
  74. package/dest/block/block_parameter.js +53 -2
  75. package/dest/block/in_block.d.ts +5 -24
  76. package/dest/block/in_block.d.ts.map +1 -1
  77. package/dest/block/index.d.ts +1 -2
  78. package/dest/block/index.d.ts.map +1 -1
  79. package/dest/block/index.js +0 -1
  80. package/dest/block/l2_block.d.ts +21 -41
  81. package/dest/block/l2_block.d.ts.map +1 -1
  82. package/dest/block/l2_block.js +12 -2
  83. package/dest/block/l2_block_info.d.ts +10 -29
  84. package/dest/block/l2_block_info.d.ts.map +1 -1
  85. package/dest/block/l2_block_info.js +6 -5
  86. package/dest/block/l2_block_source.d.ts +215 -356
  87. package/dest/block/l2_block_source.d.ts.map +1 -1
  88. package/dest/block/l2_block_source.js +67 -1
  89. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  90. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  91. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  92. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_block_stream.js +44 -17
  94. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  95. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  96. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  97. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  98. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  99. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  100. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  101. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  102. package/dest/block/proposal/attestations_and_signers.js +26 -18
  103. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  104. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  105. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  106. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  107. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  108. package/dest/checkpoint/checkpoint.d.ts +31 -96
  109. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint.js +18 -5
  111. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  112. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint_data.js +12 -0
  114. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  115. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  117. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  119. package/dest/checkpoint/digest.d.ts +18 -0
  120. package/dest/checkpoint/digest.d.ts.map +1 -0
  121. package/dest/checkpoint/digest.js +12 -0
  122. package/dest/checkpoint/index.d.ts +5 -1
  123. package/dest/checkpoint/index.d.ts.map +1 -1
  124. package/dest/checkpoint/index.js +4 -0
  125. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  126. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  128. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  129. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  130. package/dest/checkpoint/validate.d.ts +36 -0
  131. package/dest/checkpoint/validate.d.ts.map +1 -0
  132. package/dest/checkpoint/validate.js +120 -0
  133. package/dest/config/chain-config.d.ts +4 -9
  134. package/dest/config/chain-config.d.ts.map +1 -1
  135. package/dest/config/chain-config.js +13 -12
  136. package/dest/config/sequencer-config.d.ts +4 -2
  137. package/dest/config/sequencer-config.d.ts.map +1 -1
  138. package/dest/config/sequencer-config.js +18 -5
  139. package/dest/contract/complete_address.d.ts +3 -2
  140. package/dest/contract/complete_address.d.ts.map +1 -1
  141. package/dest/contract/complete_address.js +6 -2
  142. package/dest/contract/contract_address.d.ts +6 -6
  143. package/dest/contract/contract_address.d.ts.map +1 -1
  144. package/dest/contract/contract_address.js +6 -5
  145. package/dest/contract/contract_class_id.d.ts +2 -2
  146. package/dest/contract/contract_class_id.js +2 -2
  147. package/dest/contract/contract_deployment_data.d.ts +15 -61
  148. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  149. package/dest/contract/contract_instance.d.ts +4 -2
  150. package/dest/contract/contract_instance.d.ts.map +1 -1
  151. package/dest/contract/contract_instance.js +10 -3
  152. package/dest/contract/index.d.ts +1 -3
  153. package/dest/contract/index.d.ts.map +1 -1
  154. package/dest/contract/index.js +0 -2
  155. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  156. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  157. package/dest/contract/interfaces/contract_class.js +1 -28
  158. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  159. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  160. package/dest/contract/interfaces/contract_instance.js +4 -2
  161. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  162. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  163. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  164. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  165. package/dest/contract/private_function.d.ts +1 -1
  166. package/dest/contract/private_function.d.ts.map +1 -1
  167. package/dest/contract/private_function.js +2 -4
  168. package/dest/database-version/database_version.d.ts +5 -11
  169. package/dest/database-version/database_version.d.ts.map +1 -1
  170. package/dest/database-version/version_manager.d.ts +6 -2
  171. package/dest/database-version/version_manager.d.ts.map +1 -1
  172. package/dest/database-version/version_manager.js +12 -1
  173. package/dest/epoch-helpers/index.d.ts +12 -20
  174. package/dest/epoch-helpers/index.d.ts.map +1 -1
  175. package/dest/epoch-helpers/index.js +16 -2
  176. package/dest/file-store/factory.d.ts +4 -3
  177. package/dest/file-store/factory.d.ts.map +1 -1
  178. package/dest/file-store/factory.js +2 -2
  179. package/dest/file-store/http.d.ts +9 -2
  180. package/dest/file-store/http.d.ts.map +1 -1
  181. package/dest/file-store/http.js +20 -9
  182. package/dest/file-store/index.d.ts +2 -1
  183. package/dest/file-store/index.d.ts.map +1 -1
  184. package/dest/gas/fee_math.d.ts +49 -0
  185. package/dest/gas/fee_math.d.ts.map +1 -0
  186. package/dest/gas/fee_math.js +80 -0
  187. package/dest/gas/gas.d.ts +9 -14
  188. package/dest/gas/gas.d.ts.map +1 -1
  189. package/dest/gas/gas.js +6 -3
  190. package/dest/gas/gas_fees.d.ts +13 -14
  191. package/dest/gas/gas_fees.d.ts.map +1 -1
  192. package/dest/gas/gas_fees.js +17 -4
  193. package/dest/gas/gas_settings.d.ts +66 -86
  194. package/dest/gas/gas_settings.d.ts.map +1 -1
  195. package/dest/gas/gas_settings.js +56 -9
  196. package/dest/gas/index.d.ts +2 -1
  197. package/dest/gas/index.d.ts.map +1 -1
  198. package/dest/gas/index.js +1 -0
  199. package/dest/ha-signing/config.d.ts +28 -57
  200. package/dest/ha-signing/config.d.ts.map +1 -1
  201. package/dest/ha-signing/config.js +24 -28
  202. package/dest/ha-signing/index.d.ts +4 -3
  203. package/dest/ha-signing/index.d.ts.map +1 -1
  204. package/dest/ha-signing/index.js +3 -2
  205. package/dest/ha-signing/local_config.d.ts +32 -0
  206. package/dest/ha-signing/local_config.d.ts.map +1 -0
  207. package/dest/ha-signing/local_config.js +24 -0
  208. package/dest/ha-signing/types.d.ts +37 -32
  209. package/dest/ha-signing/types.d.ts.map +1 -1
  210. package/dest/ha-signing/types.js +13 -6
  211. package/dest/hash/hash.d.ts +34 -1
  212. package/dest/hash/hash.d.ts.map +1 -1
  213. package/dest/hash/hash.js +63 -2
  214. package/dest/interfaces/allowed_element.d.ts +16 -16
  215. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  216. package/dest/interfaces/allowed_element.js +8 -2
  217. package/dest/interfaces/api_limit.d.ts +1 -1
  218. package/dest/interfaces/api_limit.js +1 -1
  219. package/dest/interfaces/archiver.d.ts +22 -32
  220. package/dest/interfaces/archiver.d.ts.map +1 -1
  221. package/dest/interfaces/archiver.js +214 -69
  222. package/dest/interfaces/aztec-node-admin.d.ts +80 -258
  223. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  224. package/dest/interfaces/aztec-node-admin.js +59 -16
  225. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  226. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  227. package/dest/interfaces/aztec-node-debug.js +21 -0
  228. package/dest/interfaces/aztec-node.d.ts +114 -105
  229. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  230. package/dest/interfaces/aztec-node.js +311 -68
  231. package/dest/interfaces/block-builder.d.ts +40 -11
  232. package/dest/interfaces/block-builder.d.ts.map +1 -1
  233. package/dest/interfaces/block-builder.js +12 -5
  234. package/dest/interfaces/block_response.d.ts +90 -0
  235. package/dest/interfaces/block_response.d.ts.map +1 -0
  236. package/dest/interfaces/block_response.js +30 -0
  237. package/dest/interfaces/chain_tips.d.ts +50 -0
  238. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  239. package/dest/interfaces/chain_tips.js +11 -0
  240. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  241. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  242. package/dest/interfaces/checkpoint_parameter.js +18 -0
  243. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  244. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  245. package/dest/interfaces/checkpoint_response.js +26 -0
  246. package/dest/interfaces/client.d.ts +8 -2
  247. package/dest/interfaces/client.d.ts.map +1 -1
  248. package/dest/interfaces/client.js +7 -1
  249. package/dest/interfaces/configs.d.ts +56 -105
  250. package/dest/interfaces/configs.d.ts.map +1 -1
  251. package/dest/interfaces/configs.js +12 -2
  252. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  253. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  254. package/dest/interfaces/l1_publish_info.js +26 -0
  255. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  256. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  257. package/dest/interfaces/l2_logs_source.js +5 -0
  258. package/dest/interfaces/merkle_tree_operations.d.ts +20 -23
  259. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  260. package/dest/interfaces/p2p-bootstrap.js +8 -2
  261. package/dest/interfaces/p2p.d.ts +15 -5
  262. package/dest/interfaces/p2p.d.ts.map +1 -1
  263. package/dest/interfaces/p2p.js +28 -5
  264. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  265. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  266. package/dest/interfaces/prover-agent.d.ts +5 -23
  267. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  268. package/dest/interfaces/prover-agent.js +4 -1
  269. package/dest/interfaces/prover-client.d.ts +9 -25
  270. package/dest/interfaces/prover-client.d.ts.map +1 -1
  271. package/dest/interfaces/prover-client.js +7 -4
  272. package/dest/interfaces/prover-node.js +22 -8
  273. package/dest/interfaces/proving-job-source.js +24 -4
  274. package/dest/interfaces/proving-job.d.ts +742 -5793
  275. package/dest/interfaces/proving-job.d.ts.map +1 -1
  276. package/dest/interfaces/proving-job.js +1 -1
  277. package/dest/interfaces/public_storage_override.d.ts +22 -0
  278. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  279. package/dest/interfaces/public_storage_override.js +7 -0
  280. package/dest/interfaces/server.d.ts +6 -1
  281. package/dest/interfaces/server.d.ts.map +1 -1
  282. package/dest/interfaces/server.js +5 -0
  283. package/dest/interfaces/slasher.d.ts +25 -65
  284. package/dest/interfaces/slasher.d.ts.map +1 -1
  285. package/dest/interfaces/slasher.js +8 -4
  286. package/dest/interfaces/tx_provider.d.ts +6 -1
  287. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  288. package/dest/interfaces/validator.d.ts +70 -191
  289. package/dest/interfaces/validator.d.ts.map +1 -1
  290. package/dest/interfaces/validator.js +12 -5
  291. package/dest/interfaces/world_state.d.ts +6 -5
  292. package/dest/interfaces/world_state.d.ts.map +1 -1
  293. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  294. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  295. package/dest/kernel/hints/key_validation_request.js +20 -18
  296. package/dest/kernel/index.d.ts +5 -1
  297. package/dest/kernel/index.d.ts.map +1 -1
  298. package/dest/kernel/index.js +4 -0
  299. package/dest/kernel/log_hash.d.ts +6 -2
  300. package/dest/kernel/log_hash.d.ts.map +1 -1
  301. package/dest/kernel/log_hash.js +21 -9
  302. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  303. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  304. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  305. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  306. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  307. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  308. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  309. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  310. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  311. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  312. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  313. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  314. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  315. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  316. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  317. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  318. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  319. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  320. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
  321. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  322. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  323. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  324. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  325. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  326. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  327. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  328. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  329. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  330. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  331. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  332. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  333. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  334. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  335. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  336. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  337. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  338. package/dest/kernel/public_call_request.d.ts +15 -30
  339. package/dest/kernel/public_call_request.d.ts.map +1 -1
  340. package/dest/kernel/public_call_request.js +16 -7
  341. package/dest/keys/derivation.d.ts +6 -2
  342. package/dest/keys/derivation.d.ts.map +1 -1
  343. package/dest/keys/derivation.js +16 -6
  344. package/dest/keys/public_key.d.ts +22 -3
  345. package/dest/keys/public_key.d.ts.map +1 -1
  346. package/dest/keys/public_key.js +20 -1
  347. package/dest/keys/public_keys.d.ts +55 -82
  348. package/dest/keys/public_keys.d.ts.map +1 -1
  349. package/dest/keys/public_keys.js +102 -74
  350. package/dest/kv-store/config.d.ts +14 -0
  351. package/dest/kv-store/config.d.ts.map +1 -0
  352. package/dest/kv-store/config.js +21 -0
  353. package/dest/kv-store/index.d.ts +2 -0
  354. package/dest/kv-store/index.d.ts.map +1 -0
  355. package/dest/kv-store/index.js +1 -0
  356. package/dest/l1-contracts/index.d.ts +2 -2
  357. package/dest/l1-contracts/index.d.ts.map +1 -1
  358. package/dest/l1-contracts/index.js +1 -1
  359. package/dest/logs/app_tagging_secret.d.ts +46 -0
  360. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  361. package/dest/logs/app_tagging_secret.js +109 -0
  362. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  363. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  364. package/dest/logs/app_tagging_secret_kind.js +17 -0
  365. package/dest/logs/contract_class_log.d.ts +16 -34
  366. package/dest/logs/contract_class_log.d.ts.map +1 -1
  367. package/dest/logs/contract_class_log.js +11 -9
  368. package/dest/logs/index.d.ts +8 -7
  369. package/dest/logs/index.d.ts.map +1 -1
  370. package/dest/logs/index.js +7 -6
  371. package/dest/logs/log_cursor.d.ts +51 -0
  372. package/dest/logs/log_cursor.d.ts.map +1 -0
  373. package/dest/logs/log_cursor.js +82 -0
  374. package/dest/logs/log_result.d.ts +54 -0
  375. package/dest/logs/log_result.d.ts.map +1 -0
  376. package/dest/logs/log_result.js +56 -0
  377. package/dest/logs/logs_query.d.ts +82 -0
  378. package/dest/logs/logs_query.d.ts.map +1 -0
  379. package/dest/logs/logs_query.js +50 -0
  380. package/dest/logs/message_context.d.ts +6 -8
  381. package/dest/logs/message_context.d.ts.map +1 -1
  382. package/dest/logs/message_context.js +27 -9
  383. package/dest/logs/pending_tagged_log.d.ts +2 -3
  384. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  385. package/dest/logs/pending_tagged_log.js +2 -2
  386. package/dest/logs/pre_tag.d.ts +11 -24
  387. package/dest/logs/pre_tag.d.ts.map +1 -1
  388. package/dest/logs/pre_tag.js +2 -2
  389. package/dest/logs/private_log.d.ts +7 -12
  390. package/dest/logs/private_log.d.ts.map +1 -1
  391. package/dest/logs/private_log.js +6 -3
  392. package/dest/logs/public_log.d.ts +4 -3
  393. package/dest/logs/public_log.d.ts.map +1 -1
  394. package/dest/logs/public_log.js +2 -1
  395. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  396. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  397. package/dest/logs/query_all_logs_by_tags.js +64 -0
  398. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  399. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  400. package/dest/logs/shared_secret_derivation.js +15 -9
  401. package/dest/logs/siloed_tag.d.ts +8 -7
  402. package/dest/logs/siloed_tag.d.ts.map +1 -1
  403. package/dest/logs/siloed_tag.js +13 -3
  404. package/dest/logs/tag.d.ts +5 -6
  405. package/dest/logs/tag.d.ts.map +1 -1
  406. package/dest/logs/tag.js +4 -0
  407. package/dest/logs/tagging_index_range.d.ts +22 -0
  408. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  409. package/dest/logs/tagging_index_range.js +8 -0
  410. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  411. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  412. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  413. package/dest/messaging/index.d.ts +2 -1
  414. package/dest/messaging/index.d.ts.map +1 -1
  415. package/dest/messaging/index.js +1 -0
  416. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  417. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  418. package/dest/messaging/l1_to_l2_message.js +11 -13
  419. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  420. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  421. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  422. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  423. package/dest/messaging/l2_to_l1_membership.js +130 -27
  424. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  425. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  426. package/dest/messaging/l2_to_l1_message.js +21 -12
  427. package/dest/noir/index.d.ts +5 -3
  428. package/dest/noir/index.d.ts.map +1 -1
  429. package/dest/note/note.d.ts +2 -2
  430. package/dest/note/note.d.ts.map +1 -1
  431. package/dest/note/note_dao.d.ts +1 -1
  432. package/dest/note/note_dao.d.ts.map +1 -1
  433. package/dest/note/note_dao.js +1 -4
  434. package/dest/p2p/block_proposal.d.ts +31 -14
  435. package/dest/p2p/block_proposal.d.ts.map +1 -1
  436. package/dest/p2p/block_proposal.js +57 -39
  437. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  438. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  439. package/dest/p2p/checkpoint_attestation.js +23 -24
  440. package/dest/p2p/checkpoint_proposal.d.ts +35 -21
  441. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  442. package/dest/p2p/checkpoint_proposal.js +59 -61
  443. package/dest/p2p/consensus_payload.d.ts +26 -20
  444. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  445. package/dest/p2p/consensus_payload.js +38 -19
  446. package/dest/p2p/gossipable.d.ts +4 -4
  447. package/dest/p2p/gossipable.d.ts.map +1 -1
  448. package/dest/p2p/peer_error.d.ts +3 -1
  449. package/dest/p2p/peer_error.d.ts.map +1 -1
  450. package/dest/p2p/peer_error.js +5 -0
  451. package/dest/p2p/signature_utils.d.ts +28 -19
  452. package/dest/p2p/signature_utils.d.ts.map +1 -1
  453. package/dest/p2p/signature_utils.js +118 -21
  454. package/dest/p2p/signed_txs.d.ts +15 -13
  455. package/dest/p2p/signed_txs.d.ts.map +1 -1
  456. package/dest/p2p/signed_txs.js +26 -24
  457. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  458. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  459. package/dest/parity/parity_base_private_inputs.js +7 -5
  460. package/dest/parity/parity_public_inputs.d.ts +8 -4
  461. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  462. package/dest/parity/parity_public_inputs.js +6 -3
  463. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  464. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  465. package/dest/proofs/chonk_proof.d.ts +57 -7
  466. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  467. package/dest/proofs/chonk_proof.js +112 -15
  468. package/dest/proofs/recursive_proof.d.ts +2 -2
  469. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  470. package/dest/rollup/block_headers_hash.d.ts +1 -1
  471. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  472. package/dest/rollup/block_headers_hash.js +8 -2
  473. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  474. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  475. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  476. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  477. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  478. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  479. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  480. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  481. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  482. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  483. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  484. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  485. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  486. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  487. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  488. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  489. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  490. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  491. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  492. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  493. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  494. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  495. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  496. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  497. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  498. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  499. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  502. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  503. package/dest/schemas/schemas.d.ts +32 -78
  504. package/dest/schemas/schemas.d.ts.map +1 -1
  505. package/dest/schemas/schemas.js +2 -2
  506. package/dest/slashing/helpers.d.ts +2 -2
  507. package/dest/slashing/helpers.d.ts.map +1 -1
  508. package/dest/slashing/helpers.js +10 -7
  509. package/dest/slashing/index.d.ts +2 -3
  510. package/dest/slashing/index.d.ts.map +1 -1
  511. package/dest/slashing/index.js +1 -2
  512. package/dest/slashing/serialization.d.ts +2 -6
  513. package/dest/slashing/serialization.d.ts.map +1 -1
  514. package/dest/slashing/serialization.js +0 -60
  515. package/dest/slashing/types.d.ts +18 -112
  516. package/dest/slashing/types.d.ts.map +1 -1
  517. package/dest/slashing/types.js +16 -24
  518. package/dest/slashing/{tally.d.ts → votes.d.ts} +5 -6
  519. package/dest/slashing/votes.d.ts.map +1 -0
  520. package/dest/slashing/{tally.js → votes.js} +19 -10
  521. package/dest/snapshots/types.d.ts +15 -78
  522. package/dest/snapshots/types.d.ts.map +1 -1
  523. package/dest/stats/stats.d.ts +2 -2
  524. package/dest/stats/stats.d.ts.map +1 -1
  525. package/dest/tests/factories.d.ts +25 -32
  526. package/dest/tests/factories.d.ts.map +1 -1
  527. package/dest/tests/factories.js +82 -82
  528. package/dest/tests/mocks.d.ts +11 -6
  529. package/dest/tests/mocks.d.ts.map +1 -1
  530. package/dest/tests/mocks.js +55 -62
  531. package/dest/timetable/index.d.ts +48 -1
  532. package/dest/timetable/index.d.ts.map +1 -1
  533. package/dest/timetable/index.js +184 -14
  534. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  535. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  536. package/dest/trees/append_only_tree_snapshot.js +6 -3
  537. package/dest/trees/nullifier_leaf.d.ts +19 -42
  538. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  539. package/dest/trees/nullifier_leaf.js +3 -0
  540. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  541. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  542. package/dest/trees/nullifier_membership_witness.js +2 -14
  543. package/dest/trees/public_data_leaf.d.ts +21 -53
  544. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  545. package/dest/trees/public_data_witness.d.ts +16 -58
  546. package/dest/trees/public_data_witness.d.ts.map +1 -1
  547. package/dest/tx/block_header.d.ts +7 -4
  548. package/dest/tx/block_header.d.ts.map +1 -1
  549. package/dest/tx/block_header.js +11 -4
  550. package/dest/tx/call_context.d.ts +4 -14
  551. package/dest/tx/call_context.d.ts.map +1 -1
  552. package/dest/tx/capsule.d.ts +7 -3
  553. package/dest/tx/capsule.d.ts.map +1 -1
  554. package/dest/tx/capsule.js +9 -3
  555. package/dest/tx/fee_provider.d.ts +10 -0
  556. package/dest/tx/fee_provider.d.ts.map +1 -0
  557. package/dest/tx/fee_provider.js +1 -0
  558. package/dest/tx/function_data.d.ts +4 -10
  559. package/dest/tx/function_data.d.ts.map +1 -1
  560. package/dest/tx/global_variable_builder.d.ts +3 -4
  561. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  562. package/dest/tx/global_variables.d.ts +16 -49
  563. package/dest/tx/global_variables.d.ts.map +1 -1
  564. package/dest/tx/global_variables.js +8 -12
  565. package/dest/tx/hashed_values.d.ts +4 -3
  566. package/dest/tx/hashed_values.d.ts.map +1 -1
  567. package/dest/tx/hashed_values.js +6 -3
  568. package/dest/tx/in_tx.d.ts +5 -17
  569. package/dest/tx/in_tx.d.ts.map +1 -1
  570. package/dest/tx/index.d.ts +2 -1
  571. package/dest/tx/index.d.ts.map +1 -1
  572. package/dest/tx/index.js +1 -0
  573. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  574. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  575. package/dest/tx/indexed_tx_effect.js +9 -6
  576. package/dest/tx/partial_state_reference.d.ts +22 -65
  577. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  578. package/dest/tx/partial_state_reference.js +6 -3
  579. package/dest/tx/private_execution_result.d.ts +11 -21
  580. package/dest/tx/private_execution_result.d.ts.map +1 -1
  581. package/dest/tx/private_execution_result.js +6 -6
  582. package/dest/tx/profiling.d.ts +67 -353
  583. package/dest/tx/profiling.d.ts.map +1 -1
  584. package/dest/tx/profiling.js +17 -7
  585. package/dest/tx/protocol_contracts.d.ts +5 -9
  586. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  587. package/dest/tx/proven_tx.d.ts +30 -74
  588. package/dest/tx/proven_tx.d.ts.map +1 -1
  589. package/dest/tx/proven_tx.js +6 -0
  590. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  591. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  592. package/dest/tx/public_call_request_with_calldata.js +6 -3
  593. package/dest/tx/simulated_tx.d.ts +68 -1144
  594. package/dest/tx/simulated_tx.d.ts.map +1 -1
  595. package/dest/tx/simulated_tx.js +17 -12
  596. package/dest/tx/state_reference.d.ts +30 -117
  597. package/dest/tx/state_reference.d.ts.map +1 -1
  598. package/dest/tx/state_reference.js +6 -4
  599. package/dest/tx/tree_snapshots.d.ts +27 -84
  600. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  601. package/dest/tx/tree_snapshots.js +6 -4
  602. package/dest/tx/tx.d.ts +19 -17
  603. package/dest/tx/tx.d.ts.map +1 -1
  604. package/dest/tx/tx.js +48 -29
  605. package/dest/tx/tx_constant_data.d.ts +4 -3
  606. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  607. package/dest/tx/tx_constant_data.js +6 -3
  608. package/dest/tx/tx_context.d.ts +32 -131
  609. package/dest/tx/tx_context.d.ts.map +1 -1
  610. package/dest/tx/tx_context.js +6 -6
  611. package/dest/tx/tx_hash.d.ts +6 -4
  612. package/dest/tx/tx_hash.d.ts.map +1 -1
  613. package/dest/tx/tx_hash.js +13 -5
  614. package/dest/tx/tx_receipt.d.ts +145 -59
  615. package/dest/tx/tx_receipt.d.ts.map +1 -1
  616. package/dest/tx/tx_receipt.js +144 -58
  617. package/dest/tx/validator/error_texts.d.ts +8 -1
  618. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  619. package/dest/tx/validator/error_texts.js +9 -0
  620. package/dest/tx/validator/tx_validator.d.ts +5 -27
  621. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  622. package/dest/tx/validator/tx_validator.js +0 -4
  623. package/dest/types/shared.d.ts +4 -12
  624. package/dest/types/shared.d.ts.map +1 -1
  625. package/dest/types/shared.js +6 -12
  626. package/dest/update-checker/dev_version.d.ts +3 -0
  627. package/dest/update-checker/dev_version.d.ts.map +1 -0
  628. package/dest/update-checker/dev_version.js +1 -0
  629. package/dest/update-checker/index.d.ts +4 -2
  630. package/dest/update-checker/index.d.ts.map +1 -1
  631. package/dest/update-checker/index.js +3 -1
  632. package/dest/update-checker/package_version.d.ts +6 -0
  633. package/dest/update-checker/package_version.d.ts.map +1 -0
  634. package/dest/update-checker/package_version.js +13 -0
  635. package/dest/update-checker/version_checker.d.ts +25 -0
  636. package/dest/update-checker/version_checker.d.ts.map +1 -0
  637. package/dest/update-checker/version_checker.js +50 -0
  638. package/dest/validators/errors.d.ts +6 -1
  639. package/dest/validators/errors.d.ts.map +1 -1
  640. package/dest/validators/errors.js +7 -0
  641. package/dest/validators/schemas.d.ts +147 -614
  642. package/dest/validators/schemas.d.ts.map +1 -1
  643. package/dest/validators/schemas.js +6 -4
  644. package/dest/validators/types.d.ts +20 -3
  645. package/dest/validators/types.d.ts.map +1 -1
  646. package/dest/versioning/versioning.d.ts +4 -2
  647. package/dest/versioning/versioning.d.ts.map +1 -1
  648. package/dest/versioning/versioning.js +5 -2
  649. package/dest/vks/verification_key.d.ts +4 -139
  650. package/dest/vks/verification_key.d.ts.map +1 -1
  651. package/dest/vks/verification_key.js +5 -126
  652. package/dest/world-state/genesis_data.d.ts +13 -0
  653. package/dest/world-state/genesis_data.d.ts.map +1 -0
  654. package/dest/world-state/genesis_data.js +7 -0
  655. package/dest/world-state/index.d.ts +2 -1
  656. package/dest/world-state/index.d.ts.map +1 -1
  657. package/dest/world-state/index.js +1 -0
  658. package/dest/world-state/world_state_revision.d.ts +11 -39
  659. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  660. package/dest/world-state/world_state_revision.js +7 -21
  661. package/package.json +14 -12
  662. package/src/abi/abi.ts +78 -21
  663. package/src/abi/authorization_selector.ts +2 -8
  664. package/src/abi/buffer.ts +25 -4
  665. package/src/abi/contract_artifact.ts +11 -6
  666. package/src/abi/decoder.ts +36 -79
  667. package/src/abi/encoder.ts +83 -7
  668. package/src/abi/event_metadata_definition.ts +2 -0
  669. package/src/abi/event_selector.ts +2 -8
  670. package/src/abi/function_selector.ts +4 -13
  671. package/src/abi/function_signature_decoder.ts +77 -0
  672. package/src/abi/index.ts +1 -0
  673. package/src/abi/note_selector.ts +3 -12
  674. package/src/abi/selector.ts +1 -1
  675. package/src/abi/utils.ts +31 -4
  676. package/src/avm/avm.ts +5 -0
  677. package/src/avm/message_pack.ts +12 -3
  678. package/src/avm/revert_code.ts +19 -39
  679. package/src/aztec-address/index.ts +15 -12
  680. package/src/block/attestation_info.ts +11 -11
  681. package/src/block/block_data.ts +3 -4
  682. package/src/block/block_hash.ts +21 -14
  683. package/src/block/block_parameter.ts +72 -4
  684. package/src/block/index.ts +0 -1
  685. package/src/block/l2_block.ts +13 -1
  686. package/src/block/l2_block_info.ts +8 -6
  687. package/src/block/l2_block_source.ts +213 -144
  688. package/src/block/l2_block_stream/interfaces.ts +6 -2
  689. package/src/block/l2_block_stream/l2_block_stream.ts +39 -28
  690. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  691. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  692. package/src/block/proposal/attestations_and_signers.ts +32 -17
  693. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  694. package/src/checkpoint/checkpoint.ts +23 -4
  695. package/src/checkpoint/checkpoint_data.ts +44 -4
  696. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  697. package/src/checkpoint/digest.ts +28 -0
  698. package/src/checkpoint/index.ts +4 -0
  699. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  700. package/src/checkpoint/validate.ts +230 -0
  701. package/src/config/chain-config.ts +13 -16
  702. package/src/config/sequencer-config.ts +34 -6
  703. package/src/contract/complete_address.ts +7 -3
  704. package/src/contract/contract_address.ts +7 -7
  705. package/src/contract/contract_class_id.ts +2 -2
  706. package/src/contract/contract_instance.ts +11 -2
  707. package/src/contract/index.ts +0 -2
  708. package/src/contract/interfaces/contract_class.ts +2 -82
  709. package/src/contract/interfaces/contract_instance.ts +6 -2
  710. package/src/contract/private_function.ts +3 -1
  711. package/src/database-version/version_manager.ts +17 -0
  712. package/src/epoch-helpers/index.ts +27 -0
  713. package/src/file-store/factory.ts +13 -4
  714. package/src/file-store/http.ts +29 -10
  715. package/src/file-store/index.ts +1 -0
  716. package/src/gas/README.md +154 -0
  717. package/src/gas/fee_math.ts +120 -0
  718. package/src/gas/gas.ts +8 -3
  719. package/src/gas/gas_fees.ts +26 -13
  720. package/src/gas/gas_settings.ts +73 -15
  721. package/src/gas/index.ts +1 -0
  722. package/src/ha-signing/config.ts +56 -53
  723. package/src/ha-signing/index.ts +12 -1
  724. package/src/ha-signing/local_config.ts +46 -0
  725. package/src/ha-signing/types.ts +48 -34
  726. package/src/hash/hash.ts +63 -2
  727. package/src/interfaces/allowed_element.ts +28 -4
  728. package/src/interfaces/api_limit.ts +1 -1
  729. package/src/interfaces/archiver.ts +89 -92
  730. package/src/interfaces/aztec-node-admin.ts +35 -20
  731. package/src/interfaces/aztec-node-debug.ts +40 -0
  732. package/src/interfaces/aztec-node.ts +313 -245
  733. package/src/interfaces/block-builder.ts +58 -13
  734. package/src/interfaces/block_response.ts +92 -0
  735. package/src/interfaces/chain_tips.ts +24 -0
  736. package/src/interfaces/checkpoint_parameter.ts +20 -0
  737. package/src/interfaces/checkpoint_response.ts +84 -0
  738. package/src/interfaces/client.ts +7 -1
  739. package/src/interfaces/configs.ts +54 -4
  740. package/src/interfaces/l1_publish_info.ts +40 -0
  741. package/src/interfaces/l2_logs_source.ts +13 -39
  742. package/src/interfaces/merkle_tree_operations.ts +20 -22
  743. package/src/interfaces/p2p-bootstrap.ts +2 -2
  744. package/src/interfaces/p2p.ts +35 -15
  745. package/src/interfaces/private_kernel_prover.ts +88 -0
  746. package/src/interfaces/prover-agent.ts +1 -1
  747. package/src/interfaces/prover-client.ts +10 -5
  748. package/src/interfaces/prover-node.ts +7 -7
  749. package/src/interfaces/proving-job-source.ts +4 -4
  750. package/src/interfaces/proving-job.ts +3 -3
  751. package/src/interfaces/public_storage_override.ts +26 -0
  752. package/src/interfaces/server.ts +5 -0
  753. package/src/interfaces/slasher.ts +17 -10
  754. package/src/interfaces/tx_provider.ts +6 -0
  755. package/src/interfaces/validator.ts +78 -38
  756. package/src/interfaces/world_state.ts +5 -4
  757. package/src/kernel/hints/key_validation_request.ts +18 -16
  758. package/src/kernel/index.ts +4 -0
  759. package/src/kernel/log_hash.ts +29 -9
  760. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  761. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  762. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  763. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  764. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  765. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  766. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  767. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  768. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  769. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  770. package/src/kernel/public_call_request.ts +22 -7
  771. package/src/keys/derivation.ts +21 -9
  772. package/src/keys/public_key.ts +26 -2
  773. package/src/keys/public_keys.ts +124 -110
  774. package/src/kv-store/config.ts +29 -0
  775. package/src/kv-store/index.ts +1 -0
  776. package/src/l1-contracts/index.ts +1 -1
  777. package/src/logs/app_tagging_secret.ts +137 -0
  778. package/src/logs/app_tagging_secret_kind.ts +21 -0
  779. package/src/logs/contract_class_log.ts +15 -5
  780. package/src/logs/index.ts +7 -6
  781. package/src/logs/log_cursor.ts +110 -0
  782. package/src/logs/log_result.ts +104 -0
  783. package/src/logs/logs_query.ts +138 -0
  784. package/src/logs/message_context.ts +22 -8
  785. package/src/logs/pending_tagged_log.ts +1 -3
  786. package/src/logs/pre_tag.ts +3 -6
  787. package/src/logs/private_log.ts +9 -3
  788. package/src/logs/public_log.ts +4 -2
  789. package/src/logs/query_all_logs_by_tags.ts +98 -0
  790. package/src/logs/shared_secret_derivation.ts +21 -10
  791. package/src/logs/siloed_tag.ts +20 -11
  792. package/src/logs/tag.ts +8 -8
  793. package/src/logs/tagging_index_range.ts +18 -0
  794. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  795. package/src/messaging/index.ts +1 -0
  796. package/src/messaging/l1_to_l2_message.ts +12 -9
  797. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  798. package/src/messaging/l2_to_l1_membership.ts +189 -35
  799. package/src/messaging/l2_to_l1_message.ts +29 -9
  800. package/src/noir/index.ts +4 -2
  801. package/src/note/note_dao.ts +1 -4
  802. package/src/p2p/block_proposal.ts +111 -36
  803. package/src/p2p/checkpoint_attestation.ts +27 -31
  804. package/src/p2p/checkpoint_proposal.ts +126 -85
  805. package/src/p2p/consensus_payload.ts +59 -28
  806. package/src/p2p/gossipable.ts +4 -4
  807. package/src/p2p/peer_error.ts +7 -0
  808. package/src/p2p/signature_utils.ts +110 -25
  809. package/src/p2p/signed_txs.ts +46 -28
  810. package/src/parity/parity_base_private_inputs.ts +10 -4
  811. package/src/parity/parity_public_inputs.ts +9 -2
  812. package/src/proofs/chonk_proof.ts +132 -12
  813. package/src/rollup/block_headers_hash.ts +11 -2
  814. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  815. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  816. package/src/schemas/schemas.ts +6 -1
  817. package/src/slashing/helpers.ts +13 -9
  818. package/src/slashing/index.ts +1 -2
  819. package/src/slashing/serialization.ts +1 -81
  820. package/src/slashing/types.ts +24 -49
  821. package/src/slashing/{tally.ts → votes.ts} +22 -4
  822. package/src/stats/stats.ts +4 -0
  823. package/src/tests/factories.ts +103 -111
  824. package/src/tests/mocks.ts +83 -76
  825. package/src/timetable/index.ts +251 -13
  826. package/src/trees/append_only_tree_snapshot.ts +8 -3
  827. package/src/trees/nullifier_leaf.ts +4 -0
  828. package/src/trees/nullifier_membership_witness.ts +2 -12
  829. package/src/tx/block_header.ts +16 -5
  830. package/src/tx/capsule.ts +10 -2
  831. package/src/tx/fee_provider.ts +10 -0
  832. package/src/tx/global_variable_builder.ts +2 -3
  833. package/src/tx/global_variables.ts +10 -18
  834. package/src/tx/hashed_values.ts +8 -3
  835. package/src/tx/index.ts +1 -0
  836. package/src/tx/indexed_tx_effect.ts +18 -6
  837. package/src/tx/partial_state_reference.ts +8 -3
  838. package/src/tx/private_execution_result.ts +5 -5
  839. package/src/tx/profiling.ts +15 -6
  840. package/src/tx/proven_tx.ts +6 -0
  841. package/src/tx/public_call_request_with_calldata.ts +8 -3
  842. package/src/tx/simulated_tx.ts +30 -22
  843. package/src/tx/state_reference.ts +9 -4
  844. package/src/tx/tree_snapshots.ts +9 -4
  845. package/src/tx/tx.ts +63 -35
  846. package/src/tx/tx_constant_data.ts +8 -3
  847. package/src/tx/tx_context.ts +8 -3
  848. package/src/tx/tx_hash.ts +20 -5
  849. package/src/tx/tx_receipt.ts +267 -82
  850. package/src/tx/validator/error_texts.ts +11 -0
  851. package/src/tx/validator/tx_validator.ts +1 -5
  852. package/src/types/shared.ts +8 -13
  853. package/src/update-checker/dev_version.ts +2 -0
  854. package/src/update-checker/index.ts +3 -1
  855. package/src/update-checker/package_version.ts +17 -0
  856. package/src/update-checker/version_checker.ts +65 -0
  857. package/src/validators/errors.ts +9 -0
  858. package/src/validators/schemas.ts +6 -4
  859. package/src/validators/types.ts +21 -2
  860. package/src/versioning/versioning.ts +5 -2
  861. package/src/vks/verification_key.ts +5 -184
  862. package/src/world-state/genesis_data.ts +27 -0
  863. package/src/world-state/index.ts +1 -0
  864. package/src/world-state/world_state_revision.ts +9 -34
  865. package/dest/abi/mocked_keys.d.ts +0 -2
  866. package/dest/abi/mocked_keys.d.ts.map +0 -1
  867. package/dest/abi/mocked_keys.js +0 -1
  868. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  869. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  870. package/dest/block/checkpointed_l2_block.js +0 -46
  871. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  872. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  873. package/dest/contract/private_function_membership_proof.js +0 -124
  874. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  875. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  876. package/dest/contract/utility_function_membership_proof.js +0 -87
  877. package/dest/interfaces/get_logs_response.d.ts +0 -97
  878. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  879. package/dest/interfaces/get_logs_response.js +0 -12
  880. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  881. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  882. package/dest/l1-contracts/slash_factory.js +0 -158
  883. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  884. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  885. package/dest/logs/extended_contract_class_log.js +0 -67
  886. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  887. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  888. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  889. package/dest/logs/extended_public_log.d.ts +0 -106
  890. package/dest/logs/extended_public_log.d.ts.map +0 -1
  891. package/dest/logs/extended_public_log.js +0 -73
  892. package/dest/logs/log_filter.d.ts +0 -22
  893. package/dest/logs/log_filter.d.ts.map +0 -1
  894. package/dest/logs/log_filter.js +0 -11
  895. package/dest/logs/log_id.d.ts +0 -85
  896. package/dest/logs/log_id.d.ts.map +0 -1
  897. package/dest/logs/log_id.js +0 -94
  898. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  899. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  900. package/dest/logs/tx_scoped_l2_log.js +0 -70
  901. package/dest/slashing/empire.d.ts +0 -31
  902. package/dest/slashing/empire.d.ts.map +0 -1
  903. package/dest/slashing/empire.js +0 -87
  904. package/dest/slashing/tally.d.ts.map +0 -1
  905. package/dest/update-checker/update-checker.d.ts +0 -49
  906. package/dest/update-checker/update-checker.d.ts.map +0 -1
  907. package/dest/update-checker/update-checker.js +0 -130
  908. package/src/abi/mocked_keys.ts +0 -2
  909. package/src/block/checkpointed_l2_block.ts +0 -70
  910. package/src/contract/private_function_membership_proof.ts +0 -167
  911. package/src/contract/utility_function_membership_proof.ts +0 -118
  912. package/src/interfaces/get_logs_response.ts +0 -35
  913. package/src/l1-contracts/slash_factory.ts +0 -180
  914. package/src/logs/extended_contract_class_log.ts +0 -87
  915. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  916. package/src/logs/extended_public_log.ts +0 -94
  917. package/src/logs/log_filter.ts +0 -31
  918. package/src/logs/log_id.ts +0 -125
  919. package/src/logs/tx_scoped_l2_log.ts +0 -98
  920. package/src/slashing/empire.ts +0 -104
  921. package/src/update-checker/update-checker.ts +0 -166
@@ -1,4 +1,4 @@
1
- import type { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import type { SecretValue } from '@aztec/foundation/config';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
@@ -9,7 +9,6 @@ import type {
9
9
  BlockProposal,
10
10
  BlockProposalOptions,
11
11
  CheckpointAttestation,
12
- CheckpointLastBlockData,
13
12
  CheckpointProposal,
14
13
  CheckpointProposalOptions,
15
14
  } from '@aztec/stdlib/p2p';
@@ -20,52 +19,78 @@ import type { PeerId } from '@libp2p/interface';
20
19
  import { z } from 'zod';
21
20
 
22
21
  import type { CommitteeAttestationsAndSigners } from '../block/index.js';
23
- import { type ValidatorHASignerConfig, ValidatorHASignerConfigSchema } from '../ha-signing/index.js';
22
+ import type { ChainConfig } from '../config/chain-config.js';
23
+ import {
24
+ type LocalSignerConfig,
25
+ LocalSignerConfigSchema,
26
+ type ValidatorHASignerConfig,
27
+ ValidatorHASignerConfigSchema,
28
+ } from '../ha-signing/index.js';
24
29
  import { AllowedElementSchema } from './allowed_element.js';
25
30
 
26
31
  /**
27
32
  * Validator client configuration
28
33
  */
29
- export type ValidatorClientConfig = ValidatorHASignerConfig & {
30
- /** The private keys of the validators participating in attestation duties */
31
- validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
34
+ export type ValidatorClientConfig = ValidatorHASignerConfig &
35
+ LocalSignerConfig & {
36
+ /** The L1 chain id used for EIP-712 proposal-path signing. */
37
+ l1ChainId: ChainConfig['l1ChainId'];
32
38
 
33
- /** The addresses of the validators to use with remote signers */
34
- validatorAddresses?: EthAddress[];
39
+ /** The private keys of the validators participating in attestation duties */
40
+ validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
35
41
 
36
- /** Do not run the validator */
37
- disableValidator: boolean;
42
+ /** The addresses of the validators to use with remote signers */
43
+ validatorAddresses?: EthAddress[];
38
44
 
39
- /** Temporarily disable these specific validator addresses */
40
- disabledValidators: EthAddress[];
45
+ /** Do not run the validator */
46
+ disableValidator: boolean;
41
47
 
42
- /** Interval between polling for new attestations from peers */
43
- attestationPollingIntervalMs: number;
48
+ /** Temporarily disable these specific validator addresses */
49
+ disabledValidators: EthAddress[];
44
50
 
45
- /** Whether to re-execute transactions in a block proposal before attesting */
46
- validatorReexecute: boolean;
51
+ /** Interval between polling for new attestations from peers */
52
+ attestationPollingIntervalMs: number;
47
53
 
48
- /** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
49
- alwaysReexecuteBlockProposals?: boolean;
54
+ /** Whether to always reexecute block proposals, even for non-validator nodes or when out of the current committee */
55
+ alwaysReexecuteBlockProposals?: boolean;
50
56
 
51
- /** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
52
- fishermanMode?: boolean;
57
+ /** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
58
+ fishermanMode?: boolean;
53
59
 
54
- /** Skip checkpoint proposal validation and always attest (default: false) */
55
- skipCheckpointProposalValidation?: boolean;
60
+ /** Skip checkpoint proposal validation and always attest (default: false) */
61
+ skipCheckpointProposalValidation?: boolean;
56
62
 
57
- /** Skip pushing re-executed blocks to archiver (default: false) */
58
- skipPushProposedBlocksToArchiver?: boolean;
63
+ /** Skip pushing re-executed blocks to archiver (default: false) */
64
+ skipPushProposedBlocksToArchiver?: boolean;
59
65
 
60
- /** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
61
- attestToEquivocatedProposals?: boolean;
62
- };
66
+ /** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
67
+ attestToEquivocatedProposals?: boolean;
68
+
69
+ /** Accept proposal validation regardless of slot timing (for testing only) */
70
+ skipProposalSlotValidation?: boolean;
71
+
72
+ /** Maximum L2 gas per block for validation. Proposals exceeding this limit are rejected. */
73
+ validateMaxL2BlockGas?: number;
74
+
75
+ /** Maximum DA gas per block for validation. Proposals exceeding this limit are rejected. */
76
+ validateMaxDABlockGas?: number;
77
+
78
+ /** Maximum transactions per block for validation. Proposals exceeding this limit are rejected. */
79
+ validateMaxTxsPerBlock?: number;
80
+
81
+ /** Maximum transactions per checkpoint for validation. Proposals exceeding this limit are rejected. */
82
+ validateMaxTxsPerCheckpoint?: number;
83
+ };
63
84
 
64
85
  export type ValidatorClientFullConfig = ValidatorClientConfig &
65
- Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal' | 'maxTxsPerBlock'> &
86
+ Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal' | 'maxBlocksPerCheckpoint'> &
66
87
  Pick<
67
88
  SlasherConfig,
68
- 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'
89
+ | 'slashBroadcastedInvalidBlockPenalty'
90
+ | 'slashBroadcastedInvalidCheckpointProposalPenalty'
91
+ | 'slashDuplicateProposalPenalty'
92
+ | 'slashDuplicateAttestationPenalty'
93
+ | 'slashAttestInvalidCheckpointProposalPenalty'
69
94
  > & {
70
95
  /**
71
96
  * Whether transactions are disabled for this node
@@ -75,17 +100,22 @@ export type ValidatorClientFullConfig = ValidatorClientConfig &
75
100
  };
76
101
 
77
102
  export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>()(
78
- ValidatorHASignerConfigSchema.extend({
103
+ ValidatorHASignerConfigSchema.merge(LocalSignerConfigSchema).extend({
104
+ l1ChainId: z.number().int().nonnegative(),
79
105
  validatorAddresses: z.array(schemas.EthAddress).optional(),
80
106
  disableValidator: z.boolean(),
81
107
  disabledValidators: z.array(schemas.EthAddress),
82
108
  attestationPollingIntervalMs: z.number().min(0),
83
- validatorReexecute: z.boolean(),
84
109
  alwaysReexecuteBlockProposals: z.boolean().optional(),
85
110
  fishermanMode: z.boolean().optional(),
86
111
  skipCheckpointProposalValidation: z.boolean().optional(),
87
112
  skipPushProposedBlocksToArchiver: z.boolean().optional(),
88
113
  attestToEquivocatedProposals: z.boolean().optional(),
114
+ skipProposalSlotValidation: z.boolean().optional(),
115
+ validateMaxL2BlockGas: z.number().optional(),
116
+ validateMaxDABlockGas: z.number().optional(),
117
+ validateMaxTxsPerBlock: z.number().optional(),
118
+ validateMaxTxsPerCheckpoint: z.number().optional(),
89
119
  }),
90
120
  );
91
121
 
@@ -93,16 +123,16 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
93
123
  ValidatorClientConfigSchema.extend({
94
124
  txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
95
125
  broadcastInvalidBlockProposal: z.boolean().optional(),
96
- maxTxsPerBlock: z.number().optional(),
126
+ maxBlocksPerCheckpoint: z.number().positive().optional(),
97
127
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
128
+ slashBroadcastedInvalidCheckpointProposalPenalty: schemas.BigInt,
98
129
  slashDuplicateProposalPenalty: schemas.BigInt,
99
130
  slashDuplicateAttestationPenalty: schemas.BigInt,
131
+ slashAttestInvalidCheckpointProposalPenalty: schemas.BigInt,
100
132
  disableTransactions: z.boolean().optional(),
101
133
  }),
102
134
  );
103
135
 
104
- export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & { txs: Tx[] };
105
-
106
136
  export interface Validator {
107
137
  start(): Promise<void>;
108
138
  updateConfig(config: Partial<ValidatorClientFullConfig>): void;
@@ -110,6 +140,7 @@ export interface Validator {
110
140
  // Block validation responsibilities
111
141
  createBlockProposal(
112
142
  blockHeader: BlockHeader,
143
+ checkpointNumber: CheckpointNumber,
113
144
  indexWithinCheckpoint: number,
114
145
  inHash: Fr,
115
146
  archive: Fr,
@@ -122,8 +153,9 @@ export interface Validator {
122
153
  createCheckpointProposal(
123
154
  checkpointHeader: CheckpointHeader,
124
155
  archive: Fr,
156
+ checkpointNumber: CheckpointNumber,
125
157
  feeAssetPriceModifier: bigint,
126
- lastBlockInfo: CreateCheckpointProposalLastBlockData | undefined,
158
+ lastBlockProposal: BlockProposal | undefined,
127
159
  proposerAddress: EthAddress | undefined,
128
160
  options: CheckpointProposalOptions,
129
161
  ): Promise<CheckpointProposal>;
@@ -147,15 +179,23 @@ export interface Validator {
147
179
  broadcastBlockProposal(proposal: BlockProposal): Promise<void>;
148
180
 
149
181
  /** Collect own attestations for a checkpoint proposal (used when skipping p2p attestation collection) */
150
- collectOwnAttestations(proposal: CheckpointProposal): Promise<CheckpointAttestation[]>;
182
+ collectOwnAttestations(
183
+ proposal: CheckpointProposal,
184
+ checkpointNumber: CheckpointNumber,
185
+ ): Promise<CheckpointAttestation[]>;
151
186
 
152
187
  /** Collect attestations from the p2p network for a checkpoint proposal */
153
- collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date): Promise<CheckpointAttestation[]>;
188
+ collectAttestations(
189
+ proposal: CheckpointProposal,
190
+ required: number,
191
+ deadline: Date,
192
+ checkpointNumber: CheckpointNumber,
193
+ ): Promise<CheckpointAttestation[]>;
154
194
 
155
195
  signAttestationsAndSigners(
156
196
  attestationsAndSigners: CommitteeAttestationsAndSigners,
157
197
  proposer: EthAddress,
158
198
  slot: SlotNumber,
159
- blockNumber: BlockNumber | CheckpointNumber,
199
+ checkpointNumber: CheckpointNumber,
160
200
  ): Promise<Signature>;
161
201
  }
@@ -3,6 +3,7 @@ import type { PromiseWithResolvers } from '@aztec/foundation/promise';
3
3
 
4
4
  import { z } from 'zod';
5
5
 
6
+ import type { BlockHash } from '../block/block_hash.js';
6
7
  import type { SnapshotDataKeys } from '../snapshots/types.js';
7
8
  import type { MerkleTreeReadOperations, MerkleTreeWriteOperations } from './merkle_tree_operations.js';
8
9
 
@@ -80,18 +81,18 @@ export interface WorldStateSynchronizer extends ReadonlyWorldStateAccess, ForkMe
80
81
  resumeSync(): void;
81
82
 
82
83
  /**
83
- * Forces an immediate sync to an optionally provided minimum block number
84
+ * Forces an immediate sync to an optionally provided minimum block number.
84
85
  * @param targetBlockNumber - The target block number that we must sync to. Will download unproven blocks if needed to reach it.
85
- * @param skipThrowIfTargetNotReached - Whether to skip throwing if the target block number is not reached.
86
+ * @param blockHash - If provided, verifies the block at targetBlockNumber matches this hash. On mismatch, triggers a resync (reorg detection).
86
87
  * @returns A promise that resolves with the block number the world state was synced to
87
88
  */
88
- syncImmediate(minBlockNumber?: BlockNumber, skipThrowIfTargetNotReached?: boolean): Promise<BlockNumber>;
89
+ syncImmediate(minBlockNumber?: BlockNumber, blockHash?: BlockHash): Promise<BlockNumber>;
89
90
 
90
91
  /** Deletes the db */
91
92
  clear(): Promise<void>;
92
93
  }
93
94
 
94
- export const WorldStateSyncStatusSchema: z.ZodType<WorldStateSyncStatus, z.ZodTypeDef, any> = z.object({
95
+ export const WorldStateSyncStatusSchema: z.ZodType<WorldStateSyncStatus, any> = z.object({
95
96
  finalizedBlockNumber: BlockNumberSchema,
96
97
  latestBlockNumber: BlockNumberSchema,
97
98
  latestBlockHash: z.string(),
@@ -1,29 +1,31 @@
1
1
  import { KEY_VALIDATION_REQUEST_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
3
+ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
4
4
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
 
6
6
  /**
7
7
  * Request for validating keys used in the app.
8
+ *
9
+ * The master public key is exposed only as `pkMHash` (its `hashPublicKey` digest).
10
+ * The kernel reset circuit derives the corresponding point from the master secret key hint and
11
+ * asserts that its hash matches `pkMHash`.
8
12
  */
9
13
  export class KeyValidationRequest {
10
- /** App-siloed secret key corresponding to the same underlying secret as master public key above. */
14
+ /** App-siloed secret key corresponding to the same underlying secret as `pkMHash`. */
11
15
  public readonly skApp: Fr;
12
16
 
13
17
  constructor(
14
- /** Master public key corresponding to the same underlying secret as app secret key below. */
15
- public readonly pkM: Point,
18
+ /** Hash of the master public key corresponding to the same underlying secret as `skApp`. */
19
+ public readonly pkMHash: Fr,
16
20
  skApp: Fr | GrumpkinScalar,
17
21
  ) {
18
- // I am doing this conversion here because in some places skApp is represented as GrumpkinScalar (Fq).
19
- // I can do this conversion even though Fq.MODULUS is larger than Fr.MODULUS because when we pass in
20
- // the skApp as GrumpkinScalar it was converted to that form from Fr. So, it is safe to convert it back
21
- // to Fr. If this would change in the future the code below will throw an error so it should be easy to debug.
22
+ // skApp may arrive as a GrumpkinScalar (Fq) in some code paths; safe to truncate to Fr because
23
+ // the value originally came from an Fr poseidon hash and was widened to GrumpkinScalar.
22
24
  this.skApp = skApp instanceof Fr ? skApp : new Fr(skApp.toBigInt());
23
25
  }
24
26
 
25
27
  toBuffer() {
26
- return serializeToBuffer(this.pkM, this.skApp);
28
+ return serializeToBuffer(this.pkMHash, this.skApp);
27
29
  }
28
30
 
29
31
  get skAppAsGrumpkinScalar() {
@@ -32,11 +34,11 @@ export class KeyValidationRequest {
32
34
 
33
35
  static fromBuffer(buffer: Buffer | BufferReader) {
34
36
  const reader = BufferReader.asReader(buffer);
35
- return new KeyValidationRequest(Point.fromBuffer(reader), Fr.fromBuffer(reader));
37
+ return new KeyValidationRequest(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
36
38
  }
37
39
 
38
40
  toFields(): Fr[] {
39
- const fields = [this.pkM.toFields(), this.skApp].flat();
41
+ const fields = [this.pkMHash, this.skApp];
40
42
  if (fields.length !== KEY_VALIDATION_REQUEST_LENGTH) {
41
43
  throw new Error(
42
44
  `Invalid number of fields for KeyValidationRequest. Expected ${KEY_VALIDATION_REQUEST_LENGTH}, got ${fields.length}`,
@@ -47,18 +49,18 @@ export class KeyValidationRequest {
47
49
 
48
50
  static fromFields(fields: Fr[] | FieldReader): KeyValidationRequest {
49
51
  const reader = FieldReader.asReader(fields);
50
- return new KeyValidationRequest(Point.fromFields(reader), reader.readField());
52
+ return new KeyValidationRequest(reader.readField(), reader.readField());
51
53
  }
52
54
 
53
55
  isEmpty() {
54
- return this.pkM.isZero() && this.skApp.isZero();
56
+ return this.pkMHash.isZero() && this.skApp.isZero();
55
57
  }
56
58
 
57
59
  static empty() {
58
- return new KeyValidationRequest(Point.ZERO, Fr.ZERO);
60
+ return new KeyValidationRequest(Fr.ZERO, Fr.ZERO);
59
61
  }
60
62
 
61
- static async random() {
62
- return new KeyValidationRequest(await Point.random(), Fr.random());
63
+ static random() {
64
+ return new KeyValidationRequest(Fr.random(), Fr.random());
63
65
  }
64
66
  }
@@ -7,7 +7,11 @@ export * from './private_call_data.js';
7
7
  export * from './private_kernel_circuit_public_inputs.js';
8
8
  export * from './private_kernel_data.js';
9
9
  export * from './private_kernel_init_circuit_private_inputs.js';
10
+ export * from './private_kernel_init_2_circuit_private_inputs.js';
11
+ export * from './private_kernel_init_3_circuit_private_inputs.js';
10
12
  export * from './private_kernel_inner_circuit_private_inputs.js';
13
+ export * from './private_kernel_inner_2_circuit_private_inputs.js';
14
+ export * from './private_kernel_inner_3_circuit_private_inputs.js';
11
15
  export * from './private_kernel_reset_circuit_private_inputs.js';
12
16
  export * from './private_kernel_reset_dimensions.js';
13
17
  export * from './private_kernel_tail_circuit_private_inputs.js';
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
3
3
  import type { FieldsOf } from '@aztec/foundation/types';
4
4
 
5
5
  import { inspect } from 'util';
@@ -33,8 +33,13 @@ export class LogHash {
33
33
  return new LogHash(Fr.zero(), 0);
34
34
  }
35
35
 
36
- toBuffer(): Buffer {
37
- return serializeToBuffer(this.value, this.length);
36
+ toBuffer(): Buffer;
37
+ toBuffer(sink: BufferSink): void;
38
+ toBuffer(sink?: BufferSink): Buffer | void {
39
+ if (!sink) {
40
+ return BufferSink.serialize(this);
41
+ }
42
+ serializeToSink(sink, this.value, this.length);
38
43
  }
39
44
 
40
45
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -78,8 +83,13 @@ export class CountedLogHash {
78
83
  return new CountedLogHash(LogHash.empty(), 0);
79
84
  }
80
85
 
81
- toBuffer(): Buffer {
82
- return serializeToBuffer(this.logHash, this.counter);
86
+ toBuffer(): Buffer;
87
+ toBuffer(sink: BufferSink): void;
88
+ toBuffer(sink?: BufferSink): Buffer | void {
89
+ if (!sink) {
90
+ return BufferSink.serialize(this);
91
+ }
92
+ serializeToSink(sink, this.logHash, this.counter);
83
93
  }
84
94
 
85
95
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -115,8 +125,13 @@ export class ScopedLogHash {
115
125
  return new ScopedLogHash(LogHash.empty(), AztecAddress.ZERO);
116
126
  }
117
127
 
118
- toBuffer(): Buffer {
119
- return serializeToBuffer(this.logHash, this.contractAddress);
128
+ toBuffer(): Buffer;
129
+ toBuffer(sink: BufferSink): void;
130
+ toBuffer(sink?: BufferSink): Buffer | void {
131
+ if (!sink) {
132
+ return BufferSink.serialize(this);
133
+ }
134
+ serializeToSink(sink, this.logHash, this.contractAddress);
120
135
  }
121
136
 
122
137
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -144,8 +159,13 @@ export class ScopedCountedLogHash {
144
159
  return new ScopedCountedLogHash(reader.readObject(CountedLogHash), AztecAddress.fromField(reader.readField()));
145
160
  }
146
161
 
147
- toBuffer(): Buffer {
148
- return serializeToBuffer(this.inner, this.contractAddress);
162
+ toBuffer(): Buffer;
163
+ toBuffer(sink: BufferSink): void;
164
+ toBuffer(sink?: BufferSink): Buffer | void {
165
+ if (!sink) {
166
+ return BufferSink.serialize(this);
167
+ }
168
+ serializeToSink(sink, this.inner, this.contractAddress);
149
169
  }
150
170
 
151
171
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -0,0 +1,49 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+
4
+ import { ProtocolContracts } from '../tx/protocol_contracts.js';
5
+ import { TxRequest } from '../tx/tx_request.js';
6
+ import { PrivateCallData } from './private_call_data.js';
7
+
8
+ /**
9
+ * Input to the batched private kernel init circuit, which processes the first two app calls of a
10
+ * transaction in a single iteration.
11
+ */
12
+ export class PrivateKernelInit2CircuitPrivateInputs {
13
+ constructor(
14
+ public txRequest: TxRequest,
15
+ public vkTreeRoot: Fr,
16
+ public protocolContracts: ProtocolContracts,
17
+ public privateCall0: PrivateCallData,
18
+ public privateCall1: PrivateCallData,
19
+ public isPrivateOnly: boolean,
20
+ public firstNullifierHint: Fr,
21
+ public revertibleCounterHint: number,
22
+ ) {}
23
+
24
+ toBuffer() {
25
+ return serializeToBuffer(
26
+ this.txRequest,
27
+ this.vkTreeRoot,
28
+ this.protocolContracts,
29
+ this.privateCall0,
30
+ this.privateCall1,
31
+ this.firstNullifierHint,
32
+ this.revertibleCounterHint,
33
+ );
34
+ }
35
+
36
+ static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInit2CircuitPrivateInputs {
37
+ const reader = BufferReader.asReader(buffer);
38
+ return new PrivateKernelInit2CircuitPrivateInputs(
39
+ reader.readObject(TxRequest),
40
+ Fr.fromBuffer(reader),
41
+ reader.readObject(ProtocolContracts),
42
+ reader.readObject(PrivateCallData),
43
+ reader.readObject(PrivateCallData),
44
+ reader.readBoolean(),
45
+ Fr.fromBuffer(reader),
46
+ reader.readNumber(),
47
+ );
48
+ }
49
+ }
@@ -0,0 +1,52 @@
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+
4
+ import { ProtocolContracts } from '../tx/protocol_contracts.js';
5
+ import { TxRequest } from '../tx/tx_request.js';
6
+ import { PrivateCallData } from './private_call_data.js';
7
+
8
+ /**
9
+ * Input to the batched private kernel init circuit, which processes the first three app calls of a
10
+ * transaction in a single iteration.
11
+ */
12
+ export class PrivateKernelInit3CircuitPrivateInputs {
13
+ constructor(
14
+ public txRequest: TxRequest,
15
+ public vkTreeRoot: Fr,
16
+ public protocolContracts: ProtocolContracts,
17
+ public privateCall0: PrivateCallData,
18
+ public privateCall1: PrivateCallData,
19
+ public privateCall2: PrivateCallData,
20
+ public isPrivateOnly: boolean,
21
+ public firstNullifierHint: Fr,
22
+ public revertibleCounterHint: number,
23
+ ) {}
24
+
25
+ toBuffer() {
26
+ return serializeToBuffer(
27
+ this.txRequest,
28
+ this.vkTreeRoot,
29
+ this.protocolContracts,
30
+ this.privateCall0,
31
+ this.privateCall1,
32
+ this.privateCall2,
33
+ this.firstNullifierHint,
34
+ this.revertibleCounterHint,
35
+ );
36
+ }
37
+
38
+ static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInit3CircuitPrivateInputs {
39
+ const reader = BufferReader.asReader(buffer);
40
+ return new PrivateKernelInit3CircuitPrivateInputs(
41
+ reader.readObject(TxRequest),
42
+ Fr.fromBuffer(reader),
43
+ reader.readObject(ProtocolContracts),
44
+ reader.readObject(PrivateCallData),
45
+ reader.readObject(PrivateCallData),
46
+ reader.readObject(PrivateCallData),
47
+ reader.readBoolean(),
48
+ Fr.fromBuffer(reader),
49
+ reader.readNumber(),
50
+ );
51
+ }
52
+ }
@@ -0,0 +1,29 @@
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+
3
+ import { PrivateCallData } from './private_call_data.js';
4
+ import { PrivateKernelData } from './private_kernel_data.js';
5
+
6
+ /**
7
+ * Input to the batched private kernel inner circuit, which processes two app calls in a single
8
+ * iteration following a previous kernel.
9
+ */
10
+ export class PrivateKernelInner2CircuitPrivateInputs {
11
+ constructor(
12
+ public previousKernel: PrivateKernelData,
13
+ public privateCall0: PrivateCallData,
14
+ public privateCall1: PrivateCallData,
15
+ ) {}
16
+
17
+ toBuffer() {
18
+ return serializeToBuffer(this.previousKernel, this.privateCall0, this.privateCall1);
19
+ }
20
+
21
+ static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInner2CircuitPrivateInputs {
22
+ const reader = BufferReader.asReader(buffer);
23
+ return new PrivateKernelInner2CircuitPrivateInputs(
24
+ reader.readObject(PrivateKernelData),
25
+ reader.readObject(PrivateCallData),
26
+ reader.readObject(PrivateCallData),
27
+ );
28
+ }
29
+ }
@@ -0,0 +1,31 @@
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+
3
+ import { PrivateCallData } from './private_call_data.js';
4
+ import { PrivateKernelData } from './private_kernel_data.js';
5
+
6
+ /**
7
+ * Input to the batched private kernel inner circuit, which processes three app calls in a single
8
+ * iteration following a previous kernel.
9
+ */
10
+ export class PrivateKernelInner3CircuitPrivateInputs {
11
+ constructor(
12
+ public previousKernel: PrivateKernelData,
13
+ public privateCall0: PrivateCallData,
14
+ public privateCall1: PrivateCallData,
15
+ public privateCall2: PrivateCallData,
16
+ ) {}
17
+
18
+ toBuffer() {
19
+ return serializeToBuffer(this.previousKernel, this.privateCall0, this.privateCall1, this.privateCall2);
20
+ }
21
+
22
+ static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInner3CircuitPrivateInputs {
23
+ const reader = BufferReader.asReader(buffer);
24
+ return new PrivateKernelInner3CircuitPrivateInputs(
25
+ reader.readObject(PrivateKernelData),
26
+ reader.readObject(PrivateCallData),
27
+ reader.readObject(PrivateCallData),
28
+ reader.readObject(PrivateCallData),
29
+ );
30
+ }
31
+ }
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
- import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, serializeToSink } from '@aztec/foundation/serialize';
4
4
 
5
5
  import { AztecAddress } from '../aztec-address/index.js';
6
6
  import { Gas } from '../gas/gas.js';
@@ -60,8 +60,14 @@ export class PartialPrivateTailPublicInputsForPublic {
60
60
  );
61
61
  }
62
62
 
63
- toBuffer() {
64
- return serializeToBuffer(
63
+ toBuffer(): Buffer;
64
+ toBuffer(sink: BufferSink): void;
65
+ toBuffer(sink?: BufferSink): Buffer | void {
66
+ if (!sink) {
67
+ return BufferSink.serialize(this);
68
+ }
69
+ serializeToSink(
70
+ sink,
65
71
  this.nonRevertibleAccumulatedData,
66
72
  this.revertibleAccumulatedData,
67
73
  this.publicTeardownCallRequest,
@@ -89,8 +95,13 @@ export class PartialPrivateTailPublicInputsForRollup {
89
95
  return this.end.getSize();
90
96
  }
91
97
 
92
- toBuffer() {
93
- return serializeToBuffer(this.end);
98
+ toBuffer(): Buffer;
99
+ toBuffer(sink: BufferSink): void;
100
+ toBuffer(sink?: BufferSink): Buffer | void {
101
+ if (!sink) {
102
+ return BufferSink.serialize(this);
103
+ }
104
+ serializeToSink(sink, this.end);
94
105
  }
95
106
 
96
107
  static empty() {
@@ -234,6 +245,15 @@ export class PrivateKernelTailCircuitPublicInputs {
234
245
  return noteHashes.filter(n => !n.isZero());
235
246
  }
236
247
 
248
+ getNonEmptyL2ToL1Msgs() {
249
+ const l2ToL1Msgs = this.forPublic
250
+ ? this.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.concat(
251
+ this.forPublic.revertibleAccumulatedData.l2ToL1Msgs,
252
+ )
253
+ : this.forRollup!.end.l2ToL1Msgs;
254
+ return l2ToL1Msgs.filter(m => !m.isEmpty());
255
+ }
256
+
237
257
  getNonEmptyNullifiers() {
238
258
  const nullifiers = this.forPublic
239
259
  ? this.forPublic.nonRevertibleAccumulatedData.nullifiers.concat(
@@ -291,16 +311,20 @@ export class PrivateKernelTailCircuitPublicInputs {
291
311
  );
292
312
  }
293
313
 
294
- toBuffer() {
314
+ toBuffer(): Buffer;
315
+ toBuffer(sink: BufferSink): void;
316
+ toBuffer(sink?: BufferSink): Buffer | void {
317
+ if (!sink) {
318
+ return BufferSink.serialize(this);
319
+ }
295
320
  const isForPublic = !!this.forPublic;
296
- return serializeToBuffer(
297
- isForPublic,
298
- this.constants,
299
- this.gasUsed,
300
- this.feePayer,
301
- bigintToUInt64BE(this.expirationTimestamp),
302
- isForPublic ? this.forPublic!.toBuffer() : this.forRollup!.toBuffer(),
303
- );
321
+ serializeToSink(sink, isForPublic, this.constants, this.gasUsed, this.feePayer);
322
+ sink.writeUInt64(this.expirationTimestamp);
323
+ if (isForPublic) {
324
+ this.forPublic!.toBuffer(sink);
325
+ } else {
326
+ this.forRollup!.toBuffer(sink);
327
+ }
304
328
  }
305
329
 
306
330
  static empty() {