@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
@@ -0,0 +1,61 @@
1
+ import { CheckpointNumber, type EpochNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { Logger } from '@aztec/foundation/log';
4
+
5
+ import type { L2BlockSource } from '../block/l2_block_source.js';
6
+ import { type L1RollupConstants, getEpochAtSlot } from '../epoch-helpers/index.js';
7
+ import type { ProposedCheckpointData } from './checkpoint_data.js';
8
+
9
+ /**
10
+ * Returns the out hashes (in epoch order) of all checkpoints in `epoch` that precede
11
+ * `checkpointNumber`, used to compute the `epochOutHash` baked into that checkpoint's header.
12
+ *
13
+ * Under proposer pipelining the parent checkpoint may not be confirmed on L1 by the time the
14
+ * builder runs, so the on-chain archiver query (`getCheckpointsData`) is missing it and the
15
+ * resulting `epochOutHash` would diverge from what other validators (and L1) compute after the
16
+ * parent lands. To avoid that, the parent's `checkpointOutHash` is spliced in from the locally
17
+ * known proposed checkpoint when:
18
+ * - pipelining is enabled,
19
+ * - the archiver lookup is genuinely short (its last entry is not already cp `N-1`),
20
+ * - and the proposed cp `N-1` is in the same target epoch (otherwise we're at an epoch boundary
21
+ * and the previous-epoch cps must be excluded).
22
+ *
23
+ * Callers may either pass the already-loaded `proposedCheckpointData` (the proposer has it on
24
+ * hand) or leave it undefined, in which case it's fetched via `getProposedCheckpointData`.
25
+ */
26
+ export async function getPreviousCheckpointOutHashes(input: {
27
+ blockSource: Pick<L2BlockSource, 'getCheckpointsData' | 'getProposedCheckpointData'>;
28
+ epoch: EpochNumber;
29
+ checkpointNumber: CheckpointNumber;
30
+ l1Constants: Pick<L1RollupConstants, 'epochDuration'>;
31
+ pipeliningEnabled: boolean;
32
+ proposedCheckpointData?: ProposedCheckpointData;
33
+ log?: Logger;
34
+ }): Promise<Fr[]> {
35
+ const { blockSource, epoch, checkpointNumber, l1Constants, pipeliningEnabled, log } = input;
36
+
37
+ const checkpointed = (await blockSource.getCheckpointsData({ epoch }))
38
+ .filter(c => c.checkpointNumber < checkpointNumber)
39
+ .sort((a, b) => a.checkpointNumber - b.checkpointNumber);
40
+
41
+ if (!pipeliningEnabled || checkpointNumber === 0) {
42
+ return checkpointed.map(c => c.checkpointOutHash);
43
+ }
44
+
45
+ const parentCheckpoint = CheckpointNumber(checkpointNumber - 1);
46
+ if (checkpointed.at(-1)?.checkpointNumber === parentCheckpoint) {
47
+ return checkpointed.map(c => c.checkpointOutHash);
48
+ }
49
+
50
+ const proposedParent =
51
+ input.proposedCheckpointData ?? (await blockSource.getProposedCheckpointData({ number: parentCheckpoint }));
52
+ if (!proposedParent || proposedParent.checkpointNumber !== parentCheckpoint) {
53
+ return checkpointed.map(c => c.checkpointOutHash);
54
+ }
55
+ if (getEpochAtSlot(proposedParent.header.slotNumber, l1Constants) !== epoch) {
56
+ return checkpointed.map(c => c.checkpointOutHash);
57
+ }
58
+
59
+ log?.debug(`Splicing pipelined parent cp ${parentCheckpoint} outHash for cp ${checkpointNumber}`);
60
+ return [...checkpointed.map(c => c.checkpointOutHash), proposedParent.checkpointOutHash];
61
+ }
@@ -0,0 +1,230 @@
1
+ import { BLOBS_PER_CHECKPOINT, FIELDS_PER_BLOB, MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT } from '@aztec/constants';
2
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { sum } from '@aztec/foundation/collection';
4
+
5
+ import { MAX_BLOCKS_PER_CHECKPOINT } from '../deserialization/index.js';
6
+ import type { Checkpoint } from './checkpoint.js';
7
+
8
+ export class CheckpointValidationError extends Error {
9
+ constructor(
10
+ message: string,
11
+ public readonly checkpointNumber: CheckpointNumber,
12
+ public readonly slot: SlotNumber,
13
+ ) {
14
+ super(message);
15
+ this.name = 'CheckpointValidationError';
16
+ }
17
+ }
18
+
19
+ /**
20
+ * Validates a checkpoint. Throws a CheckpointValidationError if any validation fails.
21
+ * - Validates structural integrity (non-empty, block count, sequential numbers, archive chaining, slot consistency)
22
+ * - Validates checkpoint blob field count against maxBlobFields limit
23
+ * - Validates total L2 gas used by checkpoint blocks against the Rollup contract mana limit
24
+ * - Validates total DA gas used by checkpoint blocks against MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT
25
+ * - Validates individual block L2 gas and DA gas against maxL2BlockGas and maxDABlockGas limits
26
+ */
27
+ export function validateCheckpoint(
28
+ checkpoint: Checkpoint,
29
+ opts: {
30
+ rollupManaLimit?: number;
31
+ maxL2BlockGas?: number;
32
+ maxDABlockGas?: number;
33
+ maxTxsPerCheckpoint?: number;
34
+ maxTxsPerBlock?: number;
35
+ },
36
+ ): void {
37
+ validateCheckpointStructure(checkpoint);
38
+ validateCheckpointLimits(checkpoint, opts);
39
+ validateCheckpointBlocksLimits(checkpoint, opts);
40
+ }
41
+
42
+ /**
43
+ * Validates structural integrity of a checkpoint.
44
+ * - Non-empty block list
45
+ * - Block count within MAX_BLOCKS_PER_CHECKPOINT
46
+ * - Checkpoint slot matches the first block's slot
47
+ * - Checkpoint lastArchiveRoot matches the first block's lastArchive root
48
+ * - Sequential block numbers without gaps
49
+ * - Sequential indexWithinCheckpoint starting at 0
50
+ * - Archive root chaining between consecutive blocks
51
+ * - Consistent slot number across all blocks
52
+ * - Global variables (slot, timestamp, coinbase, feeRecipient, gasFees) match checkpoint header for each block
53
+ */
54
+ export function validateCheckpointStructure(checkpoint: Checkpoint): void {
55
+ const { blocks, number, slot } = checkpoint;
56
+
57
+ if (blocks.length === 0) {
58
+ throw new CheckpointValidationError('Checkpoint has no blocks', number, slot);
59
+ }
60
+
61
+ if (blocks.length > MAX_BLOCKS_PER_CHECKPOINT) {
62
+ throw new CheckpointValidationError(
63
+ `Checkpoint has ${blocks.length} blocks, exceeding limit of ${MAX_BLOCKS_PER_CHECKPOINT}`,
64
+ number,
65
+ slot,
66
+ );
67
+ }
68
+
69
+ const firstBlock = blocks[0];
70
+
71
+ if (!checkpoint.header.lastArchiveRoot.equals(firstBlock.header.lastArchive.root)) {
72
+ throw new CheckpointValidationError(
73
+ `Checkpoint lastArchiveRoot does not match first block's lastArchive root`,
74
+ number,
75
+ slot,
76
+ );
77
+ }
78
+
79
+ for (let i = 0; i < blocks.length; i++) {
80
+ const block = blocks[i];
81
+
82
+ if (block.indexWithinCheckpoint !== i) {
83
+ throw new CheckpointValidationError(
84
+ `Block at index ${i} has indexWithinCheckpoint ${block.indexWithinCheckpoint}, expected ${i}`,
85
+ number,
86
+ slot,
87
+ );
88
+ }
89
+
90
+ if (block.slot !== slot) {
91
+ throw new CheckpointValidationError(
92
+ `Block ${block.number} has slot ${block.slot}, expected ${slot} (all blocks must share the same slot)`,
93
+ number,
94
+ slot,
95
+ );
96
+ }
97
+
98
+ if (!checkpoint.header.matchesGlobalVariables(block.header.globalVariables)) {
99
+ throw new CheckpointValidationError(
100
+ `Block ${block.number} global variables (slot, timestamp, coinbase, feeRecipient, gasFees) do not match checkpoint header`,
101
+ number,
102
+ slot,
103
+ );
104
+ }
105
+
106
+ if (i > 0) {
107
+ const prev = blocks[i - 1];
108
+ if (block.number !== prev.number + 1) {
109
+ throw new CheckpointValidationError(
110
+ `Block numbers are not sequential: block at index ${i - 1} has number ${prev.number}, block at index ${i} has number ${block.number}`,
111
+ number,
112
+ slot,
113
+ );
114
+ }
115
+
116
+ if (!block.header.lastArchive.root.equals(prev.archive.root)) {
117
+ throw new CheckpointValidationError(
118
+ `Block ${block.number} lastArchive root does not match archive root of block ${prev.number}`,
119
+ number,
120
+ slot,
121
+ );
122
+ }
123
+ }
124
+ }
125
+ }
126
+
127
+ /** Validates checkpoint blocks gas limits */
128
+ function validateCheckpointBlocksLimits(
129
+ checkpoint: Checkpoint,
130
+ opts: {
131
+ maxL2BlockGas?: number;
132
+ maxDABlockGas?: number;
133
+ maxTxsPerBlock?: number;
134
+ },
135
+ ): void {
136
+ const { maxL2BlockGas, maxDABlockGas, maxTxsPerBlock } = opts;
137
+
138
+ if (maxL2BlockGas !== undefined) {
139
+ for (const block of checkpoint.blocks) {
140
+ const blockL2Gas = block.header.totalManaUsed.toNumber();
141
+ if (blockL2Gas > maxL2BlockGas) {
142
+ throw new CheckpointValidationError(
143
+ `Block ${block.number} in checkpoint has L2 gas used ${blockL2Gas} exceeding limit of ${maxL2BlockGas}`,
144
+ checkpoint.number,
145
+ checkpoint.slot,
146
+ );
147
+ }
148
+ }
149
+ }
150
+
151
+ if (maxDABlockGas !== undefined) {
152
+ for (const block of checkpoint.blocks) {
153
+ const blockDAGas = block.computeDAGasUsed();
154
+ if (blockDAGas > maxDABlockGas) {
155
+ throw new CheckpointValidationError(
156
+ `Block ${block.number} in checkpoint has DA gas used ${blockDAGas} exceeding limit of ${maxDABlockGas}`,
157
+ checkpoint.number,
158
+ checkpoint.slot,
159
+ );
160
+ }
161
+ }
162
+ }
163
+
164
+ if (maxTxsPerBlock !== undefined) {
165
+ for (const block of checkpoint.blocks) {
166
+ const blockTxCount = block.body.txEffects.length;
167
+ if (blockTxCount > maxTxsPerBlock) {
168
+ throw new CheckpointValidationError(
169
+ `Block ${block.number} in checkpoint has ${blockTxCount} txs exceeding limit of ${maxTxsPerBlock}`,
170
+ checkpoint.number,
171
+ checkpoint.slot,
172
+ );
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+ /** Validates checkpoint max blob fields, gas limits, and tx limits */
179
+ function validateCheckpointLimits(
180
+ checkpoint: Checkpoint,
181
+ opts: {
182
+ rollupManaLimit?: number;
183
+ maxTxsPerCheckpoint?: number;
184
+ },
185
+ ): void {
186
+ const { rollupManaLimit, maxTxsPerCheckpoint } = opts;
187
+
188
+ const maxBlobFields = BLOBS_PER_CHECKPOINT * FIELDS_PER_BLOB;
189
+ const maxDAGas = MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT;
190
+
191
+ if (rollupManaLimit !== undefined) {
192
+ const checkpointMana = sum(checkpoint.blocks.map(block => block.header.totalManaUsed.toNumber()));
193
+ if (checkpointMana > rollupManaLimit) {
194
+ throw new CheckpointValidationError(
195
+ `Checkpoint mana cost ${checkpointMana} exceeds rollup limit of ${rollupManaLimit}`,
196
+ checkpoint.number,
197
+ checkpoint.slot,
198
+ );
199
+ }
200
+ }
201
+
202
+ const checkpointDAGas = sum(checkpoint.blocks.map(block => block.computeDAGasUsed()));
203
+ if (checkpointDAGas > maxDAGas) {
204
+ throw new CheckpointValidationError(
205
+ `Checkpoint DA gas cost ${checkpointDAGas} exceeds limit of ${maxDAGas}`,
206
+ checkpoint.number,
207
+ checkpoint.slot,
208
+ );
209
+ }
210
+
211
+ const checkpointBlobFields = checkpoint.toBlobFields().length;
212
+ if (checkpointBlobFields > maxBlobFields) {
213
+ throw new CheckpointValidationError(
214
+ `Checkpoint blob field count ${checkpointBlobFields} exceeds limit of ${maxBlobFields}`,
215
+ checkpoint.number,
216
+ checkpoint.slot,
217
+ );
218
+ }
219
+
220
+ if (maxTxsPerCheckpoint !== undefined) {
221
+ const checkpointTxCount = sum(checkpoint.blocks.map(block => block.body.txEffects.length));
222
+ if (checkpointTxCount > maxTxsPerCheckpoint) {
223
+ throw new CheckpointValidationError(
224
+ `Checkpoint tx count ${checkpointTxCount} exceeds limit of ${maxTxsPerCheckpoint}`,
225
+ checkpoint.number,
226
+ checkpoint.slot,
227
+ );
228
+ }
229
+ }
230
+ }
@@ -1,5 +1,5 @@
1
- import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
2
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import { type L1ContractAddresses, pickL1ContractAddressMappings } from '@aztec/ethereum/l1-contract-addresses';
2
+ import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
3
3
  import { EthAddress } from '@aztec/foundation/eth-address';
4
4
 
5
5
  export { type SequencerConfig, SequencerConfigSchema } from '../interfaces/configs.js';
@@ -7,26 +7,28 @@ export { type AllowedElement } from '../interfaces/allowed_element.js';
7
7
 
8
8
  export const emptyChainConfig: ChainConfig = {
9
9
  l1ChainId: 0,
10
- l1Contracts: { rollupAddress: EthAddress.ZERO },
11
10
  rollupVersion: 0,
11
+ rollupAddress: EthAddress.ZERO,
12
12
  };
13
13
 
14
14
  export const chainConfigMappings: ConfigMappingsType<ChainConfig> = {
15
15
  l1ChainId: {
16
16
  env: 'L1_CHAIN_ID',
17
- parseEnv: (val: string) => +val,
18
- defaultValue: 31337,
17
+ ...numberConfigHelper(31337),
19
18
  description: 'The chain ID of the ethereum host.',
20
19
  },
21
20
  rollupVersion: {
22
21
  env: 'ROLLUP_VERSION',
23
22
  description: 'The version of the rollup.',
24
- parseEnv: (val: string) => (Number.isSafeInteger(parseInt(val, 10)) ? parseInt(val, 10) : undefined),
25
- },
26
- l1Contracts: {
27
- description: 'The deployed L1 contract addresses',
28
- nested: l1ContractAddressesMapping,
23
+ parseEnv: (val: string) => {
24
+ const parsed = parseInt(val, 10);
25
+ if (!Number.isSafeInteger(parsed)) {
26
+ throw new Error(`Invalid rollup version: ${val}`);
27
+ }
28
+ return parsed;
29
+ },
29
30
  },
31
+ ...pickL1ContractAddressMappings('rollupAddress'),
30
32
  };
31
33
 
32
34
  /** Chain configuration. */
@@ -35,9 +37,4 @@ export type ChainConfig = {
35
37
  l1ChainId: number;
36
38
  /** The version of the rollup. */
37
39
  rollupVersion: number;
38
- /** The address to the L1 contracts. */
39
- l1Contracts: {
40
- /** The address to rollup */
41
- rollupAddress: EthAddress;
42
- };
43
- };
40
+ } & Pick<L1ContractAddresses, 'rollupAddress'>;
@@ -1,10 +1,19 @@
1
- import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
1
+ import {
2
+ type ConfigMappingsType,
3
+ floatConfigHelper,
4
+ numberConfigHelper,
5
+ optionalNumberConfigHelper,
6
+ } from '@aztec/foundation/config';
2
7
 
3
8
  import type { SequencerConfig } from '../interfaces/configs.js';
9
+ import { DEFAULT_P2P_PROPAGATION_TIME } from '../timetable/index.js';
4
10
 
5
11
  /** Default maximum number of transactions per block. */
6
12
  export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
7
13
 
14
+ /** Default maximum number of blocks the sequencer packs into a single checkpoint. */
15
+ export const DEFAULT_MAX_BLOCKS_PER_CHECKPOINT = 24;
16
+
8
17
  /**
9
18
  * Partial sequencer config mappings for fields that need to be shared across packages.
10
19
  * The full sequencer config mappings remain in sequencer-client, but shared fields
@@ -12,26 +21,45 @@ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
12
21
  * to avoid duplication.
13
22
  */
14
23
  export const sharedSequencerConfigMappings: ConfigMappingsType<
15
- Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'>
24
+ Pick<
25
+ SequencerConfig,
26
+ | 'blockDurationMs'
27
+ | 'expectedBlockProposalsPerSlot'
28
+ | 'maxTxsPerBlock'
29
+ | 'attestationPropagationTime'
30
+ | 'maxBlocksPerCheckpoint'
31
+ >
16
32
  > = {
17
33
  blockDurationMs: {
18
34
  env: 'SEQ_BLOCK_DURATION_MS',
19
35
  description:
20
36
  'Duration per block in milliseconds when building multiple blocks per slot. ' +
21
37
  'If undefined (default), builds a single block per slot using the full slot duration.',
22
- parseEnv: (val: string) => (val ? parseInt(val, 10) : undefined),
38
+ ...optionalNumberConfigHelper(),
23
39
  },
24
40
  expectedBlockProposalsPerSlot: {
25
41
  env: 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT',
26
42
  description:
27
43
  'Expected number of block proposals per slot for P2P peer scoring. ' +
28
44
  '0 (default) disables block proposal scoring. Set to a positive value to enable.',
29
- parseEnv: (val: string) => (val ? parseInt(val, 10) : 0),
30
- defaultValue: 0,
45
+ ...numberConfigHelper(0),
31
46
  },
32
47
  maxTxsPerBlock: {
33
48
  env: 'SEQ_MAX_TX_PER_BLOCK',
34
49
  description: 'The maximum number of txs to include in a block.',
35
- ...numberConfigHelper(DEFAULT_MAX_TXS_PER_BLOCK),
50
+ ...optionalNumberConfigHelper(),
51
+ },
52
+ attestationPropagationTime: {
53
+ env: 'SEQ_ATTESTATION_PROPAGATION_TIME',
54
+ description: 'How many seconds it takes for proposals and attestations to travel across the p2p layer (one-way).',
55
+ defaultValue: DEFAULT_P2P_PROPAGATION_TIME,
56
+ ...floatConfigHelper(DEFAULT_P2P_PROPAGATION_TIME),
57
+ },
58
+ maxBlocksPerCheckpoint: {
59
+ env: 'MAX_BLOCKS_PER_CHECKPOINT',
60
+ description:
61
+ 'Maximum number of blocks the sequencer packs into a single checkpoint, and the maximum indexWithinCheckpoint accepted on inbound block proposals.',
62
+ parseEnv: (val: string) => parseInt(val, 10),
63
+ defaultValue: DEFAULT_MAX_BLOCKS_PER_CHECKPOINT,
36
64
  },
37
65
  };
@@ -38,7 +38,8 @@ export class CompleteAddress {
38
38
  }
39
39
 
40
40
  /** Size in bytes of an instance */
41
- static readonly SIZE_IN_BYTES = 32 * 10;
41
+ // address (1 Fr) + publicKeys (1 Fr hash + 1 Point + 4 Fr hashes = 7 Fr) + partialAddress (1 Fr) = 9 Fr
42
+ static readonly SIZE_IN_BYTES = 32 * 9;
42
43
 
43
44
  static get schema() {
44
45
  return hexSchemaFor(CompleteAddress);
@@ -54,8 +55,11 @@ export class CompleteAddress {
54
55
 
55
56
  static async fromSecretKeyAndPartialAddress(secretKey: Fr, partialAddress: Fr): Promise<CompleteAddress> {
56
57
  const { publicKeys } = await deriveKeys(secretKey);
57
- const address = await computeAddress(publicKeys, partialAddress);
58
+ return await this.fromPublicKeysAndPartialAddress(publicKeys, partialAddress);
59
+ }
58
60
 
61
+ static async fromPublicKeysAndPartialAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<CompleteAddress> {
62
+ const address = await computeAddress(publicKeys, partialAddress);
59
63
  return new CompleteAddress(address, publicKeys, partialAddress);
60
64
  }
61
65
 
@@ -87,7 +91,7 @@ export class CompleteAddress {
87
91
  * @returns A readable string representation of the complete address.
88
92
  */
89
93
  public toReadableString(): string {
90
- return `Address: ${this.address.toString()}\nMaster Nullifier Public Key: ${this.publicKeys.masterNullifierPublicKey.toString()}\nMaster Incoming Viewing Public Key: ${this.publicKeys.masterIncomingViewingPublicKey.toString()}\nMaster Outgoing Viewing Public Key: ${this.publicKeys.masterOutgoingViewingPublicKey.toString()}\nMaster Tagging Public Key: ${this.publicKeys.masterTaggingPublicKey.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`;
94
+ return `Address: ${this.address.toString()}\nNpkM hash: ${this.publicKeys.npkMHash.toString()}\nIvpkM: ${this.publicKeys.ivpkM.toString()}\nOvpkM hash: ${this.publicKeys.ovpkMHash.toString()}\nTpkM hash: ${this.publicKeys.tpkMHash.toString()}\nMspkM hash: ${this.publicKeys.mspkMHash.toString()}\nFbpkM hash: ${this.publicKeys.fbpkMHash.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`;
91
95
  }
92
96
 
93
97
  /**
@@ -13,9 +13,9 @@ import type { ContractInstance } from './interfaces/contract_instance.js';
13
13
  /**
14
14
  * Returns the deployment address for a given contract instance.
15
15
  * ```
16
- * salted_initialization_hash = pedersen([salt, initialization_hash, deployer], GENERATOR__SALTED_INITIALIZATION_HASH)
17
- * partial_address = pedersen([contract_class_id, salted_initialization_hash], GENERATOR__CONTRACT_PARTIAL_ADDRESS_V1)
18
- * address = ((poseidon2Hash([public_keys_hash, partial_address, GENERATOR__CONTRACT_ADDRESS_V1]) * G) + ivpk_m).x <- the x-coordinate of the address point
16
+ * salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer, immutables_hash])
17
+ * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
18
+ * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V2, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
19
19
  * ```
20
20
  * @param instance - A contract instance for which to calculate the deployment address.
21
21
  */
@@ -34,7 +34,7 @@ export async function computeContractAddressFromInstance(
34
34
  */
35
35
  export async function computePartialAddress(
36
36
  instance:
37
- | Pick<ContractInstance, 'originalContractClassId' | 'initializationHash' | 'salt' | 'deployer'>
37
+ | Pick<ContractInstance, 'originalContractClassId' | 'initializationHash' | 'salt' | 'deployer' | 'immutablesHash'>
38
38
  | { originalContractClassId: Fr; saltedInitializationHash: Fr },
39
39
  ): Promise<Fr> {
40
40
  const saltedInitializationHash =
@@ -53,11 +53,11 @@ export async function computePartialAddress(
53
53
  * @param instance - Contract instance for which to compute the salted initialization hash.
54
54
  */
55
55
  export function computeSaltedInitializationHash(
56
- instance: Pick<ContractInstance, 'initializationHash' | 'salt' | 'deployer'>,
56
+ instance: Pick<ContractInstance, 'initializationHash' | 'salt' | 'deployer' | 'immutablesHash'>,
57
57
  ): Promise<Fr> {
58
58
  return poseidon2HashWithSeparator(
59
- [instance.salt, instance.initializationHash, instance.deployer],
60
- DomainSeparator.PARTIAL_ADDRESS,
59
+ [instance.salt, instance.initializationHash, instance.deployer, instance.immutablesHash],
60
+ DomainSeparator.SALTED_INITIALIZATION_HASH,
61
61
  );
62
62
  }
63
63
 
@@ -13,10 +13,10 @@ import { computePrivateFunctionsRoot } from './private_function.js';
13
13
  *
14
14
  * ```
15
15
  * version = 1
16
- * private_function_leaves = private_functions.map(fn => pedersen([fn.function_selector as Field, fn.vk_hash], GENERATOR__PRIVATE_FUNCTION_LEAF))
16
+ * private_function_leaves = private_functions.map(fn => poseidon2(DOM_SEP__PRIVATE_FUNCTION_LEAF, [fn.function_selector as Field, fn.vk_hash]))
17
17
  * private_functions_root = merkleize(private_function_leaves)
18
18
  * bytecode_commitment = calculate_commitment(packed_bytecode)
19
- * contract_class_id = pedersen([version, artifact_hash, private_functions_root, bytecode_commitment], GENERATOR__CLASS_IDENTIFIER)
19
+ * contract_class_id = poseidon2(DOM_SEP__CONTRACT_CLASS_ID, [version, artifact_hash, private_functions_root, bytecode_commitment])
20
20
  * ```
21
21
  * @param contractClass - Contract class.
22
22
  * @returns The identifier.
@@ -20,7 +20,7 @@ import {
20
20
  } from './contract_address.js';
21
21
  import type { ContractInstance, ContractInstanceWithAddress } from './interfaces/contract_instance.js';
22
22
 
23
- const VERSION = 1 as const;
23
+ const VERSION = 2 as const;
24
24
 
25
25
  export type ContractInstantiationData = {
26
26
  constructorArtifact?: FunctionAbi | string;
@@ -29,6 +29,7 @@ export type ContractInstantiationData = {
29
29
  salt: Fr;
30
30
  publicKeys?: PublicKeys;
31
31
  deployer?: AztecAddress;
32
+ immutablesHash?: Fr;
32
33
  };
33
34
 
34
35
  export class SerializableContractInstance {
@@ -38,6 +39,7 @@ export class SerializableContractInstance {
38
39
  public readonly currentContractClassId: Fr;
39
40
  public readonly originalContractClassId: Fr;
40
41
  public readonly initializationHash: Fr;
42
+ public readonly immutablesHash: Fr;
41
43
  public readonly publicKeys: PublicKeys;
42
44
 
43
45
  constructor(instance: ContractInstance) {
@@ -49,6 +51,7 @@ export class SerializableContractInstance {
49
51
  this.currentContractClassId = instance.currentContractClassId;
50
52
  this.originalContractClassId = instance.originalContractClassId;
51
53
  this.initializationHash = instance.initializationHash;
54
+ this.immutablesHash = instance.immutablesHash;
52
55
  this.publicKeys = instance.publicKeys;
53
56
  }
54
57
 
@@ -60,6 +63,7 @@ export class SerializableContractInstance {
60
63
  this.currentContractClassId,
61
64
  this.originalContractClassId,
62
65
  this.initializationHash,
66
+ this.immutablesHash,
63
67
  this.publicKeys,
64
68
  );
65
69
  }
@@ -78,6 +82,7 @@ export class SerializableContractInstance {
78
82
  currentContractClassId: reader.readObject(Fr),
79
83
  originalContractClassId: reader.readObject(Fr),
80
84
  initializationHash: reader.readObject(Fr),
85
+ immutablesHash: reader.readObject(Fr),
81
86
  publicKeys: reader.readObject(PublicKeys),
82
87
  });
83
88
  }
@@ -90,6 +95,7 @@ export class SerializableContractInstance {
90
95
  currentContractClassId: Fr.random(),
91
96
  originalContractClassId: Fr.random(),
92
97
  initializationHash: Fr.random(),
98
+ immutablesHash: Fr.random(),
93
99
  publicKeys: await PublicKeys.random(),
94
100
  ...opts,
95
101
  });
@@ -103,6 +109,7 @@ export class SerializableContractInstance {
103
109
  currentContractClassId: Fr.zero(),
104
110
  originalContractClassId: Fr.zero(),
105
111
  initializationHash: Fr.zero(),
112
+ immutablesHash: Fr.zero(),
106
113
  publicKeys: PublicKeys.default(),
107
114
  });
108
115
  }
@@ -130,15 +137,17 @@ export async function getContractInstanceFromInstantiationParams(
130
137
  )
131
138
  : await computeInitializationHash(constructorArtifact, args);
132
139
  const publicKeys = opts.publicKeys ?? PublicKeys.default();
140
+ const immutablesHash = opts.immutablesHash ?? Fr.ZERO;
133
141
 
134
142
  const instance: ContractInstance = {
135
143
  currentContractClassId: contractClass.id,
136
144
  originalContractClassId: contractClass.id,
137
145
  initializationHash,
146
+ immutablesHash,
138
147
  publicKeys,
139
148
  salt: opts.salt,
140
149
  deployer,
141
- version: 1,
150
+ version: 2,
142
151
  };
143
152
 
144
153
  return { ...instance, address: await computeContractAddressFromInstance(instance) };
@@ -6,8 +6,6 @@ export * from './contract_deployment_data.js';
6
6
  export * from './contract_instance.js';
7
7
  export * from './contract_instance_update.js';
8
8
  export * from './private_function.js';
9
- export * from './private_function_membership_proof.js';
10
- export * from './utility_function_membership_proof.js';
11
9
  export * from './interfaces/index.js';
12
10
  export * from './contract_function_dao.js';
13
11
  export * from './partial_address.js';