@aztec/stdlib 0.0.1-commit.42ee6df9b → 0.0.1-commit.431c48d

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 (998) hide show
  1. package/dest/abi/abi.d.ts +128 -1197
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +31 -16
  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 +6 -2
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +13 -1
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +57 -15
  12. package/dest/abi/encoder.d.ts +1 -1
  13. package/dest/abi/encoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.js +32 -6
  15. package/dest/abi/event_selector.d.ts +4 -7
  16. package/dest/abi/event_selector.d.ts.map +1 -1
  17. package/dest/abi/function_call.d.ts +7 -25
  18. package/dest/abi/function_call.d.ts.map +1 -1
  19. package/dest/abi/function_selector.d.ts +3 -6
  20. package/dest/abi/function_selector.d.ts.map +1 -1
  21. package/dest/abi/function_selector.js +1 -3
  22. package/dest/abi/note_selector.d.ts +4 -7
  23. package/dest/abi/note_selector.d.ts.map +1 -1
  24. package/dest/abi/note_selector.js +1 -3
  25. package/dest/abi/selector.d.ts +2 -2
  26. package/dest/abi/selector.d.ts.map +1 -1
  27. package/dest/abi/selector.js +1 -1
  28. package/dest/abi/utils.d.ts +1 -1
  29. package/dest/abi/utils.d.ts.map +1 -1
  30. package/dest/abi/utils.js +1 -1
  31. package/dest/auth_witness/auth_witness.d.ts +2 -2
  32. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  33. package/dest/avm/avm.d.ts +1756 -10463
  34. package/dest/avm/avm.d.ts.map +1 -1
  35. package/dest/avm/avm.js +7 -4
  36. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  37. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  38. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  39. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  40. package/dest/avm/avm_proving_request.d.ts +653 -5446
  41. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  42. package/dest/avm/message_pack.js +12 -3
  43. package/dest/avm/public_data_write.d.ts +6 -12
  44. package/dest/avm/public_data_write.d.ts.map +1 -1
  45. package/dest/avm/revert_code.d.ts +5 -21
  46. package/dest/avm/revert_code.d.ts.map +1 -1
  47. package/dest/avm/revert_code.js +12 -30
  48. package/dest/aztec-address/index.d.ts +42 -12
  49. package/dest/aztec-address/index.d.ts.map +1 -1
  50. package/dest/aztec-address/index.js +40 -13
  51. package/dest/block/attestation_info.d.ts +3 -2
  52. package/dest/block/attestation_info.d.ts.map +1 -1
  53. package/dest/block/attestation_info.js +10 -5
  54. package/dest/block/block_data.d.ts +13 -38
  55. package/dest/block/block_data.d.ts.map +1 -1
  56. package/dest/block/block_data.js +2 -2
  57. package/dest/block/block_hash.d.ts +11 -10
  58. package/dest/block/block_hash.d.ts.map +1 -1
  59. package/dest/block/block_hash.js +10 -9
  60. package/dest/block/block_parameter.d.ts +37 -4
  61. package/dest/block/block_parameter.d.ts.map +1 -1
  62. package/dest/block/block_parameter.js +53 -2
  63. package/dest/block/in_block.d.ts +5 -24
  64. package/dest/block/in_block.d.ts.map +1 -1
  65. package/dest/block/index.d.ts +1 -2
  66. package/dest/block/index.d.ts.map +1 -1
  67. package/dest/block/index.js +0 -1
  68. package/dest/block/l2_block.d.ts +13 -41
  69. package/dest/block/l2_block.d.ts.map +1 -1
  70. package/dest/block/l2_block_info.d.ts +10 -29
  71. package/dest/block/l2_block_info.d.ts.map +1 -1
  72. package/dest/block/l2_block_info.js +6 -5
  73. package/dest/block/l2_block_source.d.ts +228 -432
  74. package/dest/block/l2_block_source.d.ts.map +1 -1
  75. package/dest/block/l2_block_source.js +88 -2
  76. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
  77. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  78. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +58 -0
  79. package/dest/block/l2_block_stream/index.d.ts +2 -1
  80. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  81. package/dest/block/l2_block_stream/index.js +1 -0
  82. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  83. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  84. package/dest/block/l2_block_stream/interfaces.js +25 -1
  85. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  86. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  88. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  89. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  91. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  92. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_tips_store_base.js +88 -57
  94. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  95. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  96. package/dest/block/proposal/attestations_and_signers.js +73 -25
  97. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  98. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  99. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  100. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.js +303 -39
  102. package/dest/block/validate_block_result.d.ts +16 -1
  103. package/dest/block/validate_block_result.d.ts.map +1 -1
  104. package/dest/block/validate_block_result.js +18 -3
  105. package/dest/checkpoint/checkpoint.d.ts +24 -96
  106. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  107. package/dest/checkpoint/checkpoint.js +2 -2
  108. package/dest/checkpoint/checkpoint_data.d.ts +40 -129
  109. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint_data.js +2 -0
  111. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  112. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  115. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  116. package/dest/checkpoint/digest.d.ts +18 -0
  117. package/dest/checkpoint/digest.d.ts.map +1 -0
  118. package/dest/checkpoint/digest.js +12 -0
  119. package/dest/checkpoint/index.d.ts +5 -1
  120. package/dest/checkpoint/index.d.ts.map +1 -1
  121. package/dest/checkpoint/index.js +4 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  124. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  125. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  126. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  127. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  128. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  129. package/dest/checkpoint/simulation_overrides.js +98 -0
  130. package/dest/checkpoint/validate.d.ts +19 -3
  131. package/dest/checkpoint/validate.d.ts.map +1 -1
  132. package/dest/checkpoint/validate.js +18 -6
  133. package/dest/config/chain-config.d.ts +4 -9
  134. package/dest/config/chain-config.d.ts.map +1 -1
  135. package/dest/config/chain-config.js +13 -12
  136. package/dest/config/index.d.ts +2 -2
  137. package/dest/config/index.d.ts.map +1 -1
  138. package/dest/config/index.js +1 -1
  139. package/dest/config/network-consensus-config.d.ts +72 -0
  140. package/dest/config/network-consensus-config.d.ts.map +1 -0
  141. package/dest/config/network-consensus-config.js +227 -0
  142. package/dest/config/node-rpc-config.d.ts +25 -1
  143. package/dest/config/node-rpc-config.d.ts.map +1 -1
  144. package/dest/config/node-rpc-config.js +45 -1
  145. package/dest/config/sequencer-config.d.ts +7 -3
  146. package/dest/config/sequencer-config.d.ts.map +1 -1
  147. package/dest/config/sequencer-config.js +38 -5
  148. package/dest/contract/complete_address.d.ts +3 -2
  149. package/dest/contract/complete_address.d.ts.map +1 -1
  150. package/dest/contract/complete_address.js +6 -2
  151. package/dest/contract/contract_address.d.ts +9 -8
  152. package/dest/contract/contract_address.d.ts.map +1 -1
  153. package/dest/contract/contract_address.js +5 -4
  154. package/dest/contract/contract_deployment_data.d.ts +15 -61
  155. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  156. package/dest/contract/contract_instance.d.ts +19 -3
  157. package/dest/contract/contract_instance.d.ts.map +1 -1
  158. package/dest/contract/contract_instance.js +55 -3
  159. package/dest/contract/interfaces/contract_class.d.ts +15 -86
  160. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  161. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  162. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  164. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  165. package/dest/contract/interfaces/contract_instance.js +11 -4
  166. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  167. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  168. package/dest/contract/interfaces/node-info.d.ts +11 -1
  169. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  170. package/dest/contract/interfaces/node-info.js +7 -1
  171. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  172. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  173. package/dest/contract/partial_address.d.ts +9 -3
  174. package/dest/contract/partial_address.d.ts.map +1 -1
  175. package/dest/contract/partial_address.js +8 -2
  176. package/dest/contract/private_function.d.ts +1 -1
  177. package/dest/contract/private_function.d.ts.map +1 -1
  178. package/dest/contract/private_function.js +2 -4
  179. package/dest/database-version/database_version.d.ts +5 -11
  180. package/dest/database-version/database_version.d.ts.map +1 -1
  181. package/dest/database-version/version_manager.d.ts +22 -4
  182. package/dest/database-version/version_manager.d.ts.map +1 -1
  183. package/dest/database-version/version_manager.js +87 -6
  184. package/dest/deserialization/index.d.ts +35 -3
  185. package/dest/deserialization/index.d.ts.map +1 -1
  186. package/dest/deserialization/index.js +32 -1
  187. package/dest/epoch-helpers/index.d.ts +4 -22
  188. package/dest/epoch-helpers/index.d.ts.map +1 -1
  189. package/dest/file-store/factory.d.ts +1 -1
  190. package/dest/file-store/factory.d.ts.map +1 -1
  191. package/dest/file-store/factory.js +7 -0
  192. package/dest/file-store/index.d.ts +2 -1
  193. package/dest/file-store/index.d.ts.map +1 -1
  194. package/dest/file-store/index.js +1 -0
  195. package/dest/file-store/memory.d.ts +24 -0
  196. package/dest/file-store/memory.d.ts.map +1 -0
  197. package/dest/file-store/memory.js +80 -0
  198. package/dest/gas/fee_math.d.ts +49 -0
  199. package/dest/gas/fee_math.d.ts.map +1 -0
  200. package/dest/gas/fee_math.js +80 -0
  201. package/dest/gas/gas.d.ts +9 -14
  202. package/dest/gas/gas.d.ts.map +1 -1
  203. package/dest/gas/gas.js +6 -3
  204. package/dest/gas/gas_fees.d.ts +13 -14
  205. package/dest/gas/gas_fees.d.ts.map +1 -1
  206. package/dest/gas/gas_fees.js +17 -4
  207. package/dest/gas/gas_settings.d.ts +60 -86
  208. package/dest/gas/gas_settings.d.ts.map +1 -1
  209. package/dest/gas/gas_settings.js +49 -9
  210. package/dest/gas/index.d.ts +3 -1
  211. package/dest/gas/index.d.ts.map +1 -1
  212. package/dest/gas/index.js +2 -0
  213. package/dest/gas/tx_gas_limits.d.ts +72 -0
  214. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  215. package/dest/gas/tx_gas_limits.js +85 -0
  216. package/dest/ha-signing/config.d.ts +29 -79
  217. package/dest/ha-signing/config.d.ts.map +1 -1
  218. package/dest/ha-signing/config.js +18 -21
  219. package/dest/ha-signing/index.d.ts +2 -2
  220. package/dest/ha-signing/index.d.ts.map +1 -1
  221. package/dest/ha-signing/index.js +1 -1
  222. package/dest/ha-signing/local_config.d.ts +12 -35
  223. package/dest/ha-signing/local_config.d.ts.map +1 -1
  224. package/dest/ha-signing/local_config.js +9 -3
  225. package/dest/ha-signing/types.d.ts +37 -32
  226. package/dest/ha-signing/types.d.ts.map +1 -1
  227. package/dest/ha-signing/types.js +13 -6
  228. package/dest/hash/hash.d.ts +16 -2
  229. package/dest/hash/hash.d.ts.map +1 -1
  230. package/dest/hash/hash.js +34 -9
  231. package/dest/interfaces/allowed_element.d.ts +4 -28
  232. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  233. package/dest/interfaces/api_limit.d.ts +7 -2
  234. package/dest/interfaces/api_limit.d.ts.map +1 -1
  235. package/dest/interfaces/api_limit.js +4 -1
  236. package/dest/interfaces/archiver.d.ts +27 -32
  237. package/dest/interfaces/archiver.d.ts.map +1 -1
  238. package/dest/interfaces/archiver.js +215 -71
  239. package/dest/interfaces/aztec-node-admin.d.ts +76 -302
  240. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  241. package/dest/interfaces/aztec-node-admin.js +60 -17
  242. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  243. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  244. package/dest/interfaces/aztec-node-debug.js +49 -0
  245. package/dest/interfaces/aztec-node.d.ts +162 -117
  246. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  247. package/dest/interfaces/aztec-node.js +358 -80
  248. package/dest/interfaces/block-builder.d.ts +11 -2
  249. package/dest/interfaces/block-builder.d.ts.map +1 -1
  250. package/dest/interfaces/block_response.d.ts +90 -0
  251. package/dest/interfaces/block_response.d.ts.map +1 -0
  252. package/dest/interfaces/block_response.js +30 -0
  253. package/dest/interfaces/chain_tips.d.ts +11 -0
  254. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  255. package/dest/interfaces/chain_tips.js +6 -0
  256. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  257. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  258. package/dest/interfaces/checkpoint_parameter.js +18 -0
  259. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  260. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  261. package/dest/interfaces/checkpoint_response.js +26 -0
  262. package/dest/interfaces/client.d.ts +9 -2
  263. package/dest/interfaces/client.d.ts.map +1 -1
  264. package/dest/interfaces/client.js +7 -1
  265. package/dest/interfaces/configs.d.ts +78 -134
  266. package/dest/interfaces/configs.d.ts.map +1 -1
  267. package/dest/interfaces/configs.js +16 -2
  268. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  269. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  270. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  271. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  272. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  273. package/dest/interfaces/l1_publish_info.js +26 -0
  274. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  275. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  276. package/dest/interfaces/l2_logs_source.js +5 -0
  277. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  278. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  279. package/dest/interfaces/p2p-bootstrap.js +8 -2
  280. package/dest/interfaces/p2p.d.ts +63 -7
  281. package/dest/interfaces/p2p.d.ts.map +1 -1
  282. package/dest/interfaces/p2p.js +49 -6
  283. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  284. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  285. package/dest/interfaces/prover-agent.d.ts +5 -23
  286. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  287. package/dest/interfaces/prover-agent.js +4 -1
  288. package/dest/interfaces/prover-client.d.ts +7 -29
  289. package/dest/interfaces/prover-client.d.ts.map +1 -1
  290. package/dest/interfaces/prover-client.js +0 -3
  291. package/dest/interfaces/prover-node.d.ts +12 -8
  292. package/dest/interfaces/prover-node.d.ts.map +1 -1
  293. package/dest/interfaces/prover-node.js +37 -16
  294. package/dest/interfaces/proving-job-source.js +24 -4
  295. package/dest/interfaces/proving-job.d.ts +740 -5778
  296. package/dest/interfaces/proving-job.d.ts.map +1 -1
  297. package/dest/interfaces/proving-job.js +14 -5
  298. package/dest/interfaces/public_storage_override.d.ts +22 -0
  299. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  300. package/dest/interfaces/public_storage_override.js +7 -0
  301. package/dest/interfaces/server.d.ts +6 -2
  302. package/dest/interfaces/server.d.ts.map +1 -1
  303. package/dest/interfaces/server.js +5 -1
  304. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  305. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  306. package/dest/interfaces/slasher.d.ts +25 -65
  307. package/dest/interfaces/slasher.d.ts.map +1 -1
  308. package/dest/interfaces/slasher.js +8 -4
  309. package/dest/interfaces/tx_provider.d.ts +10 -1
  310. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  311. package/dest/interfaces/validator.d.ts +62 -243
  312. package/dest/interfaces/validator.d.ts.map +1 -1
  313. package/dest/interfaces/validator.js +8 -1
  314. package/dest/interfaces/world_state.d.ts +15 -2
  315. package/dest/interfaces/world_state.d.ts.map +1 -1
  316. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  317. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  318. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  319. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  320. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  321. package/dest/kernel/hints/key_validation_request.js +20 -18
  322. package/dest/kernel/hints/read_request.js +1 -1
  323. package/dest/kernel/index.d.ts +6 -2
  324. package/dest/kernel/index.d.ts.map +1 -1
  325. package/dest/kernel/index.js +5 -1
  326. package/dest/kernel/log_hash.d.ts +6 -2
  327. package/dest/kernel/log_hash.d.ts.map +1 -1
  328. package/dest/kernel/log_hash.js +23 -11
  329. package/dest/kernel/note_hash.js +1 -1
  330. package/dest/kernel/nullifier.js +1 -1
  331. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  332. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  333. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  334. package/dest/kernel/private_context_inputs.d.ts +4 -3
  335. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  336. package/dest/kernel/private_context_inputs.js +7 -3
  337. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -2
  338. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  339. package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
  340. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  341. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  342. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  343. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  344. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  345. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  346. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  347. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  348. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  349. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  350. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  351. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  352. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  353. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  354. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  355. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  356. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  357. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  358. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  359. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  360. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  361. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  362. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  363. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  364. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  365. package/dest/kernel/private_log_data.d.ts +1 -1
  366. package/dest/kernel/private_log_data.d.ts.map +1 -1
  367. package/dest/kernel/private_log_data.js +1 -1
  368. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  369. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  370. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  371. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  372. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  373. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  374. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  375. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  376. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  377. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  378. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  379. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  380. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  381. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  382. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  383. package/dest/kernel/public_call_request.d.ts +15 -30
  384. package/dest/kernel/public_call_request.d.ts.map +1 -1
  385. package/dest/kernel/public_call_request.js +16 -7
  386. package/dest/keys/derivation.d.ts +45 -6
  387. package/dest/keys/derivation.d.ts.map +1 -1
  388. package/dest/keys/derivation.js +55 -22
  389. package/dest/keys/public_key.d.ts +22 -3
  390. package/dest/keys/public_key.d.ts.map +1 -1
  391. package/dest/keys/public_key.js +20 -1
  392. package/dest/keys/public_keys.d.ts +55 -82
  393. package/dest/keys/public_keys.d.ts.map +1 -1
  394. package/dest/keys/public_keys.js +102 -74
  395. package/dest/kv-store/config.d.ts +3 -6
  396. package/dest/kv-store/config.d.ts.map +1 -1
  397. package/dest/kv-store/config.js +2 -7
  398. package/dest/l1-contracts/index.d.ts +2 -2
  399. package/dest/l1-contracts/index.d.ts.map +1 -1
  400. package/dest/l1-contracts/index.js +1 -1
  401. package/dest/logs/app_tagging_secret.d.ts +69 -0
  402. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  403. package/dest/logs/app_tagging_secret.js +116 -0
  404. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  405. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  406. package/dest/logs/app_tagging_secret_kind.js +17 -0
  407. package/dest/logs/contract_class_log.d.ts +16 -35
  408. package/dest/logs/contract_class_log.d.ts.map +1 -1
  409. package/dest/logs/contract_class_log.js +11 -13
  410. package/dest/logs/index.d.ts +7 -9
  411. package/dest/logs/index.d.ts.map +1 -1
  412. package/dest/logs/index.js +6 -8
  413. package/dest/logs/log_cursor.d.ts +51 -0
  414. package/dest/logs/log_cursor.d.ts.map +1 -0
  415. package/dest/logs/log_cursor.js +82 -0
  416. package/dest/logs/log_result.d.ts +54 -0
  417. package/dest/logs/log_result.d.ts.map +1 -0
  418. package/dest/logs/log_result.js +56 -0
  419. package/dest/logs/logs_query.d.ts +82 -0
  420. package/dest/logs/logs_query.d.ts.map +1 -0
  421. package/dest/logs/logs_query.js +50 -0
  422. package/dest/logs/pre_tag.d.ts +11 -24
  423. package/dest/logs/pre_tag.d.ts.map +1 -1
  424. package/dest/logs/pre_tag.js +2 -2
  425. package/dest/logs/private_log.d.ts +7 -12
  426. package/dest/logs/private_log.d.ts.map +1 -1
  427. package/dest/logs/private_log.js +6 -3
  428. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  429. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  430. package/dest/logs/query_all_logs_by_tags.js +64 -0
  431. package/dest/logs/shared_secret_derivation.d.ts +29 -6
  432. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  433. package/dest/logs/shared_secret_derivation.js +44 -11
  434. package/dest/logs/siloed_tag.d.ts +5 -7
  435. package/dest/logs/siloed_tag.d.ts.map +1 -1
  436. package/dest/logs/siloed_tag.js +7 -1
  437. package/dest/logs/tag.d.ts +5 -6
  438. package/dest/logs/tag.d.ts.map +1 -1
  439. package/dest/logs/tag.js +4 -0
  440. package/dest/logs/tagging_index_range.d.ts +13 -31
  441. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  442. package/dest/logs/tagging_index_range.js +2 -2
  443. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  444. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  445. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  446. package/dest/messaging/index.d.ts +2 -1
  447. package/dest/messaging/index.d.ts.map +1 -1
  448. package/dest/messaging/index.js +1 -0
  449. package/dest/messaging/l1_to_l2_message.d.ts +23 -2
  450. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  451. package/dest/messaging/l1_to_l2_message.js +36 -11
  452. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  453. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  454. package/dest/messaging/l2_to_l1_membership.js +72 -12
  455. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  456. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  457. package/dest/messaging/l2_to_l1_message.js +21 -12
  458. package/dest/noir/index.d.ts +5 -3
  459. package/dest/noir/index.d.ts.map +1 -1
  460. package/dest/note/note.d.ts +2 -2
  461. package/dest/note/note.d.ts.map +1 -1
  462. package/dest/p2p/attestation_utils.d.ts +1 -1
  463. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  464. package/dest/p2p/attestation_utils.js +8 -1
  465. package/dest/p2p/block_proposal.d.ts +31 -14
  466. package/dest/p2p/block_proposal.d.ts.map +1 -1
  467. package/dest/p2p/block_proposal.js +57 -39
  468. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  469. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  470. package/dest/p2p/checkpoint_attestation.js +33 -24
  471. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  472. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  473. package/dest/p2p/checkpoint_proposal.js +59 -51
  474. package/dest/p2p/consensus_payload.d.ts +27 -20
  475. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  476. package/dest/p2p/consensus_payload.js +38 -19
  477. package/dest/p2p/gossipable.d.ts +4 -4
  478. package/dest/p2p/gossipable.d.ts.map +1 -1
  479. package/dest/p2p/index.d.ts +2 -1
  480. package/dest/p2p/index.d.ts.map +1 -1
  481. package/dest/p2p/index.js +1 -0
  482. package/dest/p2p/signature_utils.d.ts +35 -17
  483. package/dest/p2p/signature_utils.d.ts.map +1 -1
  484. package/dest/p2p/signature_utils.js +125 -20
  485. package/dest/p2p/signed_txs.d.ts +15 -13
  486. package/dest/p2p/signed_txs.d.ts.map +1 -1
  487. package/dest/p2p/signed_txs.js +26 -24
  488. package/dest/p2p/validated_proposal.d.ts +35 -0
  489. package/dest/p2p/validated_proposal.d.ts.map +1 -0
  490. package/dest/p2p/validated_proposal.js +17 -0
  491. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  492. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  493. package/dest/parity/parity_base_private_inputs.js +7 -5
  494. package/dest/parity/parity_public_inputs.d.ts +8 -4
  495. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  496. package/dest/parity/parity_public_inputs.js +6 -3
  497. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  498. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  499. package/dest/proofs/chonk_proof.d.ts +17 -11
  500. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  501. package/dest/proofs/chonk_proof.js +44 -22
  502. package/dest/proofs/recursive_proof.d.ts +2 -2
  503. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  504. package/dest/rollup/avm_proof_data.d.ts +3 -3
  505. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  506. package/dest/rollup/block_headers_hash.d.ts +1 -1
  507. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  508. package/dest/rollup/block_headers_hash.js +8 -2
  509. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  510. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  511. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  512. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  513. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  514. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  515. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  516. package/dest/rollup/checkpoint_header.d.ts +8 -3
  517. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  518. package/dest/rollup/checkpoint_header.js +20 -10
  519. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  520. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  521. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  522. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  523. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  524. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  525. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  526. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  527. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  528. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  529. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  530. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  531. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  532. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  533. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  534. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  535. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  536. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  537. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  538. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  539. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  540. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  541. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  542. package/dest/schemas/schemas.d.ts +32 -78
  543. package/dest/schemas/schemas.d.ts.map +1 -1
  544. package/dest/schemas/schemas.js +2 -2
  545. package/dest/slashing/helpers.d.ts +2 -2
  546. package/dest/slashing/helpers.d.ts.map +1 -1
  547. package/dest/slashing/helpers.js +10 -7
  548. package/dest/slashing/index.d.ts +2 -3
  549. package/dest/slashing/index.d.ts.map +1 -1
  550. package/dest/slashing/index.js +1 -2
  551. package/dest/slashing/serialization.d.ts +2 -6
  552. package/dest/slashing/serialization.d.ts.map +1 -1
  553. package/dest/slashing/serialization.js +0 -60
  554. package/dest/slashing/types.d.ts +18 -112
  555. package/dest/slashing/types.d.ts.map +1 -1
  556. package/dest/slashing/types.js +16 -24
  557. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  558. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  559. package/dest/slashing/{tally.js → votes.js} +1 -1
  560. package/dest/snapshots/types.d.ts +15 -78
  561. package/dest/snapshots/types.d.ts.map +1 -1
  562. package/dest/stats/stats.d.ts +2 -2
  563. package/dest/stats/stats.d.ts.map +1 -1
  564. package/dest/tests/factories.d.ts +24 -29
  565. package/dest/tests/factories.d.ts.map +1 -1
  566. package/dest/tests/factories.js +81 -69
  567. package/dest/tests/mocks.d.ts +8 -5
  568. package/dest/tests/mocks.d.ts.map +1 -1
  569. package/dest/tests/mocks.js +45 -56
  570. package/dest/timetable/budgets.d.ts +57 -0
  571. package/dest/timetable/budgets.d.ts.map +1 -0
  572. package/dest/timetable/budgets.js +56 -0
  573. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  574. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  575. package/dest/timetable/build_proposer_timetable.js +17 -0
  576. package/dest/timetable/consensus_timetable.d.ts +70 -0
  577. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  578. package/dest/timetable/consensus_timetable.js +89 -0
  579. package/dest/timetable/index.d.ts +5 -37
  580. package/dest/timetable/index.d.ts.map +1 -1
  581. package/dest/timetable/index.js +4 -39
  582. package/dest/timetable/proposer_timetable.d.ts +106 -0
  583. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  584. package/dest/timetable/proposer_timetable.js +132 -0
  585. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  586. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  587. package/dest/trees/append_only_tree_snapshot.js +6 -3
  588. package/dest/trees/nullifier_leaf.d.ts +19 -42
  589. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  590. package/dest/trees/nullifier_leaf.js +3 -0
  591. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  592. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  593. package/dest/trees/nullifier_membership_witness.js +0 -21
  594. package/dest/trees/public_data_leaf.d.ts +21 -53
  595. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  596. package/dest/trees/public_data_witness.d.ts +19 -71
  597. package/dest/trees/public_data_witness.d.ts.map +1 -1
  598. package/dest/trees/public_data_witness.js +0 -27
  599. package/dest/tx/block_header.d.ts +5 -4
  600. package/dest/tx/block_header.d.ts.map +1 -1
  601. package/dest/tx/block_header.js +7 -4
  602. package/dest/tx/call_context.d.ts +4 -14
  603. package/dest/tx/call_context.d.ts.map +1 -1
  604. package/dest/tx/capsule.d.ts +2 -2
  605. package/dest/tx/capsule.d.ts.map +1 -1
  606. package/dest/tx/execution_payload.d.ts +1 -1
  607. package/dest/tx/execution_payload.d.ts.map +1 -1
  608. package/dest/tx/execution_payload.js +1 -1
  609. package/dest/tx/fee_provider.d.ts +10 -0
  610. package/dest/tx/fee_provider.d.ts.map +1 -0
  611. package/dest/tx/fee_provider.js +1 -0
  612. package/dest/tx/function_data.d.ts +4 -10
  613. package/dest/tx/function_data.d.ts.map +1 -1
  614. package/dest/tx/global_variable_builder.d.ts +4 -27
  615. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  616. package/dest/tx/global_variables.d.ts +16 -49
  617. package/dest/tx/global_variables.d.ts.map +1 -1
  618. package/dest/tx/global_variables.js +10 -14
  619. package/dest/tx/hashed_values.d.ts +10 -3
  620. package/dest/tx/hashed_values.d.ts.map +1 -1
  621. package/dest/tx/hashed_values.js +15 -4
  622. package/dest/tx/in_tx.d.ts +5 -17
  623. package/dest/tx/in_tx.d.ts.map +1 -1
  624. package/dest/tx/index.d.ts +2 -1
  625. package/dest/tx/index.d.ts.map +1 -1
  626. package/dest/tx/index.js +1 -0
  627. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  628. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  629. package/dest/tx/indexed_tx_effect.js +9 -6
  630. package/dest/tx/partial_state_reference.d.ts +22 -65
  631. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  632. package/dest/tx/partial_state_reference.js +6 -3
  633. package/dest/tx/private_execution_result.d.ts +6 -16
  634. package/dest/tx/private_execution_result.d.ts.map +1 -1
  635. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  636. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  637. package/dest/tx/private_tx_constant_data.js +13 -4
  638. package/dest/tx/profiling.d.ts +54 -352
  639. package/dest/tx/profiling.d.ts.map +1 -1
  640. package/dest/tx/profiling.js +4 -4
  641. package/dest/tx/protocol_contracts.d.ts +5 -9
  642. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  643. package/dest/tx/proven_tx.d.ts +30 -74
  644. package/dest/tx/proven_tx.d.ts.map +1 -1
  645. package/dest/tx/proven_tx.js +6 -0
  646. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  647. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  648. package/dest/tx/public_call_request_with_calldata.js +6 -3
  649. package/dest/tx/simulated_tx.d.ts +73 -1256
  650. package/dest/tx/simulated_tx.d.ts.map +1 -1
  651. package/dest/tx/simulated_tx.js +19 -12
  652. package/dest/tx/state_reference.d.ts +30 -117
  653. package/dest/tx/state_reference.d.ts.map +1 -1
  654. package/dest/tx/state_reference.js +6 -4
  655. package/dest/tx/tree_snapshots.d.ts +27 -84
  656. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  657. package/dest/tx/tree_snapshots.js +6 -4
  658. package/dest/tx/tx.d.ts +29 -13
  659. package/dest/tx/tx.d.ts.map +1 -1
  660. package/dest/tx/tx.js +53 -25
  661. package/dest/tx/tx_constant_data.d.ts +4 -3
  662. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  663. package/dest/tx/tx_constant_data.js +6 -3
  664. package/dest/tx/tx_context.d.ts +32 -131
  665. package/dest/tx/tx_context.d.ts.map +1 -1
  666. package/dest/tx/tx_context.js +6 -6
  667. package/dest/tx/tx_hash.d.ts +6 -4
  668. package/dest/tx/tx_hash.d.ts.map +1 -1
  669. package/dest/tx/tx_hash.js +13 -5
  670. package/dest/tx/tx_receipt.d.ts +144 -63
  671. package/dest/tx/tx_receipt.d.ts.map +1 -1
  672. package/dest/tx/tx_receipt.js +143 -60
  673. package/dest/tx/validator/error_texts.d.ts +2 -2
  674. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  675. package/dest/tx/validator/error_texts.js +1 -1
  676. package/dest/tx/validator/tx_validator.d.ts +5 -27
  677. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  678. package/dest/tx/validator/tx_validator.js +0 -4
  679. package/dest/types/shared.d.ts +4 -12
  680. package/dest/types/shared.d.ts.map +1 -1
  681. package/dest/types/shared.js +6 -12
  682. package/dest/update-checker/dev_version.d.ts +3 -0
  683. package/dest/update-checker/dev_version.d.ts.map +1 -0
  684. package/dest/update-checker/dev_version.js +1 -0
  685. package/dest/update-checker/index.d.ts +2 -1
  686. package/dest/update-checker/index.d.ts.map +1 -1
  687. package/dest/update-checker/index.js +1 -0
  688. package/dest/update-checker/package_version.d.ts +6 -3
  689. package/dest/update-checker/package_version.d.ts.map +1 -1
  690. package/dest/update-checker/package_version.js +8 -19
  691. package/dest/validators/errors.d.ts +16 -1
  692. package/dest/validators/errors.d.ts.map +1 -1
  693. package/dest/validators/errors.js +12 -0
  694. package/dest/validators/schemas.d.ts +147 -614
  695. package/dest/validators/schemas.d.ts.map +1 -1
  696. package/dest/validators/schemas.js +6 -4
  697. package/dest/validators/types.d.ts +20 -3
  698. package/dest/validators/types.d.ts.map +1 -1
  699. package/dest/versioning/versioning.js +1 -1
  700. package/dest/vks/verification_key.d.ts +4 -139
  701. package/dest/vks/verification_key.d.ts.map +1 -1
  702. package/dest/vks/verification_key.js +5 -126
  703. package/dest/world-state/genesis_data.d.ts +21 -0
  704. package/dest/world-state/genesis_data.d.ts.map +1 -0
  705. package/dest/world-state/genesis_data.js +8 -0
  706. package/dest/world-state/index.d.ts +2 -1
  707. package/dest/world-state/index.d.ts.map +1 -1
  708. package/dest/world-state/index.js +1 -0
  709. package/dest/world-state/world_state_revision.d.ts +15 -26
  710. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  711. package/dest/world-state/world_state_revision.js +7 -1
  712. package/package.json +12 -11
  713. package/src/abi/abi.ts +61 -19
  714. package/src/abi/authorization_selector.ts +2 -8
  715. package/src/abi/buffer.ts +13 -1
  716. package/src/abi/contract_artifact.ts +63 -15
  717. package/src/abi/encoder.ts +42 -6
  718. package/src/abi/event_selector.ts +2 -8
  719. package/src/abi/function_selector.ts +3 -12
  720. package/src/abi/note_selector.ts +3 -12
  721. package/src/abi/selector.ts +1 -1
  722. package/src/abi/utils.ts +6 -4
  723. package/src/avm/avm.ts +6 -1
  724. package/src/avm/message_pack.ts +12 -3
  725. package/src/avm/revert_code.ts +19 -39
  726. package/src/aztec-address/index.ts +50 -17
  727. package/src/block/attestation_info.ts +16 -11
  728. package/src/block/block_data.ts +3 -4
  729. package/src/block/block_hash.ts +21 -14
  730. package/src/block/block_parameter.ts +72 -4
  731. package/src/block/index.ts +0 -1
  732. package/src/block/l2_block_info.ts +8 -6
  733. package/src/block/l2_block_source.ts +272 -152
  734. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +77 -0
  735. package/src/block/l2_block_stream/index.ts +1 -0
  736. package/src/block/l2_block_stream/interfaces.ts +101 -9
  737. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  738. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  739. package/src/block/l2_block_stream/l2_tips_store_base.ts +97 -84
  740. package/src/block/proposal/attestations_and_signers.ts +85 -24
  741. package/src/block/test/l2_tips_store_test_suite.ts +277 -30
  742. package/src/block/validate_block_result.ts +48 -2
  743. package/src/checkpoint/checkpoint.ts +2 -2
  744. package/src/checkpoint/checkpoint_data.ts +4 -0
  745. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  746. package/src/checkpoint/digest.ts +28 -0
  747. package/src/checkpoint/index.ts +4 -0
  748. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  749. package/src/checkpoint/simulation_overrides.ts +171 -0
  750. package/src/checkpoint/validate.ts +38 -6
  751. package/src/config/chain-config.ts +13 -16
  752. package/src/config/index.ts +1 -1
  753. package/src/config/network-consensus-config.ts +299 -0
  754. package/src/config/node-rpc-config.ts +83 -1
  755. package/src/config/sequencer-config.ts +68 -9
  756. package/src/contract/complete_address.ts +7 -3
  757. package/src/contract/contract_address.ts +10 -9
  758. package/src/contract/contract_instance.ts +73 -3
  759. package/src/contract/interfaces/contract_data_source.ts +2 -4
  760. package/src/contract/interfaces/contract_instance.ts +32 -10
  761. package/src/contract/interfaces/node-info.ts +11 -0
  762. package/src/contract/partial_address.ts +8 -2
  763. package/src/contract/private_function.ts +3 -1
  764. package/src/database-version/version_manager.ts +113 -6
  765. package/src/deserialization/index.ts +35 -2
  766. package/src/file-store/factory.ts +7 -0
  767. package/src/file-store/index.ts +1 -0
  768. package/src/file-store/memory.ts +94 -0
  769. package/src/gas/README.md +230 -35
  770. package/src/gas/fee_math.ts +120 -0
  771. package/src/gas/gas.ts +8 -3
  772. package/src/gas/gas_fees.ts +26 -13
  773. package/src/gas/gas_settings.ts +63 -15
  774. package/src/gas/index.ts +2 -0
  775. package/src/gas/tx_gas_limits.ts +123 -0
  776. package/src/ha-signing/config.ts +37 -23
  777. package/src/ha-signing/index.ts +3 -1
  778. package/src/ha-signing/local_config.ts +21 -2
  779. package/src/ha-signing/types.ts +48 -34
  780. package/src/hash/hash.ts +29 -10
  781. package/src/interfaces/api_limit.ts +6 -1
  782. package/src/interfaces/archiver.ts +95 -94
  783. package/src/interfaces/aztec-node-admin.ts +36 -21
  784. package/src/interfaces/aztec-node-debug.ts +92 -0
  785. package/src/interfaces/aztec-node.ts +411 -274
  786. package/src/interfaces/block-builder.ts +10 -1
  787. package/src/interfaces/block_response.ts +92 -0
  788. package/src/interfaces/chain_tips.ts +16 -0
  789. package/src/interfaces/checkpoint_parameter.ts +20 -0
  790. package/src/interfaces/checkpoint_response.ts +84 -0
  791. package/src/interfaces/client.ts +8 -1
  792. package/src/interfaces/configs.ts +79 -7
  793. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  794. package/src/interfaces/l1_publish_info.ts +40 -0
  795. package/src/interfaces/l2_logs_source.ts +13 -42
  796. package/src/interfaces/merkle_tree_operations.ts +3 -2
  797. package/src/interfaces/p2p-bootstrap.ts +2 -2
  798. package/src/interfaces/p2p.ts +80 -19
  799. package/src/interfaces/private_kernel_prover.ts +98 -12
  800. package/src/interfaces/prover-agent.ts +1 -1
  801. package/src/interfaces/prover-client.ts +3 -8
  802. package/src/interfaces/prover-node.ts +36 -21
  803. package/src/interfaces/proving-job-source.ts +4 -4
  804. package/src/interfaces/proving-job.ts +18 -6
  805. package/src/interfaces/public_storage_override.ts +26 -0
  806. package/src/interfaces/server.ts +5 -1
  807. package/src/interfaces/server_circuit_prover.ts +2 -2
  808. package/src/interfaces/slasher.ts +17 -10
  809. package/src/interfaces/tx_provider.ts +10 -0
  810. package/src/interfaces/validator.ts +50 -14
  811. package/src/interfaces/world_state.ts +15 -1
  812. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  813. package/src/kernel/hints/key_validation_request.ts +18 -16
  814. package/src/kernel/hints/read_request.ts +1 -1
  815. package/src/kernel/index.ts +5 -1
  816. package/src/kernel/log_hash.ts +36 -13
  817. package/src/kernel/note_hash.ts +1 -1
  818. package/src/kernel/nullifier.ts +1 -1
  819. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  820. package/src/kernel/private_context_inputs.ts +10 -3
  821. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
  822. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  823. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  824. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  825. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  826. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  827. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  828. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  829. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  830. package/src/kernel/private_log_data.ts +4 -1
  831. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  832. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  833. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  834. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  835. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  836. package/src/kernel/public_call_request.ts +22 -7
  837. package/src/keys/derivation.ts +79 -22
  838. package/src/keys/public_key.ts +26 -2
  839. package/src/keys/public_keys.ts +124 -110
  840. package/src/kv-store/config.ts +3 -10
  841. package/src/l1-contracts/index.ts +1 -1
  842. package/src/logs/app_tagging_secret.ts +160 -0
  843. package/src/logs/app_tagging_secret_kind.ts +21 -0
  844. package/src/logs/contract_class_log.ts +15 -14
  845. package/src/logs/index.ts +6 -8
  846. package/src/logs/log_cursor.ts +110 -0
  847. package/src/logs/log_result.ts +104 -0
  848. package/src/logs/logs_query.ts +138 -0
  849. package/src/logs/pre_tag.ts +3 -6
  850. package/src/logs/private_log.ts +9 -3
  851. package/src/logs/query_all_logs_by_tags.ts +98 -0
  852. package/src/logs/shared_secret_derivation.ts +47 -14
  853. package/src/logs/siloed_tag.ts +14 -10
  854. package/src/logs/tag.ts +8 -8
  855. package/src/logs/tagging_index_range.ts +4 -10
  856. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  857. package/src/messaging/index.ts +1 -0
  858. package/src/messaging/l1_to_l2_message.ts +51 -13
  859. package/src/messaging/l2_to_l1_membership.ts +108 -19
  860. package/src/messaging/l2_to_l1_message.ts +29 -9
  861. package/src/noir/index.ts +4 -1
  862. package/src/p2p/attestation_utils.ts +8 -1
  863. package/src/p2p/block_proposal.ts +111 -36
  864. package/src/p2p/checkpoint_attestation.ts +38 -30
  865. package/src/p2p/checkpoint_proposal.ts +128 -73
  866. package/src/p2p/consensus_payload.ts +59 -28
  867. package/src/p2p/gossipable.ts +4 -4
  868. package/src/p2p/index.ts +1 -0
  869. package/src/p2p/signature_utils.ts +117 -23
  870. package/src/p2p/signed_txs.ts +46 -28
  871. package/src/p2p/validated_proposal.ts +43 -0
  872. package/src/parity/parity_base_private_inputs.ts +10 -4
  873. package/src/parity/parity_public_inputs.ts +9 -2
  874. package/src/proofs/chonk_proof.ts +49 -15
  875. package/src/rollup/avm_proof_data.ts +2 -2
  876. package/src/rollup/block_headers_hash.ts +11 -2
  877. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  878. package/src/rollup/checkpoint_header.ts +16 -2
  879. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  880. package/src/schemas/schemas.ts +6 -1
  881. package/src/slashing/helpers.ts +13 -9
  882. package/src/slashing/index.ts +1 -2
  883. package/src/slashing/serialization.ts +1 -81
  884. package/src/slashing/types.ts +24 -49
  885. package/src/slashing/{tally.ts → votes.ts} +1 -1
  886. package/src/stats/stats.ts +6 -2
  887. package/src/tests/factories.ts +111 -90
  888. package/src/tests/mocks.ts +72 -71
  889. package/src/timetable/README.md +609 -0
  890. package/src/timetable/budgets.ts +87 -0
  891. package/src/timetable/build_proposer_timetable.ts +42 -0
  892. package/src/timetable/consensus_timetable.ts +126 -0
  893. package/src/timetable/index.ts +4 -66
  894. package/src/timetable/proposer_timetable.ts +190 -0
  895. package/src/timetable/timetable-example.svg +108 -0
  896. package/src/trees/append_only_tree_snapshot.ts +8 -3
  897. package/src/trees/nullifier_leaf.ts +4 -0
  898. package/src/trees/nullifier_membership_witness.ts +0 -21
  899. package/src/trees/public_data_witness.ts +0 -31
  900. package/src/tx/block_header.ts +10 -5
  901. package/src/tx/execution_payload.ts +2 -1
  902. package/src/tx/fee_provider.ts +10 -0
  903. package/src/tx/global_variable_builder.ts +3 -35
  904. package/src/tx/global_variables.ts +12 -20
  905. package/src/tx/hashed_values.ts +19 -9
  906. package/src/tx/index.ts +1 -0
  907. package/src/tx/indexed_tx_effect.ts +18 -6
  908. package/src/tx/partial_state_reference.ts +8 -3
  909. package/src/tx/private_tx_constant_data.ts +25 -2
  910. package/src/tx/profiling.ts +4 -4
  911. package/src/tx/proven_tx.ts +6 -0
  912. package/src/tx/public_call_request_with_calldata.ts +8 -3
  913. package/src/tx/simulated_tx.ts +31 -19
  914. package/src/tx/state_reference.ts +9 -4
  915. package/src/tx/tree_snapshots.ts +9 -4
  916. package/src/tx/tx.ts +79 -27
  917. package/src/tx/tx_constant_data.ts +8 -3
  918. package/src/tx/tx_context.ts +8 -3
  919. package/src/tx/tx_hash.ts +20 -5
  920. package/src/tx/tx_receipt.ts +265 -85
  921. package/src/tx/validator/error_texts.ts +2 -1
  922. package/src/tx/validator/tx_validator.ts +1 -5
  923. package/src/types/shared.ts +8 -13
  924. package/src/update-checker/dev_version.ts +2 -0
  925. package/src/update-checker/index.ts +1 -0
  926. package/src/update-checker/package_version.ts +10 -23
  927. package/src/validators/errors.ts +17 -0
  928. package/src/validators/schemas.ts +6 -4
  929. package/src/validators/types.ts +21 -2
  930. package/src/versioning/versioning.ts +1 -1
  931. package/src/vks/verification_key.ts +5 -184
  932. package/src/world-state/genesis_data.ts +37 -0
  933. package/src/world-state/index.ts +1 -0
  934. package/src/world-state/world_state_revision.ts +9 -1
  935. package/dest/abi/mocked_keys.d.ts +0 -2
  936. package/dest/abi/mocked_keys.d.ts.map +0 -1
  937. package/dest/abi/mocked_keys.js +0 -1
  938. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  939. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  940. package/dest/block/checkpointed_l2_block.js +0 -46
  941. package/dest/config/pipelining-config.d.ts +0 -19
  942. package/dest/config/pipelining-config.d.ts.map +0 -1
  943. package/dest/config/pipelining-config.js +0 -18
  944. package/dest/interfaces/epoch-prover.d.ts +0 -57
  945. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  946. package/dest/interfaces/epoch-prover.js +0 -1
  947. package/dest/interfaces/get_logs_response.d.ts +0 -97
  948. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  949. package/dest/interfaces/get_logs_response.js +0 -12
  950. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  951. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  952. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  953. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  954. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  955. package/dest/l1-contracts/slash_factory.js +0 -158
  956. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  957. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  958. package/dest/logs/extended_contract_class_log.js +0 -67
  959. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  960. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  961. package/dest/logs/extended_directional_app_tagging_secret.js +0 -79
  962. package/dest/logs/extended_public_log.d.ts +0 -106
  963. package/dest/logs/extended_public_log.d.ts.map +0 -1
  964. package/dest/logs/extended_public_log.js +0 -73
  965. package/dest/logs/log_filter.d.ts +0 -25
  966. package/dest/logs/log_filter.d.ts.map +0 -1
  967. package/dest/logs/log_filter.js +0 -12
  968. package/dest/logs/log_id.d.ts +0 -85
  969. package/dest/logs/log_id.d.ts.map +0 -1
  970. package/dest/logs/log_id.js +0 -94
  971. package/dest/logs/message_context.d.ts +0 -26
  972. package/dest/logs/message_context.d.ts.map +0 -1
  973. package/dest/logs/message_context.js +0 -70
  974. package/dest/logs/pending_tagged_log.d.ts +0 -13
  975. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  976. package/dest/logs/pending_tagged_log.js +0 -34
  977. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  978. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  979. package/dest/logs/tx_scoped_l2_log.js +0 -77
  980. package/dest/slashing/empire.d.ts +0 -31
  981. package/dest/slashing/empire.d.ts.map +0 -1
  982. package/dest/slashing/empire.js +0 -87
  983. package/src/abi/mocked_keys.ts +0 -2
  984. package/src/block/checkpointed_l2_block.ts +0 -70
  985. package/src/config/pipelining-config.ts +0 -31
  986. package/src/interfaces/epoch-prover.ts +0 -72
  987. package/src/interfaces/get_logs_response.ts +0 -35
  988. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  989. package/src/l1-contracts/slash_factory.ts +0 -180
  990. package/src/logs/extended_contract_class_log.ts +0 -87
  991. package/src/logs/extended_directional_app_tagging_secret.ts +0 -98
  992. package/src/logs/extended_public_log.ts +0 -94
  993. package/src/logs/log_filter.ts +0 -36
  994. package/src/logs/log_id.ts +0 -125
  995. package/src/logs/message_context.ts +0 -72
  996. package/src/logs/pending_tagged_log.ts +0 -39
  997. package/src/logs/tx_scoped_l2_log.ts +0 -114
  998. package/src/slashing/empire.ts +0 -104
@@ -1,37 +1,131 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
2
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
- import { makeEthSignDigest } from '@aztec/foundation/crypto/secp256k1-signer';
3
+ import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
4
+ import { EthAddress } from '@aztec/foundation/eth-address';
5
+ import type { Signature } from '@aztec/foundation/eth-signature';
6
+ import { type BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
7
 
5
- export enum SignatureDomainSeparator {
6
- blockProposal = 0,
7
- checkpointAttestation = 1,
8
- attestationsAndSigners = 2,
9
- checkpointProposal = 3,
10
- signedTxs = 4,
11
- }
8
+ import { type TypedDataDefinition, hashTypedData } from 'viem';
9
+ import { z } from 'zod';
10
+
11
+ import type { ZodFor } from '../schemas/index.js';
12
+
13
+ export type CoordinationSignatureType =
14
+ | 'BlockProposal'
15
+ | 'CheckpointProposal'
16
+ | 'CheckpointAttestation'
17
+ | 'AttestationsAndSigners'
18
+ | 'SignedTxs';
19
+
20
+ export type CoordinationSignatureContext = {
21
+ chainId: number;
22
+ rollupAddress: EthAddress;
23
+ };
24
+
25
+ export const EMPTY_COORDINATION_SIGNATURE_CONTEXT: CoordinationSignatureContext = {
26
+ chainId: 0,
27
+ rollupAddress: EthAddress.ZERO,
28
+ };
29
+
30
+ export const coordinationSignatureContextSchema: ZodFor<CoordinationSignatureContext> = z.object({
31
+ chainId: z.number(),
32
+ rollupAddress: EthAddress.schema,
33
+ });
12
34
 
13
35
  export interface Signable {
14
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
36
+ readonly primaryType: CoordinationSignatureType;
37
+ readonly signatureContext: CoordinationSignatureContext;
38
+ getPayloadToSign(): Buffer;
39
+ }
40
+
41
+ export function coordinationSignatureContextEquals(
42
+ a: CoordinationSignatureContext,
43
+ b: CoordinationSignatureContext,
44
+ ): boolean {
45
+ return a.chainId === b.chainId && a.rollupAddress.equals(b.rollupAddress);
46
+ }
47
+
48
+ export function serializeCoordinationSignatureContext(ctx: CoordinationSignatureContext): Buffer {
49
+ return serializeToBuffer([ctx.chainId, ctx.rollupAddress]);
50
+ }
51
+
52
+ export function readCoordinationSignatureContext(reader: BufferReader): CoordinationSignatureContext {
53
+ const chainId = reader.readNumber();
54
+ const rollupAddress = reader.readObject(EthAddress);
55
+ return { chainId, rollupAddress };
15
56
  }
16
57
 
17
58
  /**
18
- * Get the hashed payload for the signature of the `Signable`
19
- * @param s - The `Signable` to sign
20
- * @returns The hashed payload for the signature of the `Signable`
59
+ * Returns true if the signable carries a context matching the node's expected context.
60
+ * Use this at the P2P ingress boundary to reject foreign-chain messages cheaply before
61
+ * performing any signature recovery.
21
62
  */
22
- export function getHashedSignaturePayload(s: Signable, domainSeparator: SignatureDomainSeparator): Buffer32 {
23
- return Buffer32.fromBuffer(keccak256(s.getPayloadToSign(domainSeparator)));
63
+ export function hasValidSignatureContext(signable: Signable, expected: CoordinationSignatureContext): boolean {
64
+ return coordinationSignatureContextEquals(signable.signatureContext, expected);
65
+ }
66
+
67
+ const COORDINATION_SIGNATURE_NAME = 'Aztec Rollup';
68
+ const COORDINATION_SIGNATURE_VERSION = '1';
69
+
70
+ const EIP712_DOMAIN_FIELDS = [
71
+ { name: 'name', type: 'string' },
72
+ { name: 'version', type: 'string' },
73
+ { name: 'chainId', type: 'uint256' },
74
+ { name: 'verifyingContract', type: 'address' },
75
+ ] as const;
76
+
77
+ const COORDINATION_SIGNATURE_TYPES = {
78
+ EIP712Domain: EIP712_DOMAIN_FIELDS,
79
+ BlockProposal: [{ name: 'payloadHash', type: 'bytes32' }],
80
+ CheckpointProposal: [{ name: 'payloadHash', type: 'bytes32' }],
81
+ CheckpointAttestation: [{ name: 'payloadHash', type: 'bytes32' }],
82
+ AttestationsAndSigners: [{ name: 'payloadHash', type: 'bytes32' }],
83
+ SignedTxs: [{ name: 'payloadHash', type: 'bytes32' }],
84
+ } as const;
85
+
86
+ export function getCoordinationSignatureTypedDataForPayloadHash(
87
+ payloadHash: Buffer32,
88
+ type: CoordinationSignatureType,
89
+ context: CoordinationSignatureContext,
90
+ ): TypedDataDefinition {
91
+ return {
92
+ domain: {
93
+ name: COORDINATION_SIGNATURE_NAME,
94
+ version: COORDINATION_SIGNATURE_VERSION,
95
+ chainId: context.chainId,
96
+ verifyingContract: context.rollupAddress.toString() as `0x${string}`,
97
+ },
98
+ types: COORDINATION_SIGNATURE_TYPES,
99
+ primaryType: type,
100
+ message: {
101
+ payloadHash: payloadHash.toString() as `0x${string}`,
102
+ },
103
+ };
104
+ }
105
+
106
+ export function getCoordinationSignatureTypedData(signable: Signable): TypedDataDefinition {
107
+ const payloadHash = getHashedSignaturePayload(signable);
108
+ return getCoordinationSignatureTypedDataForPayloadHash(payloadHash, signable.primaryType, signable.signatureContext);
109
+ }
110
+
111
+ export function getHashedSignaturePayloadTypedData(signable: Signable): Buffer32 {
112
+ return Buffer32.fromString(hashTypedData(getCoordinationSignatureTypedData(signable)));
24
113
  }
25
114
 
26
115
  /**
27
- * Get the hashed payload for the signature of the `Signable` as an Ethereum signed message EIP-712
28
- * @param s - the `Signable` to sign
29
- * @returns The hashed payload for the signature of the `Signable` as an Ethereum signed message
116
+ * Recovers the sender of a gossiped coordination message. Deliberately lenient (allowYParityAsV): a
117
+ * signature whose recovery byte is in yParity form (v ∈ {0, 1}) still resolves to its sender, so the P2P
118
+ * layer can attribute and accept it and then canonicalize on ingress (CheckpointAttestation.
119
+ * withNormalizedSignature, A-1351) before it reaches the L1 bundle. This is intentionally looser than
120
+ * on-chain checkpoint validation (getAttestationInfoFromPayload), which recovers strictly to mirror L1's
121
+ * ECDSA.recover — do not unify the two. These proposal/attestation signatures are P2P-only and never reach
122
+ * L1 verbatim, so leniency here cannot leak a non-canonical byte onto L1.
30
123
  */
31
- export function getHashedSignaturePayloadEthSignedMessage(
32
- s: Signable,
33
- domainSeparator: SignatureDomainSeparator,
34
- ): Buffer32 {
35
- const payload = getHashedSignaturePayload(s, domainSeparator);
36
- return makeEthSignDigest(payload);
124
+ export function recoverCoordinationSigner(signable: Signable, signature: Signature): EthAddress | undefined {
125
+ const digest = getHashedSignaturePayloadTypedData(signable);
126
+ return tryRecoverAddress(digest, signature, { allowYParityAsV: true });
127
+ }
128
+
129
+ export function getHashedSignaturePayload(s: Signable): Buffer32 {
130
+ return Buffer32.fromBuffer(keccak256(s.getPayloadToSign()));
37
131
  }
@@ -1,15 +1,20 @@
1
- import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
3
1
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
2
  import { Signature } from '@aztec/foundation/eth-signature';
5
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
4
 
5
+ import type { TypedDataDefinition } from 'viem';
6
+
7
7
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
8
8
  import { Tx } from '../tx/tx.js';
9
9
  import {
10
- SignatureDomainSeparator,
11
- getHashedSignaturePayload,
12
- getHashedSignaturePayloadEthSignedMessage,
10
+ type CoordinationSignatureContext,
11
+ type CoordinationSignatureType,
12
+ EMPTY_COORDINATION_SIGNATURE_CONTEXT,
13
+ type Signable,
14
+ getCoordinationSignatureTypedData,
15
+ readCoordinationSignatureContext,
16
+ recoverCoordinationSigner,
17
+ serializeCoordinationSignatureContext,
13
18
  } from './signature_utils.js';
14
19
 
15
20
  /**
@@ -17,50 +22,56 @@ import {
17
22
  * The signature is over the transaction objects themselves, providing
18
23
  * data availability guarantees beyond just the transaction hashes.
19
24
  */
20
- export class SignedTxs {
21
- private sender: EthAddress | undefined;
25
+ export class SignedTxs implements Signable {
26
+ readonly primaryType: CoordinationSignatureType = 'SignedTxs';
27
+
28
+ private cachedSender: EthAddress | undefined | null = undefined;
22
29
 
23
30
  constructor(
24
31
  /** The transactions */
25
32
  public readonly txs: Tx[],
26
33
  /** The proposer's signature over the transactions */
27
34
  public readonly signature: Signature,
35
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
36
+ public readonly signatureContext: CoordinationSignatureContext,
28
37
  ) {}
29
38
 
30
- /**
31
- * Get the payload to sign for this signed txs.
32
- */
33
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
34
- return serializeToBuffer([domainSeparator, this.txs.length, this.txs]);
39
+ getPayloadToSign(): Buffer {
40
+ return serializeToBuffer([this.txs.length, this.txs]);
35
41
  }
36
42
 
37
43
  /**
38
- * Lazily evaluate the sender of the signed txs; result is cached
44
+ * Lazily evaluate the sender of the signed txs; result is cached.
39
45
  * @returns The sender address, or undefined if signature recovery fails
40
46
  */
41
47
  getSender(): EthAddress | undefined {
42
- if (!this.sender) {
43
- const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.signedTxs);
44
- this.sender = tryRecoverAddress(hashed, this.signature);
48
+ if (this.cachedSender === undefined) {
49
+ this.cachedSender = recoverCoordinationSigner(this, this.signature) ?? null;
45
50
  }
46
- return this.sender;
51
+ return this.cachedSender ?? undefined;
47
52
  }
48
53
 
49
54
  /**
50
- * Create SignedTxs from a signer function
55
+ * Create SignedTxs from a typed-data signer function
51
56
  */
52
57
  static async createFromSigner(
53
58
  txs: Tx[],
54
- payloadSigner: (payload: Buffer32) => Promise<Signature>,
59
+ signatureContext: CoordinationSignatureContext,
60
+ typedDataSigner: (typedData: TypedDataDefinition) => Promise<Signature>,
55
61
  ): Promise<SignedTxs> {
56
- const tempSignedTxs = new SignedTxs(txs, Signature.empty());
57
- const hashed = getHashedSignaturePayload(tempSignedTxs, SignatureDomainSeparator.signedTxs);
58
- const signature = await payloadSigner(hashed);
59
- return new SignedTxs(txs, signature);
62
+ const tempSignedTxs = new SignedTxs(txs, Signature.empty(), signatureContext);
63
+ const typedData = getCoordinationSignatureTypedData(tempSignedTxs);
64
+ const signature = await typedDataSigner(typedData);
65
+ return new SignedTxs(txs, signature, signatureContext);
60
66
  }
61
67
 
62
68
  toBuffer(): Buffer {
63
- return serializeToBuffer([this.txs.length, this.txs, this.signature]);
69
+ return serializeToBuffer([
70
+ this.txs.length,
71
+ this.txs,
72
+ this.signature,
73
+ serializeCoordinationSignatureContext(this.signatureContext),
74
+ ]);
64
75
  }
65
76
 
66
77
  static fromBuffer(buf: Buffer | BufferReader): SignedTxs {
@@ -71,18 +82,25 @@ export class SignedTxs {
71
82
  }
72
83
  const txs = reader.readArray(txCount, Tx);
73
84
  const signature = reader.readObject(Signature);
74
- return new SignedTxs(txs, signature);
85
+ const signatureContext = readCoordinationSignatureContext(reader);
86
+ return new SignedTxs(txs, signature, signatureContext);
75
87
  }
76
88
 
77
89
  getSize(): number {
78
- return 4 /* txs.length */ + this.txs.reduce((acc, tx) => acc + tx.getSize(), 0) + this.signature.getSize();
90
+ return (
91
+ 4 /* txs.length */ +
92
+ this.txs.reduce((acc, tx) => acc + tx.getSize(), 0) +
93
+ this.signature.getSize() +
94
+ 4 /* chainId */ +
95
+ 20 /* rollupAddress */
96
+ );
79
97
  }
80
98
 
81
99
  static empty(): SignedTxs {
82
- return new SignedTxs([], Signature.empty());
100
+ return new SignedTxs([], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
83
101
  }
84
102
 
85
103
  static random(): SignedTxs {
86
- return new SignedTxs([Tx.random(), Tx.random()], Signature.random());
104
+ return new SignedTxs([Tx.random(), Tx.random()], Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
87
105
  }
88
106
  }
@@ -0,0 +1,43 @@
1
+ import type { Branded } from '@aztec/foundation/branded-types';
2
+
3
+ import type { BlockProposal } from './block_proposal.js';
4
+ import type { CheckpointProposalCore } from './checkpoint_proposal.js';
5
+
6
+ /**
7
+ * A block proposal that has passed p2p ingress validation.
8
+ *
9
+ * Downstream consumers (the validator client's proposal handlers) rely on that validation having already
10
+ * happened and do not repeat it, so this brand marks the proposals they are allowed to receive. It is a
11
+ * compile-time marker only: at runtime a `ValidatedBlockProposal` is just a `BlockProposal`.
12
+ */
13
+ export type ValidatedBlockProposal = Branded<BlockProposal, 'ValidatedBlockProposal'>;
14
+
15
+ /**
16
+ * Marks a block proposal as having passed p2p ingress validation.
17
+ *
18
+ * May only be called at a point where the gossipsub topic validator has accepted the proposal, which covers
19
+ * the signature context, the signature itself, the expected proposer for the slot, the index within the
20
+ * checkpoint, the tx field checks, and the receive-window timeliness check.
21
+ */
22
+ export function ValidatedBlockProposal(proposal: BlockProposal): ValidatedBlockProposal {
23
+ return proposal as ValidatedBlockProposal;
24
+ }
25
+
26
+ /**
27
+ * A checkpoint proposal (without its last block) that has passed p2p ingress validation.
28
+ *
29
+ * Downstream consumers (the validator client's proposal handlers) rely on that validation having already
30
+ * happened and do not repeat it, so this brand marks the proposals they are allowed to receive. It is a
31
+ * compile-time marker only: at runtime a `ValidatedCheckpointProposalCore` is just a `CheckpointProposalCore`.
32
+ */
33
+ export type ValidatedCheckpointProposalCore = Branded<CheckpointProposalCore, 'ValidatedCheckpointProposalCore'>;
34
+
35
+ /**
36
+ * Marks a checkpoint proposal as having passed p2p ingress validation.
37
+ *
38
+ * May only be called at a point where the gossipsub topic validator has accepted the proposal, which covers
39
+ * the expected proposer for the slot and the receive-window timeliness check.
40
+ */
41
+ export function ValidatedCheckpointProposalCore(proposal: CheckpointProposalCore): ValidatedCheckpointProposalCore {
42
+ return proposal as ValidatedCheckpointProposalCore;
43
+ }
@@ -10,9 +10,11 @@ export class ParityBasePrivateInputs {
10
10
  public readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
11
11
  /** Root of the VK tree */
12
12
  public readonly vkTreeRoot: Fr,
13
+ /** Prover identity committed to by the circuit, for sybil protection. */
14
+ public readonly proverId: Fr,
13
15
  ) {}
14
16
 
15
- public static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr): ParityBasePrivateInputs {
17
+ public static fromSlice(array: Fr[], index: number, vkTreeRoot: Fr, proverId: Fr): ParityBasePrivateInputs {
16
18
  // Can't use Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP> due to length
17
19
  if (array.length !== NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
18
20
  throw new Error(
@@ -22,12 +24,12 @@ export class ParityBasePrivateInputs {
22
24
  const start = index * NUM_MSGS_PER_BASE_PARITY;
23
25
  const end = start + NUM_MSGS_PER_BASE_PARITY;
24
26
  const msgs = array.slice(start, end);
25
- return new ParityBasePrivateInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot);
27
+ return new ParityBasePrivateInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot, proverId);
26
28
  }
27
29
 
28
30
  /** Serializes the inputs to a buffer. */
29
31
  toBuffer() {
30
- return serializeToBuffer(this.msgs, this.vkTreeRoot);
32
+ return serializeToBuffer(this.msgs, this.vkTreeRoot, this.proverId);
31
33
  }
32
34
 
33
35
  /** Serializes the inputs to a hex string. */
@@ -41,7 +43,11 @@ export class ParityBasePrivateInputs {
41
43
  */
42
44
  static fromBuffer(buffer: Buffer | BufferReader) {
43
45
  const reader = BufferReader.asReader(buffer);
44
- return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
46
+ return new ParityBasePrivateInputs(
47
+ reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr),
48
+ Fr.fromBuffer(reader),
49
+ Fr.fromBuffer(reader),
50
+ );
45
51
  }
46
52
 
47
53
  /**
@@ -12,6 +12,8 @@ export class ParityPublicInputs {
12
12
  public convertedRoot: Fr,
13
13
  /** Root of the VK tree */
14
14
  public vkTreeRoot: Fr,
15
+ /** Prover identity committed to by the circuit, for sybil protection. */
16
+ public proverId: Fr,
15
17
  ) {
16
18
  if (shaRoot.toBuffer()[0] != 0) {
17
19
  throw new Error(`shaRoot buffer must be 31 bytes. Got 32 bytes`);
@@ -54,7 +56,7 @@ export class ParityPublicInputs {
54
56
  * @returns The instance fields.
55
57
  */
56
58
  static getFields(fields: FieldsOf<ParityPublicInputs>) {
57
- return [fields.shaRoot, fields.convertedRoot, fields.vkTreeRoot] as const;
59
+ return [fields.shaRoot, fields.convertedRoot, fields.vkTreeRoot, fields.proverId] as const;
58
60
  }
59
61
 
60
62
  /**
@@ -64,7 +66,12 @@ export class ParityPublicInputs {
64
66
  */
65
67
  static fromBuffer(buffer: Buffer | BufferReader) {
66
68
  const reader = BufferReader.asReader(buffer);
67
- return new ParityPublicInputs(reader.readObject(Fr), reader.readObject(Fr), Fr.fromBuffer(reader));
69
+ return new ParityPublicInputs(
70
+ reader.readObject(Fr),
71
+ reader.readObject(Fr),
72
+ Fr.fromBuffer(reader),
73
+ Fr.fromBuffer(reader),
74
+ );
68
75
  }
69
76
 
70
77
  /**
@@ -4,16 +4,19 @@ import { times } from '@aztec/foundation/collection';
4
4
  import { randomBytes } from '@aztec/foundation/crypto/random';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
7
- import { BufferReader, numToUInt32BE, serializeToBuffer } from '@aztec/foundation/serialize';
7
+ import { BufferReader, BufferSink } from '@aztec/foundation/serialize';
8
8
 
9
9
  /**
10
- * Serialization format detection for ChonkProof is size-based:
10
+ * Serialization format detection for ChonkProof is value-based on the leading uint32:
11
+ * - EMPTY: [0: uint32] → total = 4 bytes
11
12
  * - UNCOMPRESSED (legacy): [field_count=1632: uint32] [fields...] → total ≈ 52KB (>= 40KB)
12
13
  * - COMPRESSED: [byte_count: uint32] [compressed_bytes] → total ≈ 35KB (< 40KB)
13
14
  *
14
- * Detection: if the first uint32 equals CHONK_PROOF_LENGTH (1632), it's legacy format
15
- * (field count). Otherwise, it's compressed format (byte count). The old uncompressed
16
- * format is never smaller than 40KB; compressed proofs are always smaller than 40KB.
15
+ * Detection from the first uint32: 0 means an empty proof (no fields); CHONK_PROOF_LENGTH
16
+ * (1632) means legacy format (field count); any other value is the compressed byte count.
17
+ * A real compressed proof always has a non-zero byte count, so 0 is an unambiguous sentinel
18
+ * for the empty case. The old uncompressed format is never smaller than 40KB; compressed
19
+ * proofs are always smaller than 40KB.
17
20
  */
18
21
 
19
22
  // CHONK: "Client Honk" - An UltraHonk variant with incremental folding and delayed non-native arithmetic.
@@ -32,7 +35,8 @@ export class ChonkProof {
32
35
  public fields: Fr[],
33
36
  compressedProof?: Buffer,
34
37
  ) {
35
- if (fields.length !== CHONK_PROOF_LENGTH) {
38
+ // An empty proof (no fields) is a valid placeholder; see ChonkProof.empty().
39
+ if (fields.length !== 0 && fields.length !== CHONK_PROOF_LENGTH) {
36
40
  throw new Error(`Invalid ChonkProof length: ${fields.length}`);
37
41
  }
38
42
  this.compressedProof = compressedProof;
@@ -47,7 +51,7 @@ export class ChonkProof {
47
51
  }
48
52
 
49
53
  static empty() {
50
- return new ChonkProof(new Array(CHONK_PROOF_LENGTH).fill(Fr.ZERO));
54
+ return new ChonkProof([]);
51
55
  }
52
56
 
53
57
  static random() {
@@ -77,7 +81,8 @@ export class ChonkProof {
77
81
  * Deserialize a ChonkProof from a buffer.
78
82
  * Supports both legacy (field elements) and compressed (chonk compression) formats.
79
83
  *
80
- * Size-based format detection:
84
+ * Value-based format detection on the leading uint32:
85
+ * - First uint32 == 0: empty proof (no fields), total = 4 bytes
81
86
  * - First uint32 == CHONK_PROOF_LENGTH (1632): legacy format, read field elements
82
87
  * Total proof data ≈ 52KB (always >= 40KB)
83
88
  * - Otherwise: compressed format, first uint32 is byte count of compressed data
@@ -87,6 +92,11 @@ export class ChonkProof {
87
92
  const reader = BufferReader.asReader(buffer);
88
93
  const firstUint32 = reader.readNumber();
89
94
 
95
+ if (firstUint32 === 0) {
96
+ // Empty format: a zero length encodes an empty proof.
97
+ return ChonkProof.empty();
98
+ }
99
+
90
100
  if (firstUint32 === CHONK_PROOF_LENGTH) {
91
101
  // Legacy format: firstUint32 is the field count (1632)
92
102
  // Widen to `number` to prevent TS from narrowing to literal 1632,
@@ -133,13 +143,24 @@ export class ChonkProof {
133
143
  * If compressed bytes are available, uses the compressed format (~1.7x smaller).
134
144
  * Otherwise falls back to legacy field element format.
135
145
  */
136
- public toBuffer() {
146
+ public toBuffer(): Buffer;
147
+ public toBuffer(sink: BufferSink): void;
148
+ public toBuffer(sink?: BufferSink): Buffer | void {
149
+ if (!sink) {
150
+ return BufferSink.serialize(this);
151
+ }
137
152
  if (this.compressedProof) {
138
153
  // Compressed format: [compressed_byte_count: uint32] [compressed_bytes]
139
- return Buffer.concat([numToUInt32BE(this.compressedProof.length), this.compressedProof]);
154
+ sink.writeNumber(this.compressedProof.length);
155
+ sink.writeBytes(this.compressedProof);
156
+ return;
140
157
  }
141
- // Legacy format: [field_count=1632: uint32] [fields...]
142
- return serializeToBuffer(this.fields.length, this.fields);
158
+ // Legacy / empty format: [field_count: uint32] [fields...]. fields.length === 0 emits the empty
159
+ // sentinel (a lone zero uint32) that ChonkProof.fromBuffer detects; fields.length === CHONK_PROOF_LENGTH
160
+ // is the full legacy form. The writeFields fast path skips per-element sinkable dispatch on the 1632
161
+ // leaves and is a no-op when the array is empty.
162
+ sink.writeNumber(this.fields.length);
163
+ sink.writeFields(this.fields);
143
164
  }
144
165
  }
145
166
 
@@ -156,17 +177,24 @@ export class ChonkProofWithPublicInputs {
156
177
  // For recursive verification, use without public inputs via `removePublicInputs()`.
157
178
  public fieldsWithPublicInputs: Fr[],
158
179
  ) {
159
- if (fieldsWithPublicInputs.length < CHONK_PROOF_LENGTH) {
180
+ // An empty proof (no fields) is a valid placeholder; see ChonkProofWithPublicInputs.empty().
181
+ if (fieldsWithPublicInputs.length !== 0 && fieldsWithPublicInputs.length < CHONK_PROOF_LENGTH) {
160
182
  throw new Error(`Invalid ChonkProofWithPublicInputs length: ${fieldsWithPublicInputs.length}`);
161
183
  }
162
184
  }
163
185
 
164
186
  public getPublicInputs() {
187
+ if (this.fieldsWithPublicInputs.length === 0) {
188
+ return [];
189
+ }
165
190
  const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
166
191
  return this.fieldsWithPublicInputs.slice(0, numPublicInputs);
167
192
  }
168
193
 
169
194
  public removePublicInputs() {
195
+ if (this.fieldsWithPublicInputs.length === 0) {
196
+ return new ChonkProof([], this.compressedProof);
197
+ }
170
198
  const numPublicInputs = this.fieldsWithPublicInputs.length - CHONK_PROOF_LENGTH;
171
199
  // Flow compressed proof bytes through so the ChonkProof can serialize efficiently
172
200
  return new ChonkProof(this.fieldsWithPublicInputs.slice(numPublicInputs), this.compressedProof);
@@ -196,8 +224,14 @@ export class ChonkProofWithPublicInputs {
196
224
  return new ChonkProofWithPublicInputs(proof);
197
225
  }
198
226
 
199
- public toBuffer() {
200
- return serializeToBuffer(this.fieldsWithPublicInputs.length, this.fieldsWithPublicInputs);
227
+ public toBuffer(): Buffer;
228
+ public toBuffer(sink: BufferSink): void;
229
+ public toBuffer(sink?: BufferSink): Buffer | void {
230
+ if (!sink) {
231
+ return BufferSink.serialize(this);
232
+ }
233
+ sink.writeNumber(this.fieldsWithPublicInputs.length);
234
+ sink.writeFields(this.fieldsWithPublicInputs);
201
235
  }
202
236
 
203
237
  // Called when constructing from bb proving results.
@@ -1,6 +1,6 @@
1
- import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
1
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS } from '@aztec/constants';
2
2
 
3
3
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
4
4
  import type { ProofDataForFixedVk } from '../proofs/proof_data.js';
5
5
 
6
- export type AvmProofData = ProofDataForFixedVk<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
6
+ export type AvmProofData = ProofDataForFixedVk<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS>;
@@ -1,5 +1,7 @@
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
1
3
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { computeUnbalancedPoseidonRoot } from '@aztec/foundation/trees';
4
+ import { computeUnbalancedMerkleTreeRootAsync } from '@aztec/foundation/trees';
3
5
 
4
6
  import type { BlockHeader } from '../tx/block_header.js';
5
7
 
@@ -7,6 +9,13 @@ export async function computeBlockHeadersHash(blockHeaders: BlockHeader[]): Prom
7
9
  const blockHeaderHashes = await Promise.all(blockHeaders.map(header => header.hash()));
8
10
  // Must match the implementation in merge_block_rollups.nr, with the **unbalanced** rollup structure
9
11
  // (see validate_consecutive_block_rollups.nr > assert_rollups_filled_greedily.nr).
10
- const blockHeadersHash = await computeUnbalancedPoseidonRoot(blockHeaderHashes.map(hash => hash.toBuffer()));
12
+ const blockHeadersHasher = async (left: Uint8Array, right: Uint8Array) =>
13
+ (
14
+ await poseidon2HashWithSeparator([Buffer.from(left), Buffer.from(right)], DomainSeparator.BLOCK_HEADERS_HASH)
15
+ ).toBuffer() as Buffer<ArrayBuffer>;
16
+ const blockHeadersHash = await computeUnbalancedMerkleTreeRootAsync(
17
+ blockHeaderHashes.map(hash => hash.toBuffer()),
18
+ blockHeadersHasher,
19
+ );
11
20
  return Fr.fromBuffer(blockHeadersHash);
12
21
  }
@@ -119,6 +119,19 @@ export class BlockRollupPublicInputs {
119
119
  return this.toBuffer();
120
120
  }
121
121
 
122
+ toInspect() {
123
+ return {
124
+ previousArchiveRoot: this.previousArchive.root.toString(),
125
+ newArchiveRoot: this.newArchive.root.toString(),
126
+ blockHeadersHash: this.blockHeadersHash.toString(),
127
+ inHash: this.inHash.toString(),
128
+ outHash: this.outHash.toString(),
129
+ timestamp: this.timestamp.toString(),
130
+ accumulatedFees: this.accumulatedFees.toString(),
131
+ accumulatedManaUsed: this.accumulatedManaUsed.toString(),
132
+ };
133
+ }
134
+
122
135
  static get schema() {
123
136
  return bufferSchemaFor(BlockRollupPublicInputs);
124
137
  }