@aztec/stdlib 0.0.1-commit.a89ec08 → 0.0.1-commit.aa0c64f

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 (1119) hide show
  1. package/dest/abi/abi.d.ts +146 -1050
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +34 -60
  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 +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +40 -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/utils.d.ts +1 -1
  26. package/dest/abi/utils.d.ts.map +1 -1
  27. package/dest/abi/utils.js +1 -1
  28. package/dest/auth_witness/auth_witness.d.ts +2 -2
  29. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  30. package/dest/avm/avm.d.ts +1756 -10463
  31. package/dest/avm/avm.d.ts.map +1 -1
  32. package/dest/avm/avm.js +7 -4
  33. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  34. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  35. package/dest/avm/avm_accumulated_data.js +2 -2
  36. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  37. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  38. package/dest/avm/avm_circuit_public_inputs.js +2 -2
  39. package/dest/avm/avm_proving_request.d.ts +674 -5467
  40. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  41. package/dest/avm/index.d.ts +1 -6
  42. package/dest/avm/index.d.ts.map +1 -1
  43. package/dest/avm/index.js +0 -5
  44. package/dest/avm/message_pack.js +12 -3
  45. package/dest/avm/public_data_write.d.ts +6 -12
  46. package/dest/avm/public_data_write.d.ts.map +1 -1
  47. package/dest/avm/revert_code.d.ts +1 -7
  48. package/dest/avm/revert_code.d.ts.map +1 -1
  49. package/dest/avm/revert_code.js +0 -3
  50. package/dest/aztec-address/index.d.ts +42 -12
  51. package/dest/aztec-address/index.d.ts.map +1 -1
  52. package/dest/aztec-address/index.js +40 -13
  53. package/dest/block/attestation_info.d.ts +3 -2
  54. package/dest/block/attestation_info.d.ts.map +1 -1
  55. package/dest/block/attestation_info.js +10 -5
  56. package/dest/block/block_data.d.ts +13 -38
  57. package/dest/block/block_data.d.ts.map +1 -1
  58. package/dest/block/block_data.js +2 -2
  59. package/dest/block/block_hash.d.ts +11 -10
  60. package/dest/block/block_hash.d.ts.map +1 -1
  61. package/dest/block/block_hash.js +10 -9
  62. package/dest/block/block_parameter.d.ts +37 -4
  63. package/dest/block/block_parameter.d.ts.map +1 -1
  64. package/dest/block/block_parameter.js +53 -2
  65. package/dest/block/in_block.d.ts +5 -24
  66. package/dest/block/in_block.d.ts.map +1 -1
  67. package/dest/block/index.d.ts +1 -2
  68. package/dest/block/index.d.ts.map +1 -1
  69. package/dest/block/index.js +0 -1
  70. package/dest/block/l2_block.d.ts +13 -41
  71. package/dest/block/l2_block.d.ts.map +1 -1
  72. package/dest/block/l2_block_info.d.ts +10 -29
  73. package/dest/block/l2_block_info.d.ts.map +1 -1
  74. package/dest/block/l2_block_info.js +6 -5
  75. package/dest/block/l2_block_source.d.ts +228 -354
  76. package/dest/block/l2_block_source.d.ts.map +1 -1
  77. package/dest/block/l2_block_source.js +81 -1
  78. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  79. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  80. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  81. package/dest/block/l2_block_stream/index.d.ts +2 -1
  82. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  83. package/dest/block/l2_block_stream/index.js +1 -0
  84. package/dest/block/l2_block_stream/interfaces.d.ts +81 -11
  85. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  86. package/dest/block/l2_block_stream/interfaces.js +25 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/l2_block_stream.js +159 -135
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  93. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  96. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  97. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  98. package/dest/block/proposal/attestations_and_signers.js +73 -25
  99. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  100. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.js +296 -36
  104. package/dest/block/validate_block_result.d.ts +16 -1
  105. package/dest/block/validate_block_result.d.ts.map +1 -1
  106. package/dest/block/validate_block_result.js +18 -3
  107. package/dest/checkpoint/checkpoint.d.ts +30 -96
  108. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint.js +11 -3
  110. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  111. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint_data.js +12 -0
  113. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  114. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  115. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  116. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  117. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  118. package/dest/checkpoint/digest.d.ts +18 -0
  119. package/dest/checkpoint/digest.d.ts.map +1 -0
  120. package/dest/checkpoint/digest.js +12 -0
  121. package/dest/checkpoint/index.d.ts +5 -1
  122. package/dest/checkpoint/index.d.ts.map +1 -1
  123. package/dest/checkpoint/index.js +4 -0
  124. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  125. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  126. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  127. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  128. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  129. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  130. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  131. package/dest/checkpoint/simulation_overrides.js +98 -0
  132. package/dest/checkpoint/validate.d.ts +11 -3
  133. package/dest/checkpoint/validate.d.ts.map +1 -1
  134. package/dest/checkpoint/validate.js +9 -6
  135. package/dest/config/chain-config.d.ts +4 -9
  136. package/dest/config/chain-config.d.ts.map +1 -1
  137. package/dest/config/chain-config.js +13 -12
  138. package/dest/config/index.d.ts +2 -1
  139. package/dest/config/index.d.ts.map +1 -1
  140. package/dest/config/index.js +1 -0
  141. package/dest/config/network-consensus-config.d.ts +72 -0
  142. package/dest/config/network-consensus-config.d.ts.map +1 -0
  143. package/dest/config/network-consensus-config.js +223 -0
  144. package/dest/config/sequencer-config.d.ts +9 -3
  145. package/dest/config/sequencer-config.d.ts.map +1 -1
  146. package/dest/config/sequencer-config.js +39 -5
  147. package/dest/contract/complete_address.d.ts +3 -2
  148. package/dest/contract/complete_address.d.ts.map +1 -1
  149. package/dest/contract/complete_address.js +6 -2
  150. package/dest/contract/contract_address.d.ts +10 -9
  151. package/dest/contract/contract_address.d.ts.map +1 -1
  152. package/dest/contract/contract_address.js +6 -5
  153. package/dest/contract/contract_class.d.ts +1 -1
  154. package/dest/contract/contract_class.d.ts.map +1 -1
  155. package/dest/contract/contract_class.js +3 -2
  156. package/dest/contract/contract_class_id.d.ts +2 -2
  157. package/dest/contract/contract_class_id.js +2 -2
  158. package/dest/contract/contract_deployment_data.d.ts +15 -61
  159. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  160. package/dest/contract/contract_instance.d.ts +19 -3
  161. package/dest/contract/contract_instance.d.ts.map +1 -1
  162. package/dest/contract/contract_instance.js +55 -3
  163. package/dest/contract/index.d.ts +1 -4
  164. package/dest/contract/index.d.ts.map +1 -1
  165. package/dest/contract/index.js +0 -3
  166. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  167. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  168. package/dest/contract/interfaces/contract_class.js +1 -28
  169. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  170. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  171. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  172. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  173. package/dest/contract/interfaces/contract_instance.js +11 -4
  174. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  175. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  176. package/dest/contract/interfaces/node-info.d.ts +11 -1
  177. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  178. package/dest/contract/interfaces/node-info.js +7 -1
  179. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  180. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  181. package/dest/contract/partial_address.d.ts +9 -3
  182. package/dest/contract/partial_address.d.ts.map +1 -1
  183. package/dest/contract/partial_address.js +8 -2
  184. package/dest/contract/private_function.d.ts +1 -1
  185. package/dest/contract/private_function.d.ts.map +1 -1
  186. package/dest/contract/private_function.js +2 -4
  187. package/dest/database-version/database_version.d.ts +5 -11
  188. package/dest/database-version/database_version.d.ts.map +1 -1
  189. package/dest/database-version/version_manager.d.ts +22 -4
  190. package/dest/database-version/version_manager.d.ts.map +1 -1
  191. package/dest/database-version/version_manager.js +87 -6
  192. package/dest/deserialization/index.d.ts +35 -3
  193. package/dest/deserialization/index.d.ts.map +1 -1
  194. package/dest/deserialization/index.js +32 -1
  195. package/dest/epoch-helpers/index.d.ts +6 -22
  196. package/dest/epoch-helpers/index.d.ts.map +1 -1
  197. package/dest/epoch-helpers/index.js +3 -0
  198. package/dest/file-store/factory.d.ts +4 -3
  199. package/dest/file-store/factory.d.ts.map +1 -1
  200. package/dest/file-store/factory.js +9 -2
  201. package/dest/file-store/http.d.ts +9 -2
  202. package/dest/file-store/http.d.ts.map +1 -1
  203. package/dest/file-store/http.js +20 -9
  204. package/dest/file-store/index.d.ts +3 -1
  205. package/dest/file-store/index.d.ts.map +1 -1
  206. package/dest/file-store/index.js +1 -0
  207. package/dest/file-store/memory.d.ts +24 -0
  208. package/dest/file-store/memory.d.ts.map +1 -0
  209. package/dest/file-store/memory.js +80 -0
  210. package/dest/gas/fee_math.d.ts +49 -0
  211. package/dest/gas/fee_math.d.ts.map +1 -0
  212. package/dest/gas/fee_math.js +80 -0
  213. package/dest/gas/gas.d.ts +9 -14
  214. package/dest/gas/gas.d.ts.map +1 -1
  215. package/dest/gas/gas.js +6 -3
  216. package/dest/gas/gas_fees.d.ts +13 -14
  217. package/dest/gas/gas_fees.d.ts.map +1 -1
  218. package/dest/gas/gas_fees.js +17 -4
  219. package/dest/gas/gas_settings.d.ts +33 -96
  220. package/dest/gas/gas_settings.d.ts.map +1 -1
  221. package/dest/gas/gas_settings.js +15 -19
  222. package/dest/gas/index.d.ts +3 -1
  223. package/dest/gas/index.d.ts.map +1 -1
  224. package/dest/gas/index.js +2 -0
  225. package/dest/gas/tx_gas_limits.d.ts +72 -0
  226. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  227. package/dest/gas/tx_gas_limits.js +85 -0
  228. package/dest/ha-signing/config.d.ts +86 -0
  229. package/dest/ha-signing/config.d.ts.map +1 -0
  230. package/dest/ha-signing/config.js +94 -0
  231. package/dest/ha-signing/index.d.ts +4 -0
  232. package/dest/ha-signing/index.d.ts.map +1 -0
  233. package/dest/ha-signing/index.js +3 -0
  234. package/dest/ha-signing/local_config.d.ts +40 -0
  235. package/dest/ha-signing/local_config.d.ts.map +1 -0
  236. package/dest/ha-signing/local_config.js +30 -0
  237. package/dest/ha-signing/types.d.ts +90 -0
  238. package/dest/ha-signing/types.d.ts.map +1 -0
  239. package/dest/ha-signing/types.js +39 -0
  240. package/dest/hash/hash.d.ts +16 -2
  241. package/dest/hash/hash.d.ts.map +1 -1
  242. package/dest/hash/hash.js +34 -9
  243. package/dest/interfaces/allowed_element.d.ts +4 -28
  244. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  245. package/dest/interfaces/api_limit.d.ts +1 -1
  246. package/dest/interfaces/api_limit.js +1 -1
  247. package/dest/interfaces/archiver.d.ts +27 -32
  248. package/dest/interfaces/archiver.d.ts.map +1 -1
  249. package/dest/interfaces/archiver.js +216 -70
  250. package/dest/interfaces/aztec-node-admin.d.ts +74 -296
  251. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  252. package/dest/interfaces/aztec-node-admin.js +60 -17
  253. package/dest/interfaces/aztec-node-debug.d.ts +40 -2
  254. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -1
  255. package/dest/interfaces/aztec-node-debug.js +33 -2
  256. package/dest/interfaces/aztec-node.d.ts +160 -116
  257. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  258. package/dest/interfaces/aztec-node.js +350 -74
  259. package/dest/interfaces/block-builder.d.ts +11 -2
  260. package/dest/interfaces/block-builder.d.ts.map +1 -1
  261. package/dest/interfaces/block_response.d.ts +90 -0
  262. package/dest/interfaces/block_response.d.ts.map +1 -0
  263. package/dest/interfaces/block_response.js +30 -0
  264. package/dest/interfaces/chain_tips.d.ts +11 -0
  265. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  266. package/dest/interfaces/chain_tips.js +6 -0
  267. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  268. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  269. package/dest/interfaces/checkpoint_parameter.js +18 -0
  270. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  271. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  272. package/dest/interfaces/checkpoint_response.js +26 -0
  273. package/dest/interfaces/client.d.ts +8 -2
  274. package/dest/interfaces/client.d.ts.map +1 -1
  275. package/dest/interfaces/client.js +6 -1
  276. package/dest/interfaces/configs.d.ts +66 -134
  277. package/dest/interfaces/configs.d.ts.map +1 -1
  278. package/dest/interfaces/configs.js +14 -2
  279. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  280. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  281. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  282. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  283. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  284. package/dest/interfaces/l1_publish_info.js +26 -0
  285. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  286. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  287. package/dest/interfaces/l2_logs_source.js +5 -0
  288. package/dest/interfaces/merkle_tree_operations.d.ts +11 -5
  289. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  290. package/dest/interfaces/p2p-bootstrap.js +8 -2
  291. package/dest/interfaces/p2p.d.ts +46 -7
  292. package/dest/interfaces/p2p.d.ts.map +1 -1
  293. package/dest/interfaces/p2p.js +41 -6
  294. package/dest/interfaces/private_kernel_prover.d.ts +131 -12
  295. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  296. package/dest/interfaces/prover-agent.d.ts +5 -23
  297. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  298. package/dest/interfaces/prover-agent.js +4 -1
  299. package/dest/interfaces/prover-client.d.ts +7 -29
  300. package/dest/interfaces/prover-client.d.ts.map +1 -1
  301. package/dest/interfaces/prover-client.js +0 -3
  302. package/dest/interfaces/prover-node.d.ts +12 -8
  303. package/dest/interfaces/prover-node.d.ts.map +1 -1
  304. package/dest/interfaces/prover-node.js +37 -16
  305. package/dest/interfaces/proving-job-source.js +24 -4
  306. package/dest/interfaces/proving-job.d.ts +757 -5795
  307. package/dest/interfaces/proving-job.d.ts.map +1 -1
  308. package/dest/interfaces/proving-job.js +14 -5
  309. package/dest/interfaces/public_storage_override.d.ts +22 -0
  310. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  311. package/dest/interfaces/public_storage_override.js +7 -0
  312. package/dest/interfaces/server.d.ts +6 -3
  313. package/dest/interfaces/server.d.ts.map +1 -1
  314. package/dest/interfaces/server.js +5 -2
  315. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  316. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  317. package/dest/interfaces/slasher.d.ts +25 -65
  318. package/dest/interfaces/slasher.d.ts.map +1 -1
  319. package/dest/interfaces/slasher.js +8 -4
  320. package/dest/interfaces/tx_provider.d.ts +6 -1
  321. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  322. package/dest/interfaces/validator.d.ts +61 -230
  323. package/dest/interfaces/validator.d.ts.map +1 -1
  324. package/dest/interfaces/validator.js +10 -4
  325. package/dest/interfaces/world_state.d.ts +15 -2
  326. package/dest/interfaces/world_state.d.ts.map +1 -1
  327. package/dest/kernel/claimed_length_array.js +1 -1
  328. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  329. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  330. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  331. package/dest/kernel/hints/index.d.ts +1 -2
  332. package/dest/kernel/hints/index.d.ts.map +1 -1
  333. package/dest/kernel/hints/index.js +0 -1
  334. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  335. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  336. package/dest/kernel/hints/key_validation_request.js +20 -18
  337. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -1
  338. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  339. package/dest/kernel/hints/read_request.js +1 -1
  340. package/dest/kernel/index.d.ts +10 -2
  341. package/dest/kernel/index.d.ts.map +1 -1
  342. package/dest/kernel/index.js +9 -1
  343. package/dest/kernel/log_hash.d.ts +6 -2
  344. package/dest/kernel/log_hash.d.ts.map +1 -1
  345. package/dest/kernel/log_hash.js +23 -11
  346. package/dest/kernel/note_hash.js +1 -1
  347. package/dest/kernel/nullifier.js +1 -1
  348. package/dest/kernel/padded_side_effects.js +1 -1
  349. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  350. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  351. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  352. package/dest/kernel/private_context_inputs.d.ts +4 -3
  353. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  354. package/dest/kernel/private_context_inputs.js +7 -3
  355. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -10
  356. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  357. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  358. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  359. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  360. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  361. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  362. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  363. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  364. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  365. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  366. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  367. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  368. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  369. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  370. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  371. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  372. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  373. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  374. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  375. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  376. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  377. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  378. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  379. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  380. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  381. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  382. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  383. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  384. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  385. package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
  386. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  387. package/dest/kernel/private_kernel_prover_output.js +4 -1
  388. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  389. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  390. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  391. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  392. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  393. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  394. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  395. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  396. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  397. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  398. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  399. package/dest/kernel/private_log_data.d.ts +1 -1
  400. package/dest/kernel/private_log_data.d.ts.map +1 -1
  401. package/dest/kernel/private_log_data.js +1 -1
  402. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  403. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  404. package/dest/kernel/private_to_avm_accumulated_data.js +13 -7
  405. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  406. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  407. package/dest/kernel/private_to_public_accumulated_data.js +8 -5
  408. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  409. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  410. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  411. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  412. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  413. package/dest/kernel/private_to_rollup_accumulated_data.js +7 -4
  414. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  415. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  416. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  417. package/dest/kernel/public_call_request.d.ts +15 -30
  418. package/dest/kernel/public_call_request.d.ts.map +1 -1
  419. package/dest/kernel/public_call_request.js +16 -7
  420. package/dest/kernel/utils/index.d.ts +1 -2
  421. package/dest/kernel/utils/index.d.ts.map +1 -1
  422. package/dest/kernel/utils/index.js +0 -1
  423. package/dest/keys/derivation.d.ts +45 -6
  424. package/dest/keys/derivation.d.ts.map +1 -1
  425. package/dest/keys/derivation.js +55 -22
  426. package/dest/keys/public_key.d.ts +22 -3
  427. package/dest/keys/public_key.d.ts.map +1 -1
  428. package/dest/keys/public_key.js +20 -1
  429. package/dest/keys/public_keys.d.ts +55 -82
  430. package/dest/keys/public_keys.d.ts.map +1 -1
  431. package/dest/keys/public_keys.js +102 -74
  432. package/dest/kv-store/config.d.ts +14 -0
  433. package/dest/kv-store/config.d.ts.map +1 -0
  434. package/dest/kv-store/config.js +21 -0
  435. package/dest/kv-store/index.d.ts +2 -0
  436. package/dest/kv-store/index.d.ts.map +1 -0
  437. package/dest/kv-store/index.js +1 -0
  438. package/dest/l1-contracts/index.d.ts +2 -2
  439. package/dest/l1-contracts/index.d.ts.map +1 -1
  440. package/dest/l1-contracts/index.js +1 -1
  441. package/dest/logs/app_tagging_secret.d.ts +69 -0
  442. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  443. package/dest/logs/app_tagging_secret.js +116 -0
  444. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  445. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  446. package/dest/logs/app_tagging_secret_kind.js +17 -0
  447. package/dest/logs/contract_class_log.d.ts +16 -35
  448. package/dest/logs/contract_class_log.d.ts.map +1 -1
  449. package/dest/logs/contract_class_log.js +11 -13
  450. package/dest/logs/index.d.ts +7 -7
  451. package/dest/logs/index.d.ts.map +1 -1
  452. package/dest/logs/index.js +6 -6
  453. package/dest/logs/log_cursor.d.ts +51 -0
  454. package/dest/logs/log_cursor.d.ts.map +1 -0
  455. package/dest/logs/log_cursor.js +82 -0
  456. package/dest/logs/log_result.d.ts +54 -0
  457. package/dest/logs/log_result.d.ts.map +1 -0
  458. package/dest/logs/log_result.js +56 -0
  459. package/dest/logs/logs_query.d.ts +82 -0
  460. package/dest/logs/logs_query.d.ts.map +1 -0
  461. package/dest/logs/logs_query.js +50 -0
  462. package/dest/logs/message_context.d.ts +4 -13
  463. package/dest/logs/message_context.d.ts.map +1 -1
  464. package/dest/logs/message_context.js +1 -62
  465. package/dest/logs/pending_tagged_log.d.ts +6 -8
  466. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  467. package/dest/logs/pending_tagged_log.js +1 -31
  468. package/dest/logs/pre_tag.d.ts +11 -24
  469. package/dest/logs/pre_tag.d.ts.map +1 -1
  470. package/dest/logs/pre_tag.js +2 -2
  471. package/dest/logs/private_log.d.ts +7 -12
  472. package/dest/logs/private_log.d.ts.map +1 -1
  473. package/dest/logs/private_log.js +7 -4
  474. package/dest/logs/public_log.d.ts +1 -1
  475. package/dest/logs/public_log.d.ts.map +1 -1
  476. package/dest/logs/public_log.js +1 -7
  477. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  478. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  479. package/dest/logs/query_all_logs_by_tags.js +64 -0
  480. package/dest/logs/shared_secret_derivation.d.ts +29 -6
  481. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  482. package/dest/logs/shared_secret_derivation.js +44 -11
  483. package/dest/logs/siloed_tag.d.ts +5 -7
  484. package/dest/logs/siloed_tag.d.ts.map +1 -1
  485. package/dest/logs/siloed_tag.js +7 -1
  486. package/dest/logs/tag.d.ts +5 -6
  487. package/dest/logs/tag.d.ts.map +1 -1
  488. package/dest/logs/tag.js +4 -0
  489. package/dest/logs/tagging_index_range.d.ts +13 -31
  490. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  491. package/dest/logs/tagging_index_range.js +2 -2
  492. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  493. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  494. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  495. package/dest/messaging/index.d.ts +2 -1
  496. package/dest/messaging/index.d.ts.map +1 -1
  497. package/dest/messaging/index.js +1 -0
  498. package/dest/messaging/l1_to_l2_message.d.ts +23 -2
  499. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  500. package/dest/messaging/l1_to_l2_message.js +36 -11
  501. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  502. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  503. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  504. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  505. package/dest/messaging/l2_to_l1_membership.js +72 -12
  506. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  507. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  508. package/dest/messaging/l2_to_l1_message.js +21 -12
  509. package/dest/noir/index.d.ts +5 -3
  510. package/dest/noir/index.d.ts.map +1 -1
  511. package/dest/note/note.d.ts +2 -2
  512. package/dest/note/note.d.ts.map +1 -1
  513. package/dest/p2p/attestation_utils.d.ts +1 -1
  514. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  515. package/dest/p2p/attestation_utils.js +8 -1
  516. package/dest/p2p/block_proposal.d.ts +32 -15
  517. package/dest/p2p/block_proposal.d.ts.map +1 -1
  518. package/dest/p2p/block_proposal.js +58 -40
  519. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  520. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  521. package/dest/p2p/checkpoint_attestation.js +33 -24
  522. package/dest/p2p/checkpoint_proposal.d.ts +37 -17
  523. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  524. package/dest/p2p/checkpoint_proposal.js +60 -52
  525. package/dest/p2p/consensus_payload.d.ts +27 -20
  526. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  527. package/dest/p2p/consensus_payload.js +38 -19
  528. package/dest/p2p/gossipable.d.ts +4 -4
  529. package/dest/p2p/gossipable.d.ts.map +1 -1
  530. package/dest/p2p/index.d.ts +1 -2
  531. package/dest/p2p/index.d.ts.map +1 -1
  532. package/dest/p2p/index.js +0 -1
  533. package/dest/p2p/signature_utils.d.ts +35 -17
  534. package/dest/p2p/signature_utils.d.ts.map +1 -1
  535. package/dest/p2p/signature_utils.js +125 -20
  536. package/dest/p2p/signed_txs.d.ts +15 -13
  537. package/dest/p2p/signed_txs.d.ts.map +1 -1
  538. package/dest/p2p/signed_txs.js +26 -24
  539. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  540. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  541. package/dest/parity/parity_base_private_inputs.js +7 -5
  542. package/dest/parity/parity_public_inputs.d.ts +8 -4
  543. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  544. package/dest/parity/parity_public_inputs.js +6 -3
  545. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  546. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  547. package/dest/proofs/chonk_proof.d.ts +57 -7
  548. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  549. package/dest/proofs/chonk_proof.js +111 -20
  550. package/dest/proofs/recursive_proof.d.ts +2 -2
  551. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  552. package/dest/rollup/avm_proof_data.d.ts +3 -3
  553. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  554. package/dest/rollup/base_rollup_hints.js +2 -2
  555. package/dest/rollup/block_headers_hash.d.ts +1 -1
  556. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  557. package/dest/rollup/block_headers_hash.js +8 -2
  558. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  559. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  560. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  561. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  562. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  563. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  564. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  565. package/dest/rollup/block_root_rollup_private_inputs.js +5 -5
  566. package/dest/rollup/checkpoint_header.d.ts +8 -3
  567. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  568. package/dest/rollup/checkpoint_header.js +20 -10
  569. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  570. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  571. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +10 -3
  572. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  573. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -1
  574. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  575. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  576. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +3 -3
  577. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  578. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  579. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  580. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  581. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  582. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  583. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  584. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  585. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  586. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  587. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  588. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  589. package/dest/rollup/root_rollup_public_inputs.js +1 -1
  590. package/dest/rollup/tree_snapshot_diff_hints.js +2 -2
  591. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  592. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  593. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  594. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  595. package/dest/schemas/schemas.d.ts +32 -78
  596. package/dest/schemas/schemas.d.ts.map +1 -1
  597. package/dest/schemas/schemas.js +2 -2
  598. package/dest/slashing/helpers.d.ts +2 -2
  599. package/dest/slashing/helpers.d.ts.map +1 -1
  600. package/dest/slashing/helpers.js +10 -7
  601. package/dest/slashing/index.d.ts +2 -3
  602. package/dest/slashing/index.d.ts.map +1 -1
  603. package/dest/slashing/index.js +1 -2
  604. package/dest/slashing/serialization.d.ts +2 -6
  605. package/dest/slashing/serialization.d.ts.map +1 -1
  606. package/dest/slashing/serialization.js +0 -60
  607. package/dest/slashing/types.d.ts +18 -112
  608. package/dest/slashing/types.d.ts.map +1 -1
  609. package/dest/slashing/types.js +16 -24
  610. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  611. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  612. package/dest/slashing/{tally.js → votes.js} +1 -1
  613. package/dest/snapshots/types.d.ts +15 -78
  614. package/dest/snapshots/types.d.ts.map +1 -1
  615. package/dest/stats/stats.d.ts +2 -2
  616. package/dest/stats/stats.d.ts.map +1 -1
  617. package/dest/tests/factories.d.ts +25 -58
  618. package/dest/tests/factories.d.ts.map +1 -1
  619. package/dest/tests/factories.js +80 -115
  620. package/dest/tests/mocks.d.ts +8 -5
  621. package/dest/tests/mocks.d.ts.map +1 -1
  622. package/dest/tests/mocks.js +43 -54
  623. package/dest/timetable/budgets.d.ts +57 -0
  624. package/dest/timetable/budgets.d.ts.map +1 -0
  625. package/dest/timetable/budgets.js +56 -0
  626. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  627. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  628. package/dest/timetable/build_proposer_timetable.js +17 -0
  629. package/dest/timetable/consensus_timetable.d.ts +70 -0
  630. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  631. package/dest/timetable/consensus_timetable.js +89 -0
  632. package/dest/timetable/index.d.ts +5 -37
  633. package/dest/timetable/index.d.ts.map +1 -1
  634. package/dest/timetable/index.js +4 -39
  635. package/dest/timetable/proposer_timetable.d.ts +106 -0
  636. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  637. package/dest/timetable/proposer_timetable.js +132 -0
  638. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  639. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  640. package/dest/trees/append_only_tree_snapshot.js +6 -3
  641. package/dest/trees/nullifier_leaf.d.ts +19 -42
  642. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  643. package/dest/trees/nullifier_leaf.js +3 -0
  644. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  645. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  646. package/dest/trees/nullifier_membership_witness.js +0 -21
  647. package/dest/trees/public_data_leaf.d.ts +21 -53
  648. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  649. package/dest/trees/public_data_witness.d.ts +19 -71
  650. package/dest/trees/public_data_witness.d.ts.map +1 -1
  651. package/dest/trees/public_data_witness.js +0 -27
  652. package/dest/tx/block_header.d.ts +5 -4
  653. package/dest/tx/block_header.d.ts.map +1 -1
  654. package/dest/tx/block_header.js +7 -4
  655. package/dest/tx/call_context.d.ts +4 -14
  656. package/dest/tx/call_context.d.ts.map +1 -1
  657. package/dest/tx/capsule.d.ts +2 -2
  658. package/dest/tx/capsule.d.ts.map +1 -1
  659. package/dest/tx/execution_payload.d.ts +1 -1
  660. package/dest/tx/execution_payload.d.ts.map +1 -1
  661. package/dest/tx/execution_payload.js +1 -1
  662. package/dest/tx/fee_provider.d.ts +10 -0
  663. package/dest/tx/fee_provider.d.ts.map +1 -0
  664. package/dest/tx/fee_provider.js +1 -0
  665. package/dest/tx/function_data.d.ts +4 -10
  666. package/dest/tx/function_data.d.ts.map +1 -1
  667. package/dest/tx/global_variable_builder.d.ts +4 -15
  668. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  669. package/dest/tx/global_variables.d.ts +16 -49
  670. package/dest/tx/global_variables.d.ts.map +1 -1
  671. package/dest/tx/global_variables.js +10 -14
  672. package/dest/tx/hashed_values.d.ts +4 -3
  673. package/dest/tx/hashed_values.d.ts.map +1 -1
  674. package/dest/tx/hashed_values.js +6 -3
  675. package/dest/tx/in_tx.d.ts +5 -17
  676. package/dest/tx/in_tx.d.ts.map +1 -1
  677. package/dest/tx/index.d.ts +2 -2
  678. package/dest/tx/index.d.ts.map +1 -1
  679. package/dest/tx/index.js +1 -1
  680. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  681. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  682. package/dest/tx/indexed_tx_effect.js +9 -6
  683. package/dest/tx/partial_state_reference.d.ts +22 -65
  684. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  685. package/dest/tx/partial_state_reference.js +6 -3
  686. package/dest/tx/private_execution_result.d.ts +6 -16
  687. package/dest/tx/private_execution_result.d.ts.map +1 -1
  688. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  689. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  690. package/dest/tx/private_tx_constant_data.js +13 -4
  691. package/dest/tx/profiling.d.ts +54 -352
  692. package/dest/tx/profiling.d.ts.map +1 -1
  693. package/dest/tx/profiling.js +6 -4
  694. package/dest/tx/protocol_contracts.d.ts +5 -9
  695. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  696. package/dest/tx/protocol_contracts.js +2 -2
  697. package/dest/tx/proven_tx.d.ts +30 -74
  698. package/dest/tx/proven_tx.d.ts.map +1 -1
  699. package/dest/tx/proven_tx.js +6 -0
  700. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  701. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  702. package/dest/tx/public_call_request_with_calldata.js +6 -3
  703. package/dest/tx/simulated_tx.d.ts +71 -1129
  704. package/dest/tx/simulated_tx.d.ts.map +1 -1
  705. package/dest/tx/simulated_tx.js +12 -10
  706. package/dest/tx/state_reference.d.ts +30 -117
  707. package/dest/tx/state_reference.d.ts.map +1 -1
  708. package/dest/tx/state_reference.js +6 -4
  709. package/dest/tx/tree_snapshots.d.ts +27 -84
  710. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  711. package/dest/tx/tree_snapshots.js +6 -4
  712. package/dest/tx/tx.d.ts +22 -13
  713. package/dest/tx/tx.d.ts.map +1 -1
  714. package/dest/tx/tx.js +44 -22
  715. package/dest/tx/tx_constant_data.d.ts +4 -3
  716. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  717. package/dest/tx/tx_constant_data.js +6 -3
  718. package/dest/tx/tx_context.d.ts +32 -131
  719. package/dest/tx/tx_context.d.ts.map +1 -1
  720. package/dest/tx/tx_context.js +6 -6
  721. package/dest/tx/tx_hash.d.ts +6 -4
  722. package/dest/tx/tx_hash.d.ts.map +1 -1
  723. package/dest/tx/tx_hash.js +13 -5
  724. package/dest/tx/tx_receipt.d.ts +144 -67
  725. package/dest/tx/tx_receipt.d.ts.map +1 -1
  726. package/dest/tx/tx_receipt.js +141 -51
  727. package/dest/tx/validator/error_texts.d.ts +2 -2
  728. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  729. package/dest/tx/validator/error_texts.js +1 -1
  730. package/dest/tx/validator/tx_validator.d.ts +5 -27
  731. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  732. package/dest/tx/validator/tx_validator.js +0 -4
  733. package/dest/types/shared.d.ts +4 -12
  734. package/dest/types/shared.d.ts.map +1 -1
  735. package/dest/types/shared.js +6 -12
  736. package/dest/update-checker/dev_version.d.ts +3 -0
  737. package/dest/update-checker/dev_version.d.ts.map +1 -0
  738. package/dest/update-checker/dev_version.js +1 -0
  739. package/dest/update-checker/index.d.ts +2 -1
  740. package/dest/update-checker/index.d.ts.map +1 -1
  741. package/dest/update-checker/index.js +1 -0
  742. package/dest/update-checker/package_version.d.ts +6 -3
  743. package/dest/update-checker/package_version.d.ts.map +1 -1
  744. package/dest/update-checker/package_version.js +8 -19
  745. package/dest/validators/schemas.d.ts +147 -614
  746. package/dest/validators/schemas.d.ts.map +1 -1
  747. package/dest/validators/schemas.js +6 -4
  748. package/dest/validators/types.d.ts +20 -3
  749. package/dest/validators/types.d.ts.map +1 -1
  750. package/dest/versioning/versioning.js +1 -1
  751. package/dest/vks/verification_key.d.ts +4 -139
  752. package/dest/vks/verification_key.d.ts.map +1 -1
  753. package/dest/vks/verification_key.js +5 -126
  754. package/dest/vks/vk_data.js +1 -1
  755. package/dest/world-state/genesis_data.d.ts +21 -0
  756. package/dest/world-state/genesis_data.d.ts.map +1 -0
  757. package/dest/world-state/genesis_data.js +8 -0
  758. package/dest/world-state/index.d.ts +2 -1
  759. package/dest/world-state/index.d.ts.map +1 -1
  760. package/dest/world-state/index.js +1 -0
  761. package/dest/world-state/world_state_revision.d.ts +11 -39
  762. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  763. package/dest/world-state/world_state_revision.js +7 -21
  764. package/package.json +15 -13
  765. package/src/abi/abi.ts +75 -86
  766. package/src/abi/authorization_selector.ts +2 -8
  767. package/src/abi/buffer.ts +13 -1
  768. package/src/abi/contract_artifact.ts +44 -15
  769. package/src/abi/encoder.ts +42 -6
  770. package/src/abi/event_selector.ts +2 -8
  771. package/src/abi/function_selector.ts +3 -12
  772. package/src/abi/note_selector.ts +3 -12
  773. package/src/abi/utils.ts +6 -4
  774. package/src/avm/avm.ts +6 -1
  775. package/src/avm/avm_accumulated_data.ts +6 -6
  776. package/src/avm/avm_circuit_public_inputs.ts +4 -4
  777. package/src/avm/index.ts +0 -5
  778. package/src/avm/message_pack.ts +12 -3
  779. package/src/avm/revert_code.ts +0 -6
  780. package/src/aztec-address/index.ts +50 -17
  781. package/src/block/attestation_info.ts +16 -11
  782. package/src/block/block_data.ts +3 -4
  783. package/src/block/block_hash.ts +21 -14
  784. package/src/block/block_parameter.ts +72 -4
  785. package/src/block/index.ts +0 -1
  786. package/src/block/l2_block_info.ts +8 -6
  787. package/src/block/l2_block_source.ts +258 -144
  788. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  789. package/src/block/l2_block_stream/index.ts +1 -0
  790. package/src/block/l2_block_stream/interfaces.ts +96 -10
  791. package/src/block/l2_block_stream/l2_block_stream.ts +229 -177
  792. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  793. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  794. package/src/block/proposal/attestations_and_signers.ts +85 -24
  795. package/src/block/test/l2_tips_store_test_suite.ts +271 -22
  796. package/src/block/validate_block_result.ts +48 -2
  797. package/src/checkpoint/checkpoint.ts +13 -3
  798. package/src/checkpoint/checkpoint_data.ts +44 -4
  799. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  800. package/src/checkpoint/digest.ts +28 -0
  801. package/src/checkpoint/index.ts +4 -0
  802. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  803. package/src/checkpoint/simulation_overrides.ts +171 -0
  804. package/src/checkpoint/validate.ts +16 -6
  805. package/src/config/chain-config.ts +13 -16
  806. package/src/config/index.ts +1 -0
  807. package/src/config/network-consensus-config.ts +291 -0
  808. package/src/config/sequencer-config.ts +71 -9
  809. package/src/contract/complete_address.ts +7 -3
  810. package/src/contract/contract_address.ts +11 -10
  811. package/src/contract/contract_class.ts +3 -2
  812. package/src/contract/contract_class_id.ts +2 -2
  813. package/src/contract/contract_instance.ts +73 -3
  814. package/src/contract/index.ts +0 -3
  815. package/src/contract/interfaces/contract_class.ts +2 -82
  816. package/src/contract/interfaces/contract_data_source.ts +2 -4
  817. package/src/contract/interfaces/contract_instance.ts +32 -10
  818. package/src/contract/interfaces/node-info.ts +11 -0
  819. package/src/contract/partial_address.ts +8 -2
  820. package/src/contract/private_function.ts +3 -1
  821. package/src/database-version/version_manager.ts +113 -6
  822. package/src/deserialization/index.ts +35 -2
  823. package/src/epoch-helpers/index.ts +5 -0
  824. package/src/file-store/factory.ts +20 -4
  825. package/src/file-store/http.ts +29 -10
  826. package/src/file-store/index.ts +2 -0
  827. package/src/file-store/memory.ts +94 -0
  828. package/src/gas/README.md +230 -35
  829. package/src/gas/fee_math.ts +120 -0
  830. package/src/gas/gas.ts +8 -3
  831. package/src/gas/gas_fees.ts +26 -13
  832. package/src/gas/gas_settings.ts +19 -24
  833. package/src/gas/index.ts +2 -0
  834. package/src/gas/tx_gas_limits.ts +123 -0
  835. package/src/ha-signing/config.ts +170 -0
  836. package/src/ha-signing/index.ts +29 -0
  837. package/src/ha-signing/local_config.ts +65 -0
  838. package/src/ha-signing/types.ts +126 -0
  839. package/src/hash/hash.ts +29 -10
  840. package/src/interfaces/api_limit.ts +1 -1
  841. package/src/interfaces/archiver.ts +96 -93
  842. package/src/interfaces/aztec-node-admin.ts +36 -21
  843. package/src/interfaces/aztec-node-debug.ts +55 -3
  844. package/src/interfaces/aztec-node.ts +398 -271
  845. package/src/interfaces/block-builder.ts +10 -1
  846. package/src/interfaces/block_response.ts +92 -0
  847. package/src/interfaces/chain_tips.ts +16 -0
  848. package/src/interfaces/checkpoint_parameter.ts +20 -0
  849. package/src/interfaces/checkpoint_response.ts +84 -0
  850. package/src/interfaces/client.ts +7 -1
  851. package/src/interfaces/configs.ts +67 -7
  852. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  853. package/src/interfaces/l1_publish_info.ts +40 -0
  854. package/src/interfaces/l2_logs_source.ts +13 -39
  855. package/src/interfaces/merkle_tree_operations.ts +11 -4
  856. package/src/interfaces/p2p-bootstrap.ts +2 -2
  857. package/src/interfaces/p2p.ts +59 -19
  858. package/src/interfaces/private_kernel_prover.ts +192 -13
  859. package/src/interfaces/prover-agent.ts +1 -1
  860. package/src/interfaces/prover-client.ts +3 -8
  861. package/src/interfaces/prover-node.ts +36 -21
  862. package/src/interfaces/proving-job-source.ts +4 -4
  863. package/src/interfaces/proving-job.ts +18 -6
  864. package/src/interfaces/public_storage_override.ts +26 -0
  865. package/src/interfaces/server.ts +5 -2
  866. package/src/interfaces/server_circuit_prover.ts +2 -2
  867. package/src/interfaces/slasher.ts +17 -10
  868. package/src/interfaces/tx_provider.ts +6 -0
  869. package/src/interfaces/validator.ts +81 -45
  870. package/src/interfaces/world_state.ts +15 -1
  871. package/src/kernel/claimed_length_array.ts +2 -2
  872. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  873. package/src/kernel/hints/index.ts +0 -1
  874. package/src/kernel/hints/key_validation_request.ts +18 -16
  875. package/src/kernel/hints/private_kernel_reset_hints.ts +2 -5
  876. package/src/kernel/hints/read_request.ts +1 -1
  877. package/src/kernel/hints/read_request_hints.ts +3 -3
  878. package/src/kernel/index.ts +9 -1
  879. package/src/kernel/log_hash.ts +36 -13
  880. package/src/kernel/note_hash.ts +1 -1
  881. package/src/kernel/nullifier.ts +1 -1
  882. package/src/kernel/padded_side_effects.ts +3 -3
  883. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  884. package/src/kernel/private_context_inputs.ts +10 -3
  885. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  886. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  887. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  888. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  889. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  890. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  891. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  892. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  893. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  894. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  895. package/src/kernel/private_kernel_prover_output.ts +4 -0
  896. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  897. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  898. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  899. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  900. package/src/kernel/private_log_data.ts +4 -1
  901. package/src/kernel/private_to_avm_accumulated_data.ts +20 -9
  902. package/src/kernel/private_to_public_accumulated_data.ts +19 -13
  903. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  904. package/src/kernel/private_to_rollup_accumulated_data.ts +13 -8
  905. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  906. package/src/kernel/public_call_request.ts +22 -7
  907. package/src/kernel/utils/index.ts +0 -1
  908. package/src/keys/derivation.ts +79 -22
  909. package/src/keys/public_key.ts +26 -2
  910. package/src/keys/public_keys.ts +124 -110
  911. package/src/kv-store/config.ts +29 -0
  912. package/src/kv-store/index.ts +1 -0
  913. package/src/l1-contracts/index.ts +1 -1
  914. package/src/logs/app_tagging_secret.ts +160 -0
  915. package/src/logs/app_tagging_secret_kind.ts +21 -0
  916. package/src/logs/contract_class_log.ts +15 -14
  917. package/src/logs/index.ts +6 -6
  918. package/src/logs/log_cursor.ts +110 -0
  919. package/src/logs/log_result.ts +104 -0
  920. package/src/logs/logs_query.ts +138 -0
  921. package/src/logs/message_context.ts +6 -60
  922. package/src/logs/pending_tagged_log.ts +6 -33
  923. package/src/logs/pre_tag.ts +3 -6
  924. package/src/logs/private_log.ts +10 -4
  925. package/src/logs/public_log.ts +1 -11
  926. package/src/logs/query_all_logs_by_tags.ts +98 -0
  927. package/src/logs/shared_secret_derivation.ts +47 -14
  928. package/src/logs/siloed_tag.ts +14 -10
  929. package/src/logs/tag.ts +8 -8
  930. package/src/logs/tagging_index_range.ts +4 -10
  931. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  932. package/src/messaging/index.ts +1 -0
  933. package/src/messaging/l1_to_l2_message.ts +51 -13
  934. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  935. package/src/messaging/l2_to_l1_membership.ts +108 -19
  936. package/src/messaging/l2_to_l1_message.ts +29 -9
  937. package/src/noir/index.ts +4 -1
  938. package/src/p2p/attestation_utils.ts +8 -1
  939. package/src/p2p/block_proposal.ts +112 -37
  940. package/src/p2p/checkpoint_attestation.ts +38 -30
  941. package/src/p2p/checkpoint_proposal.ts +129 -74
  942. package/src/p2p/consensus_payload.ts +59 -28
  943. package/src/p2p/gossipable.ts +4 -4
  944. package/src/p2p/index.ts +0 -1
  945. package/src/p2p/signature_utils.ts +117 -23
  946. package/src/p2p/signed_txs.ts +46 -28
  947. package/src/parity/parity_base_private_inputs.ts +10 -4
  948. package/src/parity/parity_public_inputs.ts +9 -2
  949. package/src/proofs/chonk_proof.ts +131 -19
  950. package/src/rollup/avm_proof_data.ts +2 -2
  951. package/src/rollup/base_rollup_hints.ts +2 -2
  952. package/src/rollup/block_headers_hash.ts +11 -2
  953. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  954. package/src/rollup/block_root_rollup_private_inputs.ts +8 -8
  955. package/src/rollup/checkpoint_header.ts +16 -2
  956. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -2
  957. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +4 -4
  958. package/src/rollup/root_rollup_public_inputs.ts +2 -2
  959. package/src/rollup/tree_snapshot_diff_hints.ts +5 -5
  960. package/src/schemas/schemas.ts +6 -1
  961. package/src/slashing/helpers.ts +13 -9
  962. package/src/slashing/index.ts +1 -2
  963. package/src/slashing/serialization.ts +1 -81
  964. package/src/slashing/types.ts +24 -49
  965. package/src/slashing/{tally.ts → votes.ts} +1 -1
  966. package/src/stats/stats.ts +10 -2
  967. package/src/tests/factories.ts +111 -157
  968. package/src/tests/mocks.ts +71 -70
  969. package/src/timetable/README.md +609 -0
  970. package/src/timetable/budgets.ts +87 -0
  971. package/src/timetable/build_proposer_timetable.ts +42 -0
  972. package/src/timetable/consensus_timetable.ts +126 -0
  973. package/src/timetable/index.ts +4 -66
  974. package/src/timetable/proposer_timetable.ts +190 -0
  975. package/src/timetable/timetable-example.svg +108 -0
  976. package/src/trees/append_only_tree_snapshot.ts +8 -3
  977. package/src/trees/nullifier_leaf.ts +4 -0
  978. package/src/trees/nullifier_membership_witness.ts +0 -21
  979. package/src/trees/public_data_witness.ts +0 -31
  980. package/src/tx/block_header.ts +10 -5
  981. package/src/tx/execution_payload.ts +2 -1
  982. package/src/tx/fee_provider.ts +10 -0
  983. package/src/tx/global_variable_builder.ts +3 -20
  984. package/src/tx/global_variables.ts +12 -20
  985. package/src/tx/hashed_values.ts +8 -3
  986. package/src/tx/index.ts +1 -1
  987. package/src/tx/indexed_tx_effect.ts +18 -6
  988. package/src/tx/partial_state_reference.ts +8 -3
  989. package/src/tx/private_tx_constant_data.ts +25 -2
  990. package/src/tx/profiling.ts +6 -4
  991. package/src/tx/protocol_contracts.ts +2 -2
  992. package/src/tx/proven_tx.ts +6 -0
  993. package/src/tx/public_call_request_with_calldata.ts +8 -3
  994. package/src/tx/simulated_tx.ts +18 -21
  995. package/src/tx/state_reference.ts +9 -4
  996. package/src/tx/tree_snapshots.ts +9 -4
  997. package/src/tx/tx.ts +60 -24
  998. package/src/tx/tx_constant_data.ts +8 -3
  999. package/src/tx/tx_context.ts +8 -3
  1000. package/src/tx/tx_hash.ts +20 -5
  1001. package/src/tx/tx_receipt.ts +263 -80
  1002. package/src/tx/validator/error_texts.ts +2 -1
  1003. package/src/tx/validator/tx_validator.ts +1 -5
  1004. package/src/types/shared.ts +8 -13
  1005. package/src/update-checker/dev_version.ts +2 -0
  1006. package/src/update-checker/index.ts +1 -0
  1007. package/src/update-checker/package_version.ts +10 -23
  1008. package/src/validators/schemas.ts +6 -4
  1009. package/src/validators/types.ts +21 -2
  1010. package/src/versioning/versioning.ts +1 -1
  1011. package/src/vks/verification_key.ts +5 -184
  1012. package/src/vks/vk_data.ts +1 -1
  1013. package/src/world-state/genesis_data.ts +37 -0
  1014. package/src/world-state/index.ts +1 -0
  1015. package/src/world-state/world_state_revision.ts +9 -34
  1016. package/dest/abi/mocked_keys.d.ts +0 -2
  1017. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1018. package/dest/abi/mocked_keys.js +0 -1
  1019. package/dest/avm/contract_storage_read.d.ts +0 -58
  1020. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  1021. package/dest/avm/contract_storage_read.js +0 -65
  1022. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  1023. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  1024. package/dest/avm/contract_storage_update_request.js +0 -80
  1025. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  1026. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  1027. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  1028. package/dest/avm/public_data_update_request.d.ts +0 -62
  1029. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  1030. package/dest/avm/public_data_update_request.js +0 -67
  1031. package/dest/avm/public_inner_call_request.d.ts +0 -50
  1032. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  1033. package/dest/avm/public_inner_call_request.js +0 -74
  1034. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1035. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1036. package/dest/block/checkpointed_l2_block.js +0 -46
  1037. package/dest/contract/deployment_info.d.ts +0 -24
  1038. package/dest/contract/deployment_info.d.ts.map +0 -1
  1039. package/dest/contract/deployment_info.js +0 -3
  1040. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1041. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1042. package/dest/contract/private_function_membership_proof.js +0 -124
  1043. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1044. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1045. package/dest/contract/utility_function_membership_proof.js +0 -87
  1046. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1047. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1048. package/dest/interfaces/epoch-prover.js +0 -1
  1049. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1050. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1051. package/dest/interfaces/get_logs_response.js +0 -12
  1052. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1053. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1054. package/dest/interfaces/prover-coordination.js +0 -1
  1055. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1056. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1057. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1058. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1059. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1060. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1061. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1062. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1063. package/dest/kernel/utils/optional_number.js +0 -42
  1064. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1065. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1066. package/dest/l1-contracts/slash_factory.js +0 -158
  1067. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1068. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1069. package/dest/logs/extended_contract_class_log.js +0 -67
  1070. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1071. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1072. package/dest/logs/extended_directional_app_tagging_secret.js +0 -79
  1073. package/dest/logs/extended_public_log.d.ts +0 -106
  1074. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1075. package/dest/logs/extended_public_log.js +0 -73
  1076. package/dest/logs/log_filter.d.ts +0 -25
  1077. package/dest/logs/log_filter.d.ts.map +0 -1
  1078. package/dest/logs/log_filter.js +0 -12
  1079. package/dest/logs/log_id.d.ts +0 -85
  1080. package/dest/logs/log_id.d.ts.map +0 -1
  1081. package/dest/logs/log_id.js +0 -94
  1082. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  1083. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1084. package/dest/logs/tx_scoped_l2_log.js +0 -77
  1085. package/dest/p2p/interface.d.ts +0 -5
  1086. package/dest/p2p/interface.d.ts.map +0 -1
  1087. package/dest/p2p/interface.js +0 -1
  1088. package/dest/slashing/empire.d.ts +0 -31
  1089. package/dest/slashing/empire.d.ts.map +0 -1
  1090. package/dest/slashing/empire.js +0 -87
  1091. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1092. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1093. package/dest/tx/validator/empty_validator.js +0 -7
  1094. package/src/abi/mocked_keys.ts +0 -2
  1095. package/src/avm/contract_storage_read.ts +0 -77
  1096. package/src/avm/contract_storage_update_request.ts +0 -93
  1097. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1098. package/src/avm/public_data_update_request.ts +0 -106
  1099. package/src/avm/public_inner_call_request.ts +0 -85
  1100. package/src/block/checkpointed_l2_block.ts +0 -70
  1101. package/src/contract/deployment_info.ts +0 -25
  1102. package/src/contract/private_function_membership_proof.ts +0 -167
  1103. package/src/contract/utility_function_membership_proof.ts +0 -118
  1104. package/src/interfaces/epoch-prover.ts +0 -72
  1105. package/src/interfaces/get_logs_response.ts +0 -35
  1106. package/src/interfaces/prover-coordination.ts +0 -17
  1107. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1108. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1109. package/src/kernel/utils/optional_number.ts +0 -50
  1110. package/src/l1-contracts/slash_factory.ts +0 -180
  1111. package/src/logs/extended_contract_class_log.ts +0 -87
  1112. package/src/logs/extended_directional_app_tagging_secret.ts +0 -98
  1113. package/src/logs/extended_public_log.ts +0 -94
  1114. package/src/logs/log_filter.ts +0 -36
  1115. package/src/logs/log_id.ts +0 -125
  1116. package/src/logs/tx_scoped_l2_log.ts +0 -114
  1117. package/src/p2p/interface.ts +0 -4
  1118. package/src/slashing/empire.ts +0 -104
  1119. package/src/tx/validator/empty_validator.ts +0 -7
@@ -1,23 +1,23 @@
1
- import { BlockNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { type CheckpointNumber, CheckpointProposalHash, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { type BaseBuffer32 } from '@aztec/foundation/buffer';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
6
6
  import { BufferReader } from '@aztec/foundation/serialize';
7
- import { type SigningContext } from '@aztec/validator-ha-signer/types';
7
+ import type { TypedDataDefinition } from 'viem';
8
8
  import type { L2BlockInfo } from '../block/l2_block_info.js';
9
+ import { type SigningContext } from '../ha-signing/index.js';
9
10
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
10
11
  import { BlockHeader } from '../tx/block_header.js';
11
12
  import { TxHash } from '../tx/index.js';
12
13
  import type { Tx } from '../tx/tx.js';
13
14
  import { BlockProposal } from './block_proposal.js';
15
+ import { ConsensusPayload } from './consensus_payload.js';
14
16
  import { Gossipable } from './gossipable.js';
15
- import { SignatureDomainSeparator } from './signature_utils.js';
17
+ import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
16
18
  import { SignedTxs } from './signed_txs.js';
17
19
  import { TopicType } from './topic_type.js';
18
- export declare class CheckpointProposalHash extends Buffer32 {
19
- constructor(hash: Buffer);
20
- }
20
+ export type { CheckpointProposalHash } from '@aztec/foundation/branded-types';
21
21
  export type CheckpointProposalOptions = {
22
22
  /**
23
23
  * Whether to include the tx objects along with the block proposal.
@@ -53,7 +53,7 @@ export type CheckpointLastBlock = Omit<CheckpointLastBlockData, 'txs'> & {
53
53
  * It includes the aggregated checkpoint header that validators will attest to, plus optionally
54
54
  * the last block's info for nodes to re-execute. This marks the completion of a slot's worth of blocks.
55
55
  */
56
- export declare class CheckpointProposal extends Gossipable {
56
+ export declare class CheckpointProposal extends Gossipable implements Signable {
57
57
  /** The aggregated checkpoint header for consensus */
58
58
  readonly checkpointHeader: CheckpointHeader;
59
59
  /** Archive root after this checkpoint is applied */
@@ -62,10 +62,13 @@ export declare class CheckpointProposal extends Gossipable {
62
62
  readonly feeAssetPriceModifier: bigint;
63
63
  /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
64
64
  readonly signature: Signature;
65
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
66
+ readonly signatureContext: CoordinationSignatureContext;
65
67
  /** Optional last block info, including its own signature for BlockProposal extraction */
66
- readonly lastBlock?: CheckpointLastBlock | undefined;
68
+ readonly lastBlock?: BlockProposal | CheckpointLastBlock | undefined;
67
69
  static p2pTopic: TopicType;
68
- private sender;
70
+ readonly primaryType: CoordinationSignatureType;
71
+ private cachedSender;
69
72
  constructor(
70
73
  /** The aggregated checkpoint header for consensus */
71
74
  checkpointHeader: CheckpointHeader,
@@ -75,9 +78,11 @@ export declare class CheckpointProposal extends Gossipable {
75
78
  feeAssetPriceModifier: bigint,
76
79
  /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
77
80
  signature: Signature,
81
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
82
+ signatureContext: CoordinationSignatureContext,
78
83
  /** Optional last block info, including its own signature for BlockProposal extraction */
79
- lastBlock?: CheckpointLastBlock | undefined);
80
- generateP2PMessageIdentifier(): Promise<Buffer32>;
84
+ lastBlock?: BlockProposal | CheckpointLastBlock | undefined);
85
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
81
86
  get slotNumber(): SlotNumber;
82
87
  /**
83
88
  * Extract a BlockProposal from the last block info.
@@ -88,7 +93,7 @@ export declare class CheckpointProposal extends Gossipable {
88
93
  toCheckpointInfo(): {
89
94
  slotNumber: SlotNumber;
90
95
  archive: Fr;
91
- lastBlockNumber: BlockNumber | undefined;
96
+ lastBlockNumber: import("@aztec/foundation/branded-types").BlockNumber | undefined;
92
97
  lastBlockIndex: IndexWithinCheckpoint | undefined;
93
98
  blockHeadersHash: Fr;
94
99
  };
@@ -96,8 +101,20 @@ export declare class CheckpointProposal extends Gossipable {
96
101
  * Get the payload to sign for this checkpoint proposal.
97
102
  * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
98
103
  */
99
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
100
- static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, feeAssetPriceModifier: bigint, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
104
+ getPayloadToSign(): Buffer;
105
+ /**
106
+ * Returns a content-addressed keccak256 hash of the consensus payload
107
+ * (header + archive + feeAssetPriceModifier + signatureContext).
108
+ *
109
+ * Used by the attestation pool to dedup distinct signed payloads at the same slot
110
+ * regardless of archive/header collisions on `feeAssetPriceModifier` variants.
111
+ * The hash deliberately excludes the signature so non-deterministic ECDSA
112
+ * re-signs of the same payload do not look like equivocation.
113
+ */
114
+ getPayloadHash(): CheckpointProposalHash;
115
+ /** Returns the ConsensusPayload that an attester would sign for this proposal. */
116
+ toConsensusPayload(): ConsensusPayload;
117
+ static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, checkpointNumber: CheckpointNumber, feeAssetPriceModifier: bigint, lastBlockProposal: BlockProposal | undefined, signatureContext: CoordinationSignatureContext, payloadSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
101
118
  /**
102
119
  * Lazily evaluate the sender of the proposal; result is cached.
103
120
  * If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
@@ -126,10 +143,13 @@ export declare class CheckpointProposal extends Gossipable {
126
143
  feePerL2Gas: bigint;
127
144
  };
128
145
  totalManaUsed: bigint;
146
+ accumulatedFees: bigint;
129
147
  };
130
148
  archive: `0x${string}`;
131
149
  signature: `0x${string}`;
132
150
  feeAssetPriceModifier: string;
151
+ chainId: number;
152
+ rollupAddress: `0x${string}`;
133
153
  lastBlock: {
134
154
  blockHeader: {
135
155
  lastArchive: `0x${string}`;
@@ -143,7 +163,7 @@ export declare class CheckpointProposal extends Gossipable {
143
163
  globalVariables: {
144
164
  chainId: number;
145
165
  version: number;
146
- blockNumber: BlockNumber;
166
+ blockNumber: import("@aztec/foundation/branded-types").BlockNumber;
147
167
  slotNumber: SlotNumber;
148
168
  timestamp: bigint;
149
169
  coinbase: `0x${string}`;
@@ -171,4 +191,4 @@ export declare class CheckpointProposal extends Gossipable {
171
191
  * This type makes it clear that lastBlock and getBlockProposal() are not available.
172
192
  */
173
193
  export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,19 @@
1
- import { BlockNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
1
+ import { CheckpointProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
2
2
  import { Buffer32 } from '@aztec/foundation/buffer';
3
- import { keccak256 } from '@aztec/foundation/crypto/keccak';
4
- import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
5
3
  import { Fr } from '@aztec/foundation/curves/bn254';
6
4
  import { Signature } from '@aztec/foundation/eth-signature';
7
5
  import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
8
- import { DutyType } from '@aztec/validator-ha-signer/types';
9
6
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
7
+ import { DutyType } from '../ha-signing/index.js';
10
8
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
11
9
  import { BlockHeader } from '../tx/block_header.js';
12
10
  import { TxHash } from '../tx/index.js';
13
11
  import { BlockProposal } from './block_proposal.js';
12
+ import { ConsensusPayload } from './consensus_payload.js';
14
13
  import { Gossipable } from './gossipable.js';
15
- import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
14
+ import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, coordinationSignatureContextEquals, getCoordinationSignatureTypedData, readCoordinationSignatureContext, recoverCoordinationSigner, serializeCoordinationSignatureContext } from './signature_utils.js';
16
15
  import { SignedTxs } from './signed_txs.js';
17
16
  import { TopicType } from './topic_type.js';
18
- // REFACTOR(palla): Use a branded type instead of a subclass of Buffer32
19
- export class CheckpointProposalHash extends Buffer32 {
20
- constructor(hash){
21
- super(hash);
22
- }
23
- }
24
17
  /**
25
18
  * A checkpoint proposal is created by the leader of the chain for the last block in a checkpoint.
26
19
  * It includes the aggregated checkpoint header that validators will attest to, plus optionally
@@ -30,14 +23,26 @@ export class CheckpointProposalHash extends Buffer32 {
30
23
  archive;
31
24
  feeAssetPriceModifier;
32
25
  signature;
26
+ signatureContext;
33
27
  lastBlock;
34
28
  static p2pTopic = TopicType.checkpoint_proposal;
35
- sender;
36
- constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
37
- super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.feeAssetPriceModifier = feeAssetPriceModifier, this.signature = signature, this.lastBlock = lastBlock;
29
+ primaryType;
30
+ cachedSender;
31
+ constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
32
+ super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.feeAssetPriceModifier = feeAssetPriceModifier, this.signature = signature, this.signatureContext = signatureContext, this.lastBlock = lastBlock, this.primaryType = 'CheckpointProposal', this.cachedSender = undefined;
33
+ // Check that last block properties match those of the checkpoint.
34
+ if (lastBlock && 'inHash' in lastBlock && !lastBlock.inHash.equals(checkpointHeader.inHash)) {
35
+ throw new Error(`CheckpointProposal lastBlock inHash ${lastBlock.inHash} does not match checkpoint inHash ${checkpointHeader.inHash}`);
36
+ }
37
+ if (lastBlock && 'archiveRoot' in lastBlock && !lastBlock.archiveRoot.equals(archive)) {
38
+ throw new Error(`CheckpointProposal lastBlock archive ${lastBlock.archiveRoot} does not match checkpoint archive ${archive}`);
39
+ }
40
+ if (lastBlock && 'signatureContext' in lastBlock && !coordinationSignatureContextEquals(lastBlock.signatureContext, signatureContext)) {
41
+ throw new Error(`CheckpointProposal lastBlock signatureContext does not match checkpoint signatureContext`);
42
+ }
38
43
  }
39
44
  generateP2PMessageIdentifier() {
40
- return Promise.resolve(new CheckpointProposalHash(keccak256(this.signature.toBuffer())));
45
+ return Promise.resolve(new Buffer32(this.toConsensusPayload().getPayloadHash()));
41
46
  }
42
47
  get slotNumber() {
43
48
  return this.checkpointHeader.slotNumber;
@@ -49,7 +54,7 @@ export class CheckpointProposalHash extends Buffer32 {
49
54
  if (!this.lastBlock) {
50
55
  return undefined;
51
56
  }
52
- return new BlockProposal(this.lastBlock.blockHeader, this.lastBlock.indexWithinCheckpoint, this.checkpointHeader.inHash, this.archive, this.lastBlock.txHashes, this.lastBlock.signature, this.lastBlock.signedTxs);
57
+ return new BlockProposal(this.lastBlock.blockHeader, this.lastBlock.indexWithinCheckpoint, this.checkpointHeader.inHash, this.archive, this.lastBlock.txHashes, this.lastBlock.signature, this.signatureContext, this.lastBlock.signedTxs);
53
58
  }
54
59
  toBlockInfo() {
55
60
  if (!this.lastBlock) {
@@ -75,68 +80,68 @@ export class CheckpointProposalHash extends Buffer32 {
75
80
  /**
76
81
  * Get the payload to sign for this checkpoint proposal.
77
82
  * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
78
- */ getPayloadToSign(domainSeparator) {
83
+ */ getPayloadToSign() {
79
84
  return serializeToBuffer([
80
- domainSeparator,
81
85
  this.checkpointHeader,
82
86
  this.archive,
83
87
  serializeSignedBigInt(this.feeAssetPriceModifier)
84
88
  ]);
85
89
  }
86
- static async createProposalFromSigner(checkpointHeader, archiveRoot, feeAssetPriceModifier, lastBlockInfo, payloadSigner) {
90
+ /**
91
+ * Returns a content-addressed keccak256 hash of the consensus payload
92
+ * (header + archive + feeAssetPriceModifier + signatureContext).
93
+ *
94
+ * Used by the attestation pool to dedup distinct signed payloads at the same slot
95
+ * regardless of archive/header collisions on `feeAssetPriceModifier` variants.
96
+ * The hash deliberately excludes the signature so non-deterministic ECDSA
97
+ * re-signs of the same payload do not look like equivocation.
98
+ */ getPayloadHash() {
99
+ return CheckpointProposalHash.fromBuffer(this.toConsensusPayload().getPayloadHash());
100
+ }
101
+ /** Returns the ConsensusPayload that an attester would sign for this proposal. */ toConsensusPayload() {
102
+ return new ConsensusPayload(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signatureContext);
103
+ }
104
+ static async createProposalFromSigner(checkpointHeader, archiveRoot, checkpointNumber, feeAssetPriceModifier, lastBlockProposal, signatureContext, payloadSigner) {
87
105
  // Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
88
- const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
89
- const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
106
+ const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty(), signatureContext);
90
107
  const checkpointContext = {
91
108
  slot: checkpointHeader.slotNumber,
92
- blockNumber: lastBlockInfo?.blockHeader?.globalVariables.blockNumber ?? BlockNumber(0),
109
+ checkpointNumber,
93
110
  dutyType: DutyType.CHECKPOINT_PROPOSAL
94
111
  };
95
- if (lastBlockInfo) {
96
- // Sign block proposal before signing checkpoint proposal to ensure HA protection
97
- const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
98
- const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
99
- return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, {
100
- blockHeader: lastBlockInfo.blockHeader,
101
- indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
102
- txHashes: lastBlockInfo.txHashes,
103
- signature: lastBlockProposal.signature,
104
- signedTxs: lastBlockProposal.signedTxs
105
- });
106
- }
107
- const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
108
- return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature);
112
+ const typedData = getCoordinationSignatureTypedData(tempProposal);
113
+ const checkpointSignature = await payloadSigner(typedData, checkpointContext);
114
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, signatureContext, lastBlockProposal);
109
115
  }
110
116
  /**
111
117
  * Lazily evaluate the sender of the proposal; result is cached.
112
118
  * If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
113
119
  * @returns The sender address, or undefined if signature recovery fails or senders don't match
114
120
  */ getSender() {
115
- if (!this.sender) {
116
- const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.checkpointProposal);
117
- const checkpointSender = tryRecoverAddress(hashed, this.signature);
118
- // If there's a lastBlock, verify the block proposal sender matches
121
+ if (this.cachedSender === undefined) {
122
+ const checkpointSender = recoverCoordinationSigner(this, this.signature);
119
123
  if (checkpointSender && this.lastBlock) {
120
124
  const blockProposal = this.getBlockProposal();
121
125
  const blockSender = blockProposal?.getSender();
122
126
  if (!blockSender || !blockSender.equals(checkpointSender)) {
123
- return undefined; // Sender mismatch - fail
127
+ this.cachedSender = null;
128
+ return undefined;
124
129
  }
125
130
  }
126
- // Cache the sender for later use
127
- this.sender = checkpointSender;
131
+ this.cachedSender = checkpointSender ?? null;
128
132
  }
129
- return this.sender;
133
+ return this.cachedSender ?? undefined;
130
134
  }
131
135
  getPayload() {
132
- return this.getPayloadToSign(SignatureDomainSeparator.checkpointProposal);
136
+ return this.getPayloadToSign();
133
137
  }
134
138
  toBuffer() {
135
139
  const buffer = [
136
140
  this.checkpointHeader,
137
141
  this.archive,
138
142
  serializeSignedBigInt(this.feeAssetPriceModifier),
139
- this.signature
143
+ this.signature,
144
+ serializeCoordinationSignatureContext(this.signatureContext)
140
145
  ];
141
146
  if (this.lastBlock) {
142
147
  buffer.push(1); // hasLastBlock = true
@@ -162,6 +167,7 @@ export class CheckpointProposalHash extends Buffer32 {
162
167
  const archive = reader.readObject(Fr);
163
168
  const feeAssetPriceModifier = reader.readInt256();
164
169
  const signature = reader.readObject(Signature);
170
+ const signatureContext = readCoordinationSignatureContext(reader);
165
171
  const hasLastBlock = reader.readNumber();
166
172
  if (hasLastBlock) {
167
173
  const blockHeader = reader.readObject(BlockHeader);
@@ -179,7 +185,7 @@ export class CheckpointProposalHash extends Buffer32 {
179
185
  signedTxs = SignedTxs.fromBuffer(reader);
180
186
  }
181
187
  }
182
- return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
188
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext, {
183
189
  blockHeader,
184
190
  indexWithinCheckpoint,
185
191
  txHashes,
@@ -187,20 +193,20 @@ export class CheckpointProposalHash extends Buffer32 {
187
193
  signedTxs
188
194
  });
189
195
  }
190
- return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
196
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext);
191
197
  }
192
198
  getSize() {
193
- let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4; /* hasLastBlock flag */
199
+ let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4 /* chainId */ + 20 /* rollupAddress */ + 4; /* hasLastBlock flag */
194
200
  if (this.lastBlock) {
195
201
  size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0);
196
202
  }
197
203
  return size;
198
204
  }
199
205
  static empty() {
200
- return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty());
206
+ return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
201
207
  }
202
208
  static random() {
203
- return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), {
209
+ return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT, {
204
210
  blockHeader: BlockHeader.random(),
205
211
  indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
206
212
  txHashes: [
@@ -216,6 +222,8 @@ export class CheckpointProposalHash extends Buffer32 {
216
222
  archive: this.archive.toString(),
217
223
  signature: this.signature.toString(),
218
224
  feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
225
+ chainId: this.signatureContext.chainId,
226
+ rollupAddress: this.signatureContext.rollupAddress.toString(),
219
227
  lastBlock: this.lastBlock ? {
220
228
  blockHeader: this.lastBlock.blockHeader.toInspect(),
221
229
  indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
@@ -228,6 +236,6 @@ export class CheckpointProposalHash extends Buffer32 {
228
236
  * Returns a copy of this proposal without lastBlock info, as a CheckpointProposalCore.
229
237
  * Used when the lastBlock has been extracted and stored separately.
230
238
  */ toCore() {
231
- return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature);
239
+ return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature, this.signatureContext);
232
240
  }
233
241
  }
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
5
  import type { Checkpoint } from '../checkpoint/checkpoint.js';
6
6
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
7
7
  import type { CheckpointProposal, CheckpointProposalCore } from './checkpoint_proposal.js';
8
- import type { Signable, SignatureDomainSeparator } from './signature_utils.js';
8
+ import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
9
9
  /** Checkpoint consensus payload as signed by validators and verified on L1. */
10
10
  export declare class ConsensusPayload implements Signable {
11
11
  /** The proposed block header the attestation is made over */
@@ -14,6 +14,9 @@ export declare class ConsensusPayload implements Signable {
14
14
  readonly archive: Fr;
15
15
  /** The fee asset price modifier in basis points (from oracle) */
16
16
  readonly feeAssetPriceModifier: bigint;
17
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
18
+ readonly signatureContext: CoordinationSignatureContext;
19
+ readonly primaryType: CoordinationSignatureType;
17
20
  private size;
18
21
  constructor(
19
22
  /** The proposed block header the attestation is made over */
@@ -21,31 +24,32 @@ export declare class ConsensusPayload implements Signable {
21
24
  /** The archive root after the block is added */
22
25
  archive: Fr,
23
26
  /** The fee asset price modifier in basis points (from oracle) */
24
- feeAssetPriceModifier?: bigint);
25
- static get schema(): z.ZodEffects<z.ZodObject<{
27
+ feeAssetPriceModifier: bigint,
28
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
29
+ signatureContext: CoordinationSignatureContext);
30
+ static get schema(): z.ZodPipe<z.ZodObject<{
26
31
  header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
27
- archive: z.ZodType<Fr, any, string>;
28
- feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
29
- }, "strip", z.ZodTypeAny, {
32
+ archive: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
33
+ feeAssetPriceModifier: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
34
+ signatureContext: import("@aztec/foundation/schemas").ZodFor<CoordinationSignatureContext>;
35
+ }, z.core.$strip>, z.ZodTransform<ConsensusPayload, {
30
36
  header: CheckpointHeader;
31
37
  archive: Fr;
32
38
  feeAssetPriceModifier: bigint;
33
- }, {
34
- header?: any;
35
- archive: string;
36
- feeAssetPriceModifier: string | number | bigint;
37
- }>, ConsensusPayload, {
38
- header?: any;
39
- archive: string;
40
- feeAssetPriceModifier: string | number | bigint;
41
- }>;
42
- static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr, bigint];
43
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
39
+ signatureContext: CoordinationSignatureContext;
40
+ }>>;
41
+ static getFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>): readonly [CheckpointHeader, Fr, bigint, CoordinationSignatureContext];
42
+ getPayloadToSign(): Buffer;
43
+ /**
44
+ * Returns a keccak256 hash of the signed payload (header + archive + feeAssetPriceModifier).
45
+ * Used by the attestation pool to dedup distinct signed payloads.
46
+ */
47
+ getPayloadHash(): Buffer;
44
48
  toBuffer(): Buffer;
45
49
  equals(other: ConsensusPayload | CheckpointProposal | CheckpointProposalCore): boolean;
46
50
  static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload;
47
- static fromFields(fields: FieldsOf<ConsensusPayload>): ConsensusPayload;
48
- static fromCheckpoint(checkpoint: Checkpoint): ConsensusPayload;
51
+ static fromFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>): ConsensusPayload;
52
+ static fromCheckpoint(checkpoint: Checkpoint, signatureContext: CoordinationSignatureContext): ConsensusPayload;
49
53
  static empty(): ConsensusPayload;
50
54
  static random(): ConsensusPayload;
51
55
  /**
@@ -69,10 +73,13 @@ export declare class ConsensusPayload implements Signable {
69
73
  feePerL2Gas: bigint;
70
74
  };
71
75
  totalManaUsed: bigint;
76
+ accumulatedFees: bigint;
72
77
  };
73
78
  archive: `0x${string}`;
74
79
  feeAssetPriceModifier: string;
80
+ chainId: number;
81
+ rollupAddress: `0x${string}`;
75
82
  };
76
83
  toString(): string;
77
84
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQTRDLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO0lBSTdDLDZEQUE2RDthQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDthQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7YUFDakQscUJBQXFCLEVBQUUsTUFBTTtJQVIvQyxPQUFPLENBQUMsSUFBSSxDQUFxQjtJQUVqQztJQUNFLDZEQUE2RDtJQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDtJQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7SUFDakQscUJBQXFCLEdBQUUsTUFBVyxFQUNoRDtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDJDQUVsRDtJQUVELGdCQUFnQixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsR0FBRyxNQUFNLENBa0JsRTtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRU0sTUFBTSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxrQkFBa0IsR0FBRyxzQkFBc0IsR0FBRyxPQUFPLENBUTVGO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FROUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0IsQ0FFdEU7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsZ0JBQWdCLENBRTlEO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FFL0I7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLGdCQUFnQixDQUVoQztJQUVEOzs7T0FHRztJQUNILE9BQU8sSUFBSSxNQUFNLENBT2hCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0lBRUQsUUFBUSxXQUVQO0NBQ0YifQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQTRDLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sRUFDTCxLQUFLLDRCQUE0QixFQUNqQyxLQUFLLHlCQUF5QixFQUU5QixLQUFLLFFBQVEsRUFLZCxNQUFNLHNCQUFzQixDQUFDO0FBRTlCLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO0lBTTdDLDZEQUE2RDthQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDthQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7YUFDakQscUJBQXFCLEVBQUUsTUFBTTtJQUM3Qyw2RUFBNkU7YUFDN0QsZ0JBQWdCLEVBQUUsNEJBQTRCO0lBWmhFLFFBQVEsQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQTJCO0lBRTFFLE9BQU8sQ0FBQyxJQUFJLENBQXFCO0lBRWpDO0lBQ0UsNkRBQTZEO0lBQzdDLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEMsZ0RBQWdEO0lBQ2hDLE9BQU8sRUFBRSxFQUFFO0lBQzNCLGlFQUFpRTtJQUNqRCxxQkFBcUIsRUFBRSxNQUFNO0lBQzdDLDZFQUE2RTtJQUM3RCxnQkFBZ0IsRUFBRSw0QkFBNEIsRUFDNUQ7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7OztRQVNoQjtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhLENBQUMseUVBRXZFO0lBRUQsZ0JBQWdCLElBQUksTUFBTSxDQWN6QjtJQUVEOzs7T0FHRztJQUNILGNBQWMsSUFBSSxNQUFNLENBRXZCO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FPakI7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLGdCQUFnQixHQUFHLGtCQUFrQixHQUFHLHNCQUFzQixHQUFHLE9BQU8sQ0FTNUY7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQU85RDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxhQUFhLENBQUMsR0FBRyxnQkFBZ0IsQ0FFM0Y7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQTRCLEdBQUcsZ0JBQWdCLENBTzlHO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FFL0I7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLGdCQUFnQixDQUVoQztJQUVEOzs7T0FHRztJQUNILE9BQU8sSUFBSSxNQUFNLENBT2hCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQVFSO0lBRUQsUUFBUSxXQUVQO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AAErG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,+EAA+E;AAC/E,qBAAa,gBAAiB,YAAW,QAAQ;IAI7C,6DAA6D;aAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;aACjD,qBAAqB,EAAE,MAAM;IAR/C,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;IACjD,qBAAqB,GAAE,MAAW,EAChD;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,2CAElD;IAED,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAkBlE;IAED,QAAQ,IAAI,MAAM,CAEjB;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,OAAO,CAQ5F;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAQ9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEtE;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,gBAAgB,CAE9D;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;IAED,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAEhC;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;MAMR;IAED,QAAQ,WAEP;CACF"}
1
+ {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AAErG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAE9B,KAAK,QAAQ,EAKd,MAAM,sBAAsB,CAAC;AAE9B,+EAA+E;AAC/E,qBAAa,gBAAiB,YAAW,QAAQ;IAM7C,6DAA6D;aAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;aACjD,qBAAqB,EAAE,MAAM;IAC7C,6EAA6E;aAC7D,gBAAgB,EAAE,4BAA4B;IAZhE,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAA2B;IAE1E,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,iEAAiE;IACjD,qBAAqB,EAAE,MAAM;IAC7C,6EAA6E;IAC7D,gBAAgB,EAAE,4BAA4B,EAC5D;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;QAShB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC,yEAEvE;IAED,gBAAgB,IAAI,MAAM,CAczB;IAED;;;OAGG;IACH,cAAc,IAAI,MAAM,CAEvB;IAED,QAAQ,IAAI,MAAM,CAOjB;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,OAAO,CAS5F;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAO9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC,GAAG,gBAAgB,CAE3F;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,4BAA4B,GAAG,gBAAgB,CAO9G;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;IAED,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAEhC;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MAQR;IAED,QAAQ,WAEP;CACF"}
@@ -1,3 +1,4 @@
1
+ import { keccak256 } from '@aztec/foundation/crypto/keccak';
1
2
  import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { schemas } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -5,40 +6,46 @@ import { hexToBuffer } from '@aztec/foundation/string';
5
6
  import { encodeAbiParameters, parseAbiParameters } from 'viem';
6
7
  import { z } from 'zod';
7
8
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
9
+ import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, coordinationSignatureContextEquals, coordinationSignatureContextSchema, readCoordinationSignatureContext, serializeCoordinationSignatureContext } from './signature_utils.js';
8
10
  /** Checkpoint consensus payload as signed by validators and verified on L1. */ export class ConsensusPayload {
9
11
  header;
10
12
  archive;
11
13
  feeAssetPriceModifier;
14
+ signatureContext;
15
+ primaryType;
12
16
  size;
13
- constructor(/** The proposed block header the attestation is made over */ header, /** The archive root after the block is added */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier = 0n){
17
+ constructor(/** The proposed block header the attestation is made over */ header, /** The archive root after the block is added */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext){
14
18
  this.header = header;
15
19
  this.archive = archive;
16
20
  this.feeAssetPriceModifier = feeAssetPriceModifier;
21
+ this.signatureContext = signatureContext;
22
+ this.primaryType = 'CheckpointAttestation';
17
23
  }
18
24
  static get schema() {
19
25
  return z.object({
20
26
  header: CheckpointHeader.schema,
21
27
  archive: schemas.Fr,
22
- feeAssetPriceModifier: schemas.BigInt
23
- }).transform((obj)=>new ConsensusPayload(obj.header, obj.archive, obj.feeAssetPriceModifier));
28
+ feeAssetPriceModifier: schemas.BigInt,
29
+ signatureContext: coordinationSignatureContextSchema
30
+ }).transform((obj)=>new ConsensusPayload(obj.header, obj.archive, obj.feeAssetPriceModifier, obj.signatureContext));
24
31
  }
25
32
  static getFields(fields) {
26
33
  return [
27
34
  fields.header,
28
35
  fields.archive,
29
- fields.feeAssetPriceModifier
36
+ fields.feeAssetPriceModifier,
37
+ fields.signatureContext
30
38
  ];
31
39
  }
32
- getPayloadToSign(domainSeparator) {
33
- const abi = parseAbiParameters('uint8, ' + //domainSeperator
34
- '(' + 'bytes32, ' + // archive
40
+ getPayloadToSign() {
41
+ // Matches the L1 ProposePayload struct in ProposeLib.sol.
42
+ const abi = parseAbiParameters('(' + 'bytes32, ' + // archive
35
43
  '(int256), ' + // oracleInput
36
44
  'bytes32' + // headerHash
37
45
  ')');
38
46
  const archiveRoot = this.archive.toString();
39
47
  const headerHash = this.header.hash().toString();
40
48
  const encodedData = encodeAbiParameters(abi, [
41
- domainSeparator,
42
49
  [
43
50
  archiveRoot,
44
51
  [
@@ -49,34 +56,44 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
49
56
  ]);
50
57
  return hexToBuffer(encodedData);
51
58
  }
59
+ /**
60
+ * Returns a keccak256 hash of the signed payload (header + archive + feeAssetPriceModifier).
61
+ * Used by the attestation pool to dedup distinct signed payloads.
62
+ */ getPayloadHash() {
63
+ return keccak256(this.getPayloadToSign());
64
+ }
52
65
  toBuffer() {
53
66
  return serializeToBuffer([
54
67
  this.header,
55
68
  this.archive,
56
- serializeSignedBigInt(this.feeAssetPriceModifier)
69
+ serializeSignedBigInt(this.feeAssetPriceModifier),
70
+ serializeCoordinationSignatureContext(this.signatureContext)
57
71
  ]);
58
72
  }
59
73
  equals(other) {
60
74
  const otherHeader = 'checkpointHeader' in other ? other.checkpointHeader : other.header;
61
75
  const otherModifier = 'feeAssetPriceModifier' in other ? other.feeAssetPriceModifier : 0n;
62
- return this.header.equals(otherHeader) && this.archive.equals(other.archive) && this.feeAssetPriceModifier === otherModifier;
76
+ return this.header.equals(otherHeader) && this.archive.equals(other.archive) && this.feeAssetPriceModifier === otherModifier && coordinationSignatureContextEquals(this.signatureContext, other.signatureContext);
63
77
  }
64
78
  static fromBuffer(buf) {
65
79
  const reader = BufferReader.asReader(buf);
66
- const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr), reader.readInt256());
67
- return payload;
80
+ const header = reader.readObject(CheckpointHeader);
81
+ const archive = reader.readObject(Fr);
82
+ const feeAssetPriceModifier = reader.readInt256();
83
+ const signatureContext = readCoordinationSignatureContext(reader);
84
+ return new ConsensusPayload(header, archive, feeAssetPriceModifier, signatureContext);
68
85
  }
69
86
  static fromFields(fields) {
70
- return new ConsensusPayload(fields.header, fields.archive, fields.feeAssetPriceModifier);
87
+ return new ConsensusPayload(fields.header, fields.archive, fields.feeAssetPriceModifier, fields.signatureContext);
71
88
  }
72
- static fromCheckpoint(checkpoint) {
73
- return new ConsensusPayload(checkpoint.header, checkpoint.archive.root, checkpoint.feeAssetPriceModifier);
89
+ static fromCheckpoint(checkpoint, signatureContext) {
90
+ return new ConsensusPayload(checkpoint.header, checkpoint.archive.root, checkpoint.feeAssetPriceModifier, signatureContext);
74
91
  }
75
92
  static empty() {
76
- return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, 0n);
93
+ return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, 0n, EMPTY_COORDINATION_SIGNATURE_CONTEXT);
77
94
  }
78
95
  static random() {
79
- return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), 0n);
96
+ return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), 0n, EMPTY_COORDINATION_SIGNATURE_CONTEXT);
80
97
  }
81
98
  /**
82
99
  * Get the size of the consensus payload in bytes.
@@ -93,10 +110,12 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
93
110
  return {
94
111
  header: this.header.toInspect(),
95
112
  archive: this.archive.toString(),
96
- feeAssetPriceModifier: this.feeAssetPriceModifier.toString()
113
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
114
+ chainId: this.signatureContext.chainId,
115
+ rollupAddress: this.signatureContext.rollupAddress.toString()
97
116
  };
98
117
  }
99
118
  toString() {
100
- return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, feeAssetPriceModifier: ${this.feeAssetPriceModifier}}`;
119
+ return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, feeAssetPriceModifier: ${this.feeAssetPriceModifier}, chainId: ${this.signatureContext.chainId}, rollupAddress: ${this.signatureContext.rollupAddress.toString()}`;
101
120
  }
102
121
  }