@aztec/stdlib 0.0.1-commit.9ef841308 → 0.0.1-commit.a5db02d

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 (983) hide show
  1. package/dest/abi/abi.d.ts +121 -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 +31 -7
  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 -354
  74. package/dest/block/l2_block_source.d.ts.map +1 -1
  75. package/dest/block/l2_block_source.js +81 -1
  76. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -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 +165 -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 +83 -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 +23 -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 +159 -135
  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 +84 -40
  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 +296 -36
  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 +30 -96
  106. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  107. package/dest/checkpoint/checkpoint.js +11 -3
  108. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  109. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint_data.js +12 -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 +11 -3
  131. package/dest/checkpoint/validate.d.ts.map +1 -1
  132. package/dest/checkpoint/validate.js +9 -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 +223 -0
  142. package/dest/config/sequencer-config.d.ts +7 -3
  143. package/dest/config/sequencer-config.d.ts.map +1 -1
  144. package/dest/config/sequencer-config.js +38 -5
  145. package/dest/contract/complete_address.d.ts +3 -2
  146. package/dest/contract/complete_address.d.ts.map +1 -1
  147. package/dest/contract/complete_address.js +6 -2
  148. package/dest/contract/contract_address.d.ts +9 -8
  149. package/dest/contract/contract_address.d.ts.map +1 -1
  150. package/dest/contract/contract_address.js +5 -4
  151. package/dest/contract/contract_deployment_data.d.ts +15 -61
  152. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  153. package/dest/contract/contract_instance.d.ts +19 -3
  154. package/dest/contract/contract_instance.d.ts.map +1 -1
  155. package/dest/contract/contract_instance.js +55 -3
  156. package/dest/contract/interfaces/contract_class.d.ts +15 -86
  157. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  158. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  159. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  160. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  161. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  162. package/dest/contract/interfaces/contract_instance.js +11 -4
  163. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  164. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  165. package/dest/contract/interfaces/node-info.d.ts +11 -1
  166. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  167. package/dest/contract/interfaces/node-info.js +7 -1
  168. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  169. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  170. package/dest/contract/partial_address.d.ts +9 -3
  171. package/dest/contract/partial_address.d.ts.map +1 -1
  172. package/dest/contract/partial_address.js +8 -2
  173. package/dest/contract/private_function.d.ts +1 -1
  174. package/dest/contract/private_function.d.ts.map +1 -1
  175. package/dest/contract/private_function.js +2 -4
  176. package/dest/database-version/database_version.d.ts +5 -11
  177. package/dest/database-version/database_version.d.ts.map +1 -1
  178. package/dest/database-version/version_manager.d.ts +22 -4
  179. package/dest/database-version/version_manager.d.ts.map +1 -1
  180. package/dest/database-version/version_manager.js +87 -6
  181. package/dest/deserialization/index.d.ts +35 -3
  182. package/dest/deserialization/index.d.ts.map +1 -1
  183. package/dest/deserialization/index.js +32 -1
  184. package/dest/epoch-helpers/index.d.ts +6 -22
  185. package/dest/epoch-helpers/index.d.ts.map +1 -1
  186. package/dest/epoch-helpers/index.js +3 -0
  187. package/dest/file-store/factory.d.ts +1 -1
  188. package/dest/file-store/factory.d.ts.map +1 -1
  189. package/dest/file-store/factory.js +7 -0
  190. package/dest/file-store/index.d.ts +2 -1
  191. package/dest/file-store/index.d.ts.map +1 -1
  192. package/dest/file-store/index.js +1 -0
  193. package/dest/file-store/memory.d.ts +24 -0
  194. package/dest/file-store/memory.d.ts.map +1 -0
  195. package/dest/file-store/memory.js +80 -0
  196. package/dest/gas/fee_math.d.ts +49 -0
  197. package/dest/gas/fee_math.d.ts.map +1 -0
  198. package/dest/gas/fee_math.js +80 -0
  199. package/dest/gas/gas.d.ts +9 -14
  200. package/dest/gas/gas.d.ts.map +1 -1
  201. package/dest/gas/gas.js +6 -3
  202. package/dest/gas/gas_fees.d.ts +13 -14
  203. package/dest/gas/gas_fees.d.ts.map +1 -1
  204. package/dest/gas/gas_fees.js +17 -4
  205. package/dest/gas/gas_settings.d.ts +60 -86
  206. package/dest/gas/gas_settings.d.ts.map +1 -1
  207. package/dest/gas/gas_settings.js +49 -9
  208. package/dest/gas/index.d.ts +3 -1
  209. package/dest/gas/index.d.ts.map +1 -1
  210. package/dest/gas/index.js +2 -0
  211. package/dest/gas/tx_gas_limits.d.ts +72 -0
  212. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  213. package/dest/gas/tx_gas_limits.js +85 -0
  214. package/dest/ha-signing/config.d.ts +29 -79
  215. package/dest/ha-signing/config.d.ts.map +1 -1
  216. package/dest/ha-signing/config.js +18 -21
  217. package/dest/ha-signing/index.d.ts +2 -2
  218. package/dest/ha-signing/index.d.ts.map +1 -1
  219. package/dest/ha-signing/index.js +1 -1
  220. package/dest/ha-signing/local_config.d.ts +12 -35
  221. package/dest/ha-signing/local_config.d.ts.map +1 -1
  222. package/dest/ha-signing/local_config.js +9 -3
  223. package/dest/ha-signing/types.d.ts +37 -32
  224. package/dest/ha-signing/types.d.ts.map +1 -1
  225. package/dest/ha-signing/types.js +13 -6
  226. package/dest/hash/hash.d.ts +16 -2
  227. package/dest/hash/hash.d.ts.map +1 -1
  228. package/dest/hash/hash.js +34 -9
  229. package/dest/interfaces/allowed_element.d.ts +4 -28
  230. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  231. package/dest/interfaces/api_limit.d.ts +1 -1
  232. package/dest/interfaces/api_limit.js +1 -1
  233. package/dest/interfaces/archiver.d.ts +27 -32
  234. package/dest/interfaces/archiver.d.ts.map +1 -1
  235. package/dest/interfaces/archiver.js +216 -70
  236. package/dest/interfaces/aztec-node-admin.d.ts +74 -302
  237. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  238. package/dest/interfaces/aztec-node-admin.js +60 -17
  239. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  240. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  241. package/dest/interfaces/aztec-node-debug.js +49 -0
  242. package/dest/interfaces/aztec-node.d.ts +160 -116
  243. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  244. package/dest/interfaces/aztec-node.js +350 -74
  245. package/dest/interfaces/block-builder.d.ts +5 -1
  246. package/dest/interfaces/block-builder.d.ts.map +1 -1
  247. package/dest/interfaces/block_response.d.ts +90 -0
  248. package/dest/interfaces/block_response.d.ts.map +1 -0
  249. package/dest/interfaces/block_response.js +30 -0
  250. package/dest/interfaces/chain_tips.d.ts +11 -0
  251. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  252. package/dest/interfaces/chain_tips.js +6 -0
  253. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  254. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  255. package/dest/interfaces/checkpoint_parameter.js +18 -0
  256. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  257. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  258. package/dest/interfaces/checkpoint_response.js +26 -0
  259. package/dest/interfaces/client.d.ts +9 -2
  260. package/dest/interfaces/client.d.ts.map +1 -1
  261. package/dest/interfaces/client.js +7 -1
  262. package/dest/interfaces/configs.d.ts +66 -134
  263. package/dest/interfaces/configs.d.ts.map +1 -1
  264. package/dest/interfaces/configs.js +14 -2
  265. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  266. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  267. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  268. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  269. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  270. package/dest/interfaces/l1_publish_info.js +26 -0
  271. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  272. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  273. package/dest/interfaces/l2_logs_source.js +5 -0
  274. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  275. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  276. package/dest/interfaces/p2p-bootstrap.js +8 -2
  277. package/dest/interfaces/p2p.d.ts +46 -7
  278. package/dest/interfaces/p2p.d.ts.map +1 -1
  279. package/dest/interfaces/p2p.js +41 -6
  280. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  281. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  282. package/dest/interfaces/prover-agent.d.ts +5 -23
  283. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  284. package/dest/interfaces/prover-agent.js +4 -1
  285. package/dest/interfaces/prover-client.d.ts +7 -29
  286. package/dest/interfaces/prover-client.d.ts.map +1 -1
  287. package/dest/interfaces/prover-client.js +0 -3
  288. package/dest/interfaces/prover-node.d.ts +12 -8
  289. package/dest/interfaces/prover-node.d.ts.map +1 -1
  290. package/dest/interfaces/prover-node.js +37 -16
  291. package/dest/interfaces/proving-job-source.js +24 -4
  292. package/dest/interfaces/proving-job.d.ts +740 -5778
  293. package/dest/interfaces/proving-job.d.ts.map +1 -1
  294. package/dest/interfaces/proving-job.js +14 -5
  295. package/dest/interfaces/public_storage_override.d.ts +22 -0
  296. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  297. package/dest/interfaces/public_storage_override.js +7 -0
  298. package/dest/interfaces/server.d.ts +6 -2
  299. package/dest/interfaces/server.d.ts.map +1 -1
  300. package/dest/interfaces/server.js +5 -1
  301. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  302. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  303. package/dest/interfaces/slasher.d.ts +25 -65
  304. package/dest/interfaces/slasher.d.ts.map +1 -1
  305. package/dest/interfaces/slasher.js +8 -4
  306. package/dest/interfaces/tx_provider.d.ts +6 -1
  307. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  308. package/dest/interfaces/validator.d.ts +58 -239
  309. package/dest/interfaces/validator.d.ts.map +1 -1
  310. package/dest/interfaces/validator.js +8 -1
  311. package/dest/interfaces/world_state.d.ts +15 -2
  312. package/dest/interfaces/world_state.d.ts.map +1 -1
  313. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  314. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  315. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  316. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  317. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  318. package/dest/kernel/hints/key_validation_request.js +20 -18
  319. package/dest/kernel/hints/read_request.js +1 -1
  320. package/dest/kernel/index.d.ts +6 -2
  321. package/dest/kernel/index.d.ts.map +1 -1
  322. package/dest/kernel/index.js +5 -1
  323. package/dest/kernel/log_hash.d.ts +6 -2
  324. package/dest/kernel/log_hash.d.ts.map +1 -1
  325. package/dest/kernel/log_hash.js +23 -11
  326. package/dest/kernel/note_hash.js +1 -1
  327. package/dest/kernel/nullifier.js +1 -1
  328. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  329. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  330. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  331. package/dest/kernel/private_context_inputs.d.ts +4 -3
  332. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  333. package/dest/kernel/private_context_inputs.js +7 -3
  334. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -2
  335. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  336. package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
  337. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  338. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  339. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  340. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  341. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  342. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  343. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  344. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  345. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  346. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  347. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  348. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  349. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  350. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  351. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  352. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  353. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  354. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  355. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  356. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  357. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  358. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  359. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  360. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  361. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  362. package/dest/kernel/private_log_data.d.ts +1 -1
  363. package/dest/kernel/private_log_data.d.ts.map +1 -1
  364. package/dest/kernel/private_log_data.js +1 -1
  365. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  366. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  367. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  368. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  369. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  370. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  371. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  372. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  373. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  374. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  375. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  376. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  377. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  378. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  379. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  380. package/dest/kernel/public_call_request.d.ts +15 -30
  381. package/dest/kernel/public_call_request.d.ts.map +1 -1
  382. package/dest/kernel/public_call_request.js +16 -7
  383. package/dest/keys/derivation.d.ts +45 -6
  384. package/dest/keys/derivation.d.ts.map +1 -1
  385. package/dest/keys/derivation.js +55 -22
  386. package/dest/keys/public_key.d.ts +22 -3
  387. package/dest/keys/public_key.d.ts.map +1 -1
  388. package/dest/keys/public_key.js +20 -1
  389. package/dest/keys/public_keys.d.ts +55 -82
  390. package/dest/keys/public_keys.d.ts.map +1 -1
  391. package/dest/keys/public_keys.js +102 -74
  392. package/dest/kv-store/config.d.ts +3 -6
  393. package/dest/kv-store/config.d.ts.map +1 -1
  394. package/dest/kv-store/config.js +2 -7
  395. package/dest/l1-contracts/index.d.ts +2 -2
  396. package/dest/l1-contracts/index.d.ts.map +1 -1
  397. package/dest/l1-contracts/index.js +1 -1
  398. package/dest/logs/app_tagging_secret.d.ts +69 -0
  399. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  400. package/dest/logs/app_tagging_secret.js +116 -0
  401. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  402. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  403. package/dest/logs/app_tagging_secret_kind.js +17 -0
  404. package/dest/logs/contract_class_log.d.ts +16 -35
  405. package/dest/logs/contract_class_log.d.ts.map +1 -1
  406. package/dest/logs/contract_class_log.js +11 -13
  407. package/dest/logs/index.d.ts +7 -9
  408. package/dest/logs/index.d.ts.map +1 -1
  409. package/dest/logs/index.js +6 -8
  410. package/dest/logs/log_cursor.d.ts +51 -0
  411. package/dest/logs/log_cursor.d.ts.map +1 -0
  412. package/dest/logs/log_cursor.js +82 -0
  413. package/dest/logs/log_result.d.ts +54 -0
  414. package/dest/logs/log_result.d.ts.map +1 -0
  415. package/dest/logs/log_result.js +56 -0
  416. package/dest/logs/logs_query.d.ts +82 -0
  417. package/dest/logs/logs_query.d.ts.map +1 -0
  418. package/dest/logs/logs_query.js +50 -0
  419. package/dest/logs/pre_tag.d.ts +11 -24
  420. package/dest/logs/pre_tag.d.ts.map +1 -1
  421. package/dest/logs/pre_tag.js +2 -2
  422. package/dest/logs/private_log.d.ts +7 -12
  423. package/dest/logs/private_log.d.ts.map +1 -1
  424. package/dest/logs/private_log.js +6 -3
  425. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  426. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  427. package/dest/logs/query_all_logs_by_tags.js +64 -0
  428. package/dest/logs/shared_secret_derivation.d.ts +29 -6
  429. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  430. package/dest/logs/shared_secret_derivation.js +44 -11
  431. package/dest/logs/siloed_tag.d.ts +5 -7
  432. package/dest/logs/siloed_tag.d.ts.map +1 -1
  433. package/dest/logs/siloed_tag.js +7 -1
  434. package/dest/logs/tag.d.ts +5 -6
  435. package/dest/logs/tag.d.ts.map +1 -1
  436. package/dest/logs/tag.js +4 -0
  437. package/dest/logs/tagging_index_range.d.ts +13 -31
  438. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  439. package/dest/logs/tagging_index_range.js +2 -2
  440. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  441. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  442. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  443. package/dest/messaging/index.d.ts +2 -1
  444. package/dest/messaging/index.d.ts.map +1 -1
  445. package/dest/messaging/index.js +1 -0
  446. package/dest/messaging/l1_to_l2_message.d.ts +23 -2
  447. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  448. package/dest/messaging/l1_to_l2_message.js +36 -11
  449. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  450. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  451. package/dest/messaging/l2_to_l1_membership.js +72 -12
  452. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  453. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  454. package/dest/messaging/l2_to_l1_message.js +21 -12
  455. package/dest/noir/index.d.ts +3 -1
  456. package/dest/noir/index.d.ts.map +1 -1
  457. package/dest/note/note.d.ts +2 -2
  458. package/dest/note/note.d.ts.map +1 -1
  459. package/dest/p2p/attestation_utils.d.ts +1 -1
  460. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  461. package/dest/p2p/attestation_utils.js +8 -1
  462. package/dest/p2p/block_proposal.d.ts +31 -14
  463. package/dest/p2p/block_proposal.d.ts.map +1 -1
  464. package/dest/p2p/block_proposal.js +57 -39
  465. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  466. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  467. package/dest/p2p/checkpoint_attestation.js +33 -24
  468. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  469. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  470. package/dest/p2p/checkpoint_proposal.js +59 -51
  471. package/dest/p2p/consensus_payload.d.ts +27 -20
  472. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  473. package/dest/p2p/consensus_payload.js +38 -19
  474. package/dest/p2p/gossipable.d.ts +4 -4
  475. package/dest/p2p/gossipable.d.ts.map +1 -1
  476. package/dest/p2p/signature_utils.d.ts +35 -17
  477. package/dest/p2p/signature_utils.d.ts.map +1 -1
  478. package/dest/p2p/signature_utils.js +125 -20
  479. package/dest/p2p/signed_txs.d.ts +15 -13
  480. package/dest/p2p/signed_txs.d.ts.map +1 -1
  481. package/dest/p2p/signed_txs.js +26 -24
  482. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  483. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  484. package/dest/parity/parity_base_private_inputs.js +7 -5
  485. package/dest/parity/parity_public_inputs.d.ts +8 -4
  486. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  487. package/dest/parity/parity_public_inputs.js +6 -3
  488. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  489. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  490. package/dest/proofs/chonk_proof.d.ts +17 -11
  491. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  492. package/dest/proofs/chonk_proof.js +44 -22
  493. package/dest/proofs/recursive_proof.d.ts +2 -2
  494. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  495. package/dest/rollup/avm_proof_data.d.ts +3 -3
  496. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  497. package/dest/rollup/block_headers_hash.d.ts +1 -1
  498. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  499. package/dest/rollup/block_headers_hash.js +8 -2
  500. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  501. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  502. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  503. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  504. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  505. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  506. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  507. package/dest/rollup/checkpoint_header.d.ts +8 -3
  508. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  509. package/dest/rollup/checkpoint_header.js +20 -10
  510. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  511. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  512. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  513. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  514. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  515. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  516. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  517. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  518. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  519. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  520. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  521. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  522. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  523. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  524. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  525. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  526. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  527. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  528. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  529. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  530. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  531. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  532. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  533. package/dest/schemas/schemas.d.ts +32 -78
  534. package/dest/schemas/schemas.d.ts.map +1 -1
  535. package/dest/schemas/schemas.js +2 -2
  536. package/dest/slashing/helpers.d.ts +2 -2
  537. package/dest/slashing/helpers.d.ts.map +1 -1
  538. package/dest/slashing/helpers.js +10 -7
  539. package/dest/slashing/index.d.ts +2 -3
  540. package/dest/slashing/index.d.ts.map +1 -1
  541. package/dest/slashing/index.js +1 -2
  542. package/dest/slashing/serialization.d.ts +2 -6
  543. package/dest/slashing/serialization.d.ts.map +1 -1
  544. package/dest/slashing/serialization.js +0 -60
  545. package/dest/slashing/types.d.ts +18 -112
  546. package/dest/slashing/types.d.ts.map +1 -1
  547. package/dest/slashing/types.js +16 -24
  548. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  549. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  550. package/dest/slashing/{tally.js → votes.js} +1 -1
  551. package/dest/snapshots/types.d.ts +15 -78
  552. package/dest/snapshots/types.d.ts.map +1 -1
  553. package/dest/stats/stats.d.ts +2 -2
  554. package/dest/stats/stats.d.ts.map +1 -1
  555. package/dest/tests/factories.d.ts +24 -29
  556. package/dest/tests/factories.d.ts.map +1 -1
  557. package/dest/tests/factories.js +81 -59
  558. package/dest/tests/mocks.d.ts +8 -5
  559. package/dest/tests/mocks.d.ts.map +1 -1
  560. package/dest/tests/mocks.js +45 -56
  561. package/dest/timetable/budgets.d.ts +57 -0
  562. package/dest/timetable/budgets.d.ts.map +1 -0
  563. package/dest/timetable/budgets.js +56 -0
  564. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  565. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  566. package/dest/timetable/build_proposer_timetable.js +17 -0
  567. package/dest/timetable/consensus_timetable.d.ts +70 -0
  568. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  569. package/dest/timetable/consensus_timetable.js +89 -0
  570. package/dest/timetable/index.d.ts +5 -37
  571. package/dest/timetable/index.d.ts.map +1 -1
  572. package/dest/timetable/index.js +4 -39
  573. package/dest/timetable/proposer_timetable.d.ts +106 -0
  574. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  575. package/dest/timetable/proposer_timetable.js +132 -0
  576. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  577. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  578. package/dest/trees/append_only_tree_snapshot.js +6 -3
  579. package/dest/trees/nullifier_leaf.d.ts +19 -42
  580. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  581. package/dest/trees/nullifier_leaf.js +3 -0
  582. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  583. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  584. package/dest/trees/nullifier_membership_witness.js +0 -21
  585. package/dest/trees/public_data_leaf.d.ts +21 -53
  586. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  587. package/dest/trees/public_data_witness.d.ts +19 -71
  588. package/dest/trees/public_data_witness.d.ts.map +1 -1
  589. package/dest/trees/public_data_witness.js +0 -27
  590. package/dest/tx/block_header.d.ts +5 -4
  591. package/dest/tx/block_header.d.ts.map +1 -1
  592. package/dest/tx/block_header.js +7 -4
  593. package/dest/tx/call_context.d.ts +4 -14
  594. package/dest/tx/call_context.d.ts.map +1 -1
  595. package/dest/tx/capsule.d.ts +2 -2
  596. package/dest/tx/capsule.d.ts.map +1 -1
  597. package/dest/tx/execution_payload.d.ts +1 -1
  598. package/dest/tx/execution_payload.d.ts.map +1 -1
  599. package/dest/tx/execution_payload.js +1 -1
  600. package/dest/tx/fee_provider.d.ts +10 -0
  601. package/dest/tx/fee_provider.d.ts.map +1 -0
  602. package/dest/tx/fee_provider.js +1 -0
  603. package/dest/tx/function_data.d.ts +4 -10
  604. package/dest/tx/function_data.d.ts.map +1 -1
  605. package/dest/tx/global_variable_builder.d.ts +4 -15
  606. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  607. package/dest/tx/global_variables.d.ts +16 -49
  608. package/dest/tx/global_variables.d.ts.map +1 -1
  609. package/dest/tx/global_variables.js +10 -14
  610. package/dest/tx/hashed_values.d.ts +4 -3
  611. package/dest/tx/hashed_values.d.ts.map +1 -1
  612. package/dest/tx/hashed_values.js +6 -3
  613. package/dest/tx/in_tx.d.ts +5 -17
  614. package/dest/tx/in_tx.d.ts.map +1 -1
  615. package/dest/tx/index.d.ts +2 -1
  616. package/dest/tx/index.d.ts.map +1 -1
  617. package/dest/tx/index.js +1 -0
  618. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  619. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  620. package/dest/tx/indexed_tx_effect.js +9 -6
  621. package/dest/tx/partial_state_reference.d.ts +22 -65
  622. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  623. package/dest/tx/partial_state_reference.js +6 -3
  624. package/dest/tx/private_execution_result.d.ts +6 -16
  625. package/dest/tx/private_execution_result.d.ts.map +1 -1
  626. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  627. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  628. package/dest/tx/private_tx_constant_data.js +13 -4
  629. package/dest/tx/profiling.d.ts +54 -352
  630. package/dest/tx/profiling.d.ts.map +1 -1
  631. package/dest/tx/profiling.js +4 -4
  632. package/dest/tx/protocol_contracts.d.ts +5 -9
  633. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  634. package/dest/tx/proven_tx.d.ts +30 -74
  635. package/dest/tx/proven_tx.d.ts.map +1 -1
  636. package/dest/tx/proven_tx.js +6 -0
  637. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  638. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  639. package/dest/tx/public_call_request_with_calldata.js +6 -3
  640. package/dest/tx/simulated_tx.d.ts +73 -1256
  641. package/dest/tx/simulated_tx.d.ts.map +1 -1
  642. package/dest/tx/simulated_tx.js +13 -11
  643. package/dest/tx/state_reference.d.ts +30 -117
  644. package/dest/tx/state_reference.d.ts.map +1 -1
  645. package/dest/tx/state_reference.js +6 -4
  646. package/dest/tx/tree_snapshots.d.ts +27 -84
  647. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  648. package/dest/tx/tree_snapshots.js +6 -4
  649. package/dest/tx/tx.d.ts +22 -13
  650. package/dest/tx/tx.d.ts.map +1 -1
  651. package/dest/tx/tx.js +44 -22
  652. package/dest/tx/tx_constant_data.d.ts +4 -3
  653. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  654. package/dest/tx/tx_constant_data.js +6 -3
  655. package/dest/tx/tx_context.d.ts +32 -131
  656. package/dest/tx/tx_context.d.ts.map +1 -1
  657. package/dest/tx/tx_context.js +6 -6
  658. package/dest/tx/tx_hash.d.ts +6 -4
  659. package/dest/tx/tx_hash.d.ts.map +1 -1
  660. package/dest/tx/tx_hash.js +13 -5
  661. package/dest/tx/tx_receipt.d.ts +144 -63
  662. package/dest/tx/tx_receipt.d.ts.map +1 -1
  663. package/dest/tx/tx_receipt.js +143 -60
  664. package/dest/tx/validator/error_texts.d.ts +2 -2
  665. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  666. package/dest/tx/validator/error_texts.js +1 -1
  667. package/dest/tx/validator/tx_validator.d.ts +5 -27
  668. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  669. package/dest/tx/validator/tx_validator.js +0 -4
  670. package/dest/types/shared.d.ts +4 -12
  671. package/dest/types/shared.d.ts.map +1 -1
  672. package/dest/types/shared.js +6 -12
  673. package/dest/update-checker/dev_version.d.ts +3 -0
  674. package/dest/update-checker/dev_version.d.ts.map +1 -0
  675. package/dest/update-checker/dev_version.js +1 -0
  676. package/dest/update-checker/index.d.ts +2 -1
  677. package/dest/update-checker/index.d.ts.map +1 -1
  678. package/dest/update-checker/index.js +1 -0
  679. package/dest/update-checker/package_version.d.ts +6 -3
  680. package/dest/update-checker/package_version.d.ts.map +1 -1
  681. package/dest/update-checker/package_version.js +8 -19
  682. package/dest/validators/schemas.d.ts +147 -614
  683. package/dest/validators/schemas.d.ts.map +1 -1
  684. package/dest/validators/schemas.js +6 -4
  685. package/dest/validators/types.d.ts +20 -3
  686. package/dest/validators/types.d.ts.map +1 -1
  687. package/dest/versioning/versioning.js +1 -1
  688. package/dest/vks/verification_key.d.ts +4 -139
  689. package/dest/vks/verification_key.d.ts.map +1 -1
  690. package/dest/vks/verification_key.js +5 -126
  691. package/dest/world-state/genesis_data.d.ts +21 -0
  692. package/dest/world-state/genesis_data.d.ts.map +1 -0
  693. package/dest/world-state/genesis_data.js +8 -0
  694. package/dest/world-state/index.d.ts +2 -1
  695. package/dest/world-state/index.d.ts.map +1 -1
  696. package/dest/world-state/index.js +1 -0
  697. package/dest/world-state/world_state_revision.d.ts +15 -26
  698. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  699. package/dest/world-state/world_state_revision.js +7 -1
  700. package/package.json +12 -11
  701. package/src/abi/abi.ts +53 -19
  702. package/src/abi/authorization_selector.ts +2 -8
  703. package/src/abi/buffer.ts +13 -1
  704. package/src/abi/contract_artifact.ts +30 -6
  705. package/src/abi/encoder.ts +42 -6
  706. package/src/abi/event_selector.ts +2 -8
  707. package/src/abi/function_selector.ts +3 -12
  708. package/src/abi/note_selector.ts +3 -12
  709. package/src/abi/selector.ts +1 -1
  710. package/src/abi/utils.ts +6 -4
  711. package/src/avm/avm.ts +6 -1
  712. package/src/avm/message_pack.ts +12 -3
  713. package/src/avm/revert_code.ts +19 -39
  714. package/src/aztec-address/index.ts +50 -17
  715. package/src/block/attestation_info.ts +16 -11
  716. package/src/block/block_data.ts +3 -4
  717. package/src/block/block_hash.ts +21 -14
  718. package/src/block/block_parameter.ts +72 -4
  719. package/src/block/index.ts +0 -1
  720. package/src/block/l2_block_info.ts +8 -6
  721. package/src/block/l2_block_source.ts +258 -144
  722. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  723. package/src/block/l2_block_stream/index.ts +1 -0
  724. package/src/block/l2_block_stream/interfaces.ts +99 -9
  725. package/src/block/l2_block_stream/l2_block_stream.ts +229 -177
  726. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  727. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  728. package/src/block/proposal/attestations_and_signers.ts +85 -24
  729. package/src/block/test/l2_tips_store_test_suite.ts +271 -22
  730. package/src/block/validate_block_result.ts +48 -2
  731. package/src/checkpoint/checkpoint.ts +13 -3
  732. package/src/checkpoint/checkpoint_data.ts +44 -4
  733. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  734. package/src/checkpoint/digest.ts +28 -0
  735. package/src/checkpoint/index.ts +4 -0
  736. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  737. package/src/checkpoint/simulation_overrides.ts +171 -0
  738. package/src/checkpoint/validate.ts +16 -6
  739. package/src/config/chain-config.ts +13 -16
  740. package/src/config/index.ts +1 -1
  741. package/src/config/network-consensus-config.ts +291 -0
  742. package/src/config/sequencer-config.ts +68 -9
  743. package/src/contract/complete_address.ts +7 -3
  744. package/src/contract/contract_address.ts +10 -9
  745. package/src/contract/contract_instance.ts +73 -3
  746. package/src/contract/interfaces/contract_data_source.ts +2 -4
  747. package/src/contract/interfaces/contract_instance.ts +32 -10
  748. package/src/contract/interfaces/node-info.ts +11 -0
  749. package/src/contract/partial_address.ts +8 -2
  750. package/src/contract/private_function.ts +3 -1
  751. package/src/database-version/version_manager.ts +113 -6
  752. package/src/deserialization/index.ts +35 -2
  753. package/src/epoch-helpers/index.ts +5 -0
  754. package/src/file-store/factory.ts +7 -0
  755. package/src/file-store/index.ts +1 -0
  756. package/src/file-store/memory.ts +94 -0
  757. package/src/gas/README.md +230 -35
  758. package/src/gas/fee_math.ts +120 -0
  759. package/src/gas/gas.ts +8 -3
  760. package/src/gas/gas_fees.ts +26 -13
  761. package/src/gas/gas_settings.ts +63 -15
  762. package/src/gas/index.ts +2 -0
  763. package/src/gas/tx_gas_limits.ts +123 -0
  764. package/src/ha-signing/config.ts +37 -23
  765. package/src/ha-signing/index.ts +3 -1
  766. package/src/ha-signing/local_config.ts +21 -2
  767. package/src/ha-signing/types.ts +48 -34
  768. package/src/hash/hash.ts +29 -10
  769. package/src/interfaces/api_limit.ts +1 -1
  770. package/src/interfaces/archiver.ts +96 -93
  771. package/src/interfaces/aztec-node-admin.ts +36 -21
  772. package/src/interfaces/aztec-node-debug.ts +92 -0
  773. package/src/interfaces/aztec-node.ts +398 -271
  774. package/src/interfaces/block-builder.ts +4 -0
  775. package/src/interfaces/block_response.ts +92 -0
  776. package/src/interfaces/chain_tips.ts +16 -0
  777. package/src/interfaces/checkpoint_parameter.ts +20 -0
  778. package/src/interfaces/checkpoint_response.ts +84 -0
  779. package/src/interfaces/client.ts +8 -1
  780. package/src/interfaces/configs.ts +67 -7
  781. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  782. package/src/interfaces/l1_publish_info.ts +40 -0
  783. package/src/interfaces/l2_logs_source.ts +13 -42
  784. package/src/interfaces/merkle_tree_operations.ts +3 -2
  785. package/src/interfaces/p2p-bootstrap.ts +2 -2
  786. package/src/interfaces/p2p.ts +59 -19
  787. package/src/interfaces/private_kernel_prover.ts +98 -12
  788. package/src/interfaces/prover-agent.ts +1 -1
  789. package/src/interfaces/prover-client.ts +3 -8
  790. package/src/interfaces/prover-node.ts +36 -21
  791. package/src/interfaces/proving-job-source.ts +4 -4
  792. package/src/interfaces/proving-job.ts +18 -6
  793. package/src/interfaces/public_storage_override.ts +26 -0
  794. package/src/interfaces/server.ts +5 -1
  795. package/src/interfaces/server_circuit_prover.ts +2 -2
  796. package/src/interfaces/slasher.ts +17 -10
  797. package/src/interfaces/tx_provider.ts +6 -0
  798. package/src/interfaces/validator.ts +44 -10
  799. package/src/interfaces/world_state.ts +15 -1
  800. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  801. package/src/kernel/hints/key_validation_request.ts +18 -16
  802. package/src/kernel/hints/read_request.ts +1 -1
  803. package/src/kernel/index.ts +5 -1
  804. package/src/kernel/log_hash.ts +36 -13
  805. package/src/kernel/note_hash.ts +1 -1
  806. package/src/kernel/nullifier.ts +1 -1
  807. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  808. package/src/kernel/private_context_inputs.ts +10 -3
  809. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
  810. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  811. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  812. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  813. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  814. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  815. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  816. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  817. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  818. package/src/kernel/private_log_data.ts +4 -1
  819. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  820. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  821. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  822. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  823. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  824. package/src/kernel/public_call_request.ts +22 -7
  825. package/src/keys/derivation.ts +79 -22
  826. package/src/keys/public_key.ts +26 -2
  827. package/src/keys/public_keys.ts +124 -110
  828. package/src/kv-store/config.ts +3 -10
  829. package/src/l1-contracts/index.ts +1 -1
  830. package/src/logs/app_tagging_secret.ts +160 -0
  831. package/src/logs/app_tagging_secret_kind.ts +21 -0
  832. package/src/logs/contract_class_log.ts +15 -14
  833. package/src/logs/index.ts +6 -8
  834. package/src/logs/log_cursor.ts +110 -0
  835. package/src/logs/log_result.ts +104 -0
  836. package/src/logs/logs_query.ts +138 -0
  837. package/src/logs/pre_tag.ts +3 -6
  838. package/src/logs/private_log.ts +9 -3
  839. package/src/logs/query_all_logs_by_tags.ts +98 -0
  840. package/src/logs/shared_secret_derivation.ts +47 -14
  841. package/src/logs/siloed_tag.ts +14 -10
  842. package/src/logs/tag.ts +8 -8
  843. package/src/logs/tagging_index_range.ts +4 -10
  844. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  845. package/src/messaging/index.ts +1 -0
  846. package/src/messaging/l1_to_l2_message.ts +51 -13
  847. package/src/messaging/l2_to_l1_membership.ts +108 -19
  848. package/src/messaging/l2_to_l1_message.ts +29 -9
  849. package/src/noir/index.ts +2 -0
  850. package/src/p2p/attestation_utils.ts +8 -1
  851. package/src/p2p/block_proposal.ts +111 -36
  852. package/src/p2p/checkpoint_attestation.ts +38 -30
  853. package/src/p2p/checkpoint_proposal.ts +128 -73
  854. package/src/p2p/consensus_payload.ts +59 -28
  855. package/src/p2p/gossipable.ts +4 -4
  856. package/src/p2p/signature_utils.ts +117 -23
  857. package/src/p2p/signed_txs.ts +46 -28
  858. package/src/parity/parity_base_private_inputs.ts +10 -4
  859. package/src/parity/parity_public_inputs.ts +9 -2
  860. package/src/proofs/chonk_proof.ts +49 -15
  861. package/src/rollup/avm_proof_data.ts +2 -2
  862. package/src/rollup/block_headers_hash.ts +11 -2
  863. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  864. package/src/rollup/checkpoint_header.ts +16 -2
  865. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  866. package/src/schemas/schemas.ts +6 -1
  867. package/src/slashing/helpers.ts +13 -9
  868. package/src/slashing/index.ts +1 -2
  869. package/src/slashing/serialization.ts +1 -81
  870. package/src/slashing/types.ts +24 -49
  871. package/src/slashing/{tally.ts → votes.ts} +1 -1
  872. package/src/stats/stats.ts +6 -2
  873. package/src/tests/factories.ts +111 -86
  874. package/src/tests/mocks.ts +72 -71
  875. package/src/timetable/README.md +609 -0
  876. package/src/timetable/budgets.ts +87 -0
  877. package/src/timetable/build_proposer_timetable.ts +42 -0
  878. package/src/timetable/consensus_timetable.ts +126 -0
  879. package/src/timetable/index.ts +4 -66
  880. package/src/timetable/proposer_timetable.ts +190 -0
  881. package/src/timetable/timetable-example.svg +108 -0
  882. package/src/trees/append_only_tree_snapshot.ts +8 -3
  883. package/src/trees/nullifier_leaf.ts +4 -0
  884. package/src/trees/nullifier_membership_witness.ts +0 -21
  885. package/src/trees/public_data_witness.ts +0 -31
  886. package/src/tx/block_header.ts +10 -5
  887. package/src/tx/execution_payload.ts +2 -1
  888. package/src/tx/fee_provider.ts +10 -0
  889. package/src/tx/global_variable_builder.ts +3 -20
  890. package/src/tx/global_variables.ts +12 -20
  891. package/src/tx/hashed_values.ts +8 -3
  892. package/src/tx/index.ts +1 -0
  893. package/src/tx/indexed_tx_effect.ts +18 -6
  894. package/src/tx/partial_state_reference.ts +8 -3
  895. package/src/tx/private_tx_constant_data.ts +25 -2
  896. package/src/tx/profiling.ts +4 -4
  897. package/src/tx/proven_tx.ts +6 -0
  898. package/src/tx/public_call_request_with_calldata.ts +8 -3
  899. package/src/tx/simulated_tx.ts +22 -21
  900. package/src/tx/state_reference.ts +9 -4
  901. package/src/tx/tree_snapshots.ts +9 -4
  902. package/src/tx/tx.ts +60 -24
  903. package/src/tx/tx_constant_data.ts +8 -3
  904. package/src/tx/tx_context.ts +8 -3
  905. package/src/tx/tx_hash.ts +20 -5
  906. package/src/tx/tx_receipt.ts +265 -85
  907. package/src/tx/validator/error_texts.ts +2 -1
  908. package/src/tx/validator/tx_validator.ts +1 -5
  909. package/src/types/shared.ts +8 -13
  910. package/src/update-checker/dev_version.ts +2 -0
  911. package/src/update-checker/index.ts +1 -0
  912. package/src/update-checker/package_version.ts +10 -23
  913. package/src/validators/schemas.ts +6 -4
  914. package/src/validators/types.ts +21 -2
  915. package/src/versioning/versioning.ts +1 -1
  916. package/src/vks/verification_key.ts +5 -184
  917. package/src/world-state/genesis_data.ts +37 -0
  918. package/src/world-state/index.ts +1 -0
  919. package/src/world-state/world_state_revision.ts +9 -1
  920. package/dest/abi/mocked_keys.d.ts +0 -2
  921. package/dest/abi/mocked_keys.d.ts.map +0 -1
  922. package/dest/abi/mocked_keys.js +0 -1
  923. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  924. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  925. package/dest/block/checkpointed_l2_block.js +0 -46
  926. package/dest/config/pipelining-config.d.ts +0 -19
  927. package/dest/config/pipelining-config.d.ts.map +0 -1
  928. package/dest/config/pipelining-config.js +0 -18
  929. package/dest/interfaces/epoch-prover.d.ts +0 -57
  930. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  931. package/dest/interfaces/epoch-prover.js +0 -1
  932. package/dest/interfaces/get_logs_response.d.ts +0 -97
  933. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  934. package/dest/interfaces/get_logs_response.js +0 -12
  935. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  936. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  937. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  938. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  939. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  940. package/dest/l1-contracts/slash_factory.js +0 -158
  941. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  942. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  943. package/dest/logs/extended_contract_class_log.js +0 -67
  944. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  945. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  946. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  947. package/dest/logs/extended_public_log.d.ts +0 -106
  948. package/dest/logs/extended_public_log.d.ts.map +0 -1
  949. package/dest/logs/extended_public_log.js +0 -73
  950. package/dest/logs/log_filter.d.ts +0 -25
  951. package/dest/logs/log_filter.d.ts.map +0 -1
  952. package/dest/logs/log_filter.js +0 -12
  953. package/dest/logs/log_id.d.ts +0 -85
  954. package/dest/logs/log_id.d.ts.map +0 -1
  955. package/dest/logs/log_id.js +0 -94
  956. package/dest/logs/message_context.d.ts +0 -26
  957. package/dest/logs/message_context.d.ts.map +0 -1
  958. package/dest/logs/message_context.js +0 -70
  959. package/dest/logs/pending_tagged_log.d.ts +0 -13
  960. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  961. package/dest/logs/pending_tagged_log.js +0 -34
  962. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  963. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  964. package/dest/logs/tx_scoped_l2_log.js +0 -77
  965. package/dest/slashing/empire.d.ts +0 -31
  966. package/dest/slashing/empire.d.ts.map +0 -1
  967. package/dest/slashing/empire.js +0 -87
  968. package/src/abi/mocked_keys.ts +0 -2
  969. package/src/block/checkpointed_l2_block.ts +0 -70
  970. package/src/config/pipelining-config.ts +0 -31
  971. package/src/interfaces/epoch-prover.ts +0 -72
  972. package/src/interfaces/get_logs_response.ts +0 -35
  973. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  974. package/src/l1-contracts/slash_factory.ts +0 -180
  975. package/src/logs/extended_contract_class_log.ts +0 -87
  976. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  977. package/src/logs/extended_public_log.ts +0 -94
  978. package/src/logs/log_filter.ts +0 -36
  979. package/src/logs/log_id.ts +0 -125
  980. package/src/logs/message_context.ts +0 -72
  981. package/src/logs/pending_tagged_log.ts +0 -39
  982. package/src/logs/tx_scoped_l2_log.ts +0 -114
  983. 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
  }
@@ -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
  }
@@ -52,6 +52,8 @@ export class CheckpointHeader {
52
52
  public gasFees: GasFees,
53
53
  /** Total mana used in the block, computed by the root rollup circuit */
54
54
  public totalManaUsed: Fr,
55
+ /** Total fees accrued across the checkpoint. */
56
+ public accumulatedFees: Fr,
55
57
  ) {}
56
58
 
57
59
  static get schema(): ZodFor<CheckpointHeader> {
@@ -68,6 +70,7 @@ export class CheckpointHeader {
68
70
  feeRecipient: schemas.AztecAddress,
69
71
  gasFees: GasFees.schema,
70
72
  totalManaUsed: schemas.Fr,
73
+ accumulatedFees: schemas.Fr,
71
74
  })
72
75
  .transform(CheckpointHeader.from);
73
76
  }
@@ -85,6 +88,7 @@ export class CheckpointHeader {
85
88
  fields.feeRecipient,
86
89
  fields.gasFees,
87
90
  fields.totalManaUsed,
91
+ fields.accumulatedFees,
88
92
  ] as const;
89
93
  }
90
94
 
@@ -107,6 +111,7 @@ export class CheckpointHeader {
107
111
  reader.readObject(AztecAddress),
108
112
  reader.readObject(GasFees),
109
113
  reader.readObject(Fr),
114
+ reader.readObject(Fr),
110
115
  );
111
116
  }
112
117
 
@@ -122,7 +127,8 @@ export class CheckpointHeader {
122
127
  this.coinbase.equals(other.coinbase) &&
123
128
  this.feeRecipient.equals(other.feeRecipient) &&
124
129
  this.gasFees.equals(other.gasFees) &&
125
- this.totalManaUsed.equals(other.totalManaUsed)
130
+ this.totalManaUsed.equals(other.totalManaUsed) &&
131
+ this.accumulatedFees.equals(other.accumulatedFees)
126
132
  );
127
133
  }
128
134
 
@@ -151,6 +157,7 @@ export class CheckpointHeader {
151
157
  this.feeRecipient,
152
158
  this.gasFees,
153
159
  this.totalManaUsed,
160
+ this.accumulatedFees,
154
161
  ]);
155
162
  }
156
163
 
@@ -171,6 +178,7 @@ export class CheckpointHeader {
171
178
  feeRecipient: AztecAddress.ZERO,
172
179
  gasFees: GasFees.empty(),
173
180
  totalManaUsed: Fr.ZERO,
181
+ accumulatedFees: Fr.ZERO,
174
182
  ...fields,
175
183
  });
176
184
  }
@@ -188,6 +196,7 @@ export class CheckpointHeader {
188
196
  feeRecipient: new AztecAddress(Fr.random()),
189
197
  gasFees: GasFees.random(),
190
198
  totalManaUsed: new Fr(BigInt(Math.floor(Math.random() * 1000000))),
199
+ accumulatedFees: new Fr(BigInt(Math.floor(Math.random() * 1000000))),
191
200
  ...overrides,
192
201
  });
193
202
  }
@@ -204,7 +213,8 @@ export class CheckpointHeader {
204
213
  this.coinbase.isZero() &&
205
214
  this.feeRecipient.isZero() &&
206
215
  this.gasFees.isEmpty() &&
207
- this.totalManaUsed.isZero()
216
+ this.totalManaUsed.isZero() &&
217
+ this.accumulatedFees.isZero()
208
218
  );
209
219
  }
210
220
 
@@ -233,6 +243,7 @@ export class CheckpointHeader {
233
243
  new AztecAddress(hexToBuffer(header.feeRecipient)),
234
244
  new GasFees(header.gasFees.feePerDaGas, header.gasFees.feePerL2Gas),
235
245
  new Fr(header.totalManaUsed),
246
+ new Fr(header.accumulatedFees),
236
247
  );
237
248
  }
238
249
 
@@ -260,6 +271,7 @@ export class CheckpointHeader {
260
271
  feePerL2Gas: this.gasFees.feePerL2Gas,
261
272
  },
262
273
  totalManaUsed: this.totalManaUsed.toBigInt(),
274
+ accumulatedFees: this.accumulatedFees.toBigInt(),
263
275
  };
264
276
  }
265
277
 
@@ -276,6 +288,7 @@ export class CheckpointHeader {
276
288
  feeRecipient: this.feeRecipient.toString(),
277
289
  gasFees: this.gasFees.toInspect(),
278
290
  totalManaUsed: this.totalManaUsed.toBigInt(),
291
+ accumulatedFees: this.accumulatedFees.toBigInt(),
279
292
  };
280
293
  }
281
294
 
@@ -292,6 +305,7 @@ export class CheckpointHeader {
292
305
  feeRecipient: ${this.feeRecipient.toString()},
293
306
  gasFees: { da:${this.gasFees.feePerDaGas}, l2:${this.gasFees.feePerL2Gas} },
294
307
  totalManaUsed: ${this.totalManaUsed.toBigInt()},
308
+ accumulatedFees: ${this.accumulatedFees.toBigInt()},
295
309
  }`;
296
310
  }
297
311
  }