@aztec/stdlib 0.0.1-commit.96bb3f7 → 0.0.1-commit.96dac018d

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 (660) hide show
  1. package/dest/abi/function_call.d.ts +47 -9
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/function_call.js +20 -3
  4. package/dest/abi/utils.d.ts +7 -1
  5. package/dest/abi/utils.d.ts.map +1 -1
  6. package/dest/abi/utils.js +7 -0
  7. package/dest/auth_witness/auth_witness.d.ts +2 -1
  8. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  9. package/dest/auth_witness/auth_witness.js +3 -3
  10. package/dest/avm/avm.d.ts +62 -62
  11. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  12. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  13. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  14. package/dest/avm/avm_proving_request.d.ts +299 -299
  15. package/dest/avm/contract_storage_read.d.ts +13 -1
  16. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  17. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  18. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  19. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  20. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  21. package/dest/avm/public_data_read.d.ts +10 -1
  22. package/dest/avm/public_data_read.d.ts.map +1 -1
  23. package/dest/avm/public_data_update_request.d.ts +10 -1
  24. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  25. package/dest/avm/public_data_write.d.ts +7 -1
  26. package/dest/avm/public_data_write.d.ts.map +1 -1
  27. package/dest/avm/public_inner_call_request.d.ts +4 -1
  28. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  29. package/dest/avm/revert_code.d.ts +4 -4
  30. package/dest/avm/revert_code.d.ts.map +1 -1
  31. package/dest/block/block_data.d.ts +52 -0
  32. package/dest/block/block_data.d.ts.map +1 -0
  33. package/dest/block/block_data.js +12 -0
  34. package/dest/block/block_hash.d.ts +18 -14
  35. package/dest/block/block_hash.d.ts.map +1 -1
  36. package/dest/block/block_hash.js +22 -20
  37. package/dest/block/block_parameter.d.ts +4 -3
  38. package/dest/block/block_parameter.d.ts.map +1 -1
  39. package/dest/block/block_parameter.js +2 -0
  40. package/dest/block/body.d.ts +1 -1
  41. package/dest/block/body.d.ts.map +1 -1
  42. package/dest/block/body.js +2 -1
  43. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  44. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  45. package/dest/block/checkpointed_l2_block.js +7 -45
  46. package/dest/block/in_block.d.ts +9 -9
  47. package/dest/block/in_block.d.ts.map +1 -1
  48. package/dest/block/in_block.js +5 -5
  49. package/dest/block/index.d.ts +2 -3
  50. package/dest/block/index.d.ts.map +1 -1
  51. package/dest/block/index.js +1 -2
  52. package/dest/block/l2_block.d.ts +56 -59
  53. package/dest/block/l2_block.d.ts.map +1 -1
  54. package/dest/block/l2_block.js +64 -110
  55. package/dest/block/l2_block_source.d.ts +84 -39
  56. package/dest/block/l2_block_source.d.ts.map +1 -1
  57. package/dest/block/l2_block_source.js +2 -1
  58. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  59. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  60. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  61. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  62. package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
  63. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  64. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  65. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  66. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  67. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  68. package/dest/block/validate_block_result.d.ts +1 -1
  69. package/dest/block/validate_block_result.d.ts.map +1 -1
  70. package/dest/block/validate_block_result.js +5 -4
  71. package/dest/checkpoint/checkpoint.d.ts +43 -19
  72. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  73. package/dest/checkpoint/checkpoint.js +37 -14
  74. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  75. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  76. package/dest/checkpoint/checkpoint_data.js +26 -0
  77. package/dest/checkpoint/index.d.ts +2 -1
  78. package/dest/checkpoint/index.d.ts.map +1 -1
  79. package/dest/checkpoint/index.js +1 -0
  80. package/dest/checkpoint/published_checkpoint.d.ts +33 -16
  81. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  82. package/dest/checkpoint/published_checkpoint.js +5 -5
  83. package/dest/config/index.d.ts +2 -1
  84. package/dest/config/index.d.ts.map +1 -1
  85. package/dest/config/index.js +1 -0
  86. package/dest/config/node-rpc-config.js +1 -1
  87. package/dest/config/sequencer-config.d.ts +10 -0
  88. package/dest/config/sequencer-config.d.ts.map +1 -0
  89. package/dest/config/sequencer-config.js +18 -0
  90. package/dest/contract/complete_address.d.ts +4 -1
  91. package/dest/contract/complete_address.d.ts.map +1 -1
  92. package/dest/contract/contract_address.js +4 -4
  93. package/dest/contract/contract_class.d.ts +2 -3
  94. package/dest/contract/contract_class.d.ts.map +1 -1
  95. package/dest/contract/contract_class_id.d.ts +2 -2
  96. package/dest/contract/contract_class_id.d.ts.map +1 -1
  97. package/dest/contract/contract_class_id.js +6 -5
  98. package/dest/contract/contract_deployment_data.d.ts +5 -5
  99. package/dest/contract/index.d.ts +1 -3
  100. package/dest/contract/index.d.ts.map +1 -1
  101. package/dest/contract/index.js +0 -2
  102. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  103. package/dest/contract/interfaces/node-info.d.ts +3 -1
  104. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  105. package/dest/contract/interfaces/node-info.js +2 -1
  106. package/dest/contract/private_function.d.ts +1 -1
  107. package/dest/contract/private_function.d.ts.map +1 -1
  108. package/dest/contract/private_function.js +3 -4
  109. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  110. package/dest/contract/private_function_membership_proof.js +1 -1
  111. package/dest/database-version/database_version.d.ts +58 -0
  112. package/dest/database-version/database_version.d.ts.map +1 -0
  113. package/dest/database-version/database_version.js +69 -0
  114. package/dest/database-version/version_manager.d.ts +3 -49
  115. package/dest/database-version/version_manager.d.ts.map +1 -1
  116. package/dest/database-version/version_manager.js +1 -66
  117. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  118. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  119. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  120. package/dest/deserialization/index.d.ts +11 -0
  121. package/dest/deserialization/index.d.ts.map +1 -0
  122. package/dest/deserialization/index.js +10 -0
  123. package/dest/epoch-helpers/index.d.ts +7 -1
  124. package/dest/epoch-helpers/index.d.ts.map +1 -1
  125. package/dest/epoch-helpers/index.js +9 -3
  126. package/dest/errors/proving_error.d.ts +2 -2
  127. package/dest/errors/proving_error.d.ts.map +1 -1
  128. package/dest/file-store/local.d.ts +3 -3
  129. package/dest/file-store/local.d.ts.map +1 -1
  130. package/dest/file-store/local.js +13 -4
  131. package/dest/file-store/s3.d.ts +1 -1
  132. package/dest/file-store/s3.d.ts.map +1 -1
  133. package/dest/file-store/s3.js +11 -3
  134. package/dest/ha-signing/config.d.ts +101 -0
  135. package/dest/ha-signing/config.d.ts.map +1 -0
  136. package/dest/ha-signing/config.js +92 -0
  137. package/dest/ha-signing/index.d.ts +3 -0
  138. package/dest/ha-signing/index.d.ts.map +1 -0
  139. package/dest/ha-signing/index.js +2 -0
  140. package/dest/ha-signing/types.d.ts +85 -0
  141. package/dest/ha-signing/types.d.ts.map +1 -0
  142. package/dest/ha-signing/types.js +32 -0
  143. package/dest/hash/hash.d.ts +2 -1
  144. package/dest/hash/hash.d.ts.map +1 -1
  145. package/dest/hash/hash.js +16 -10
  146. package/dest/hash/map_slot.d.ts +1 -1
  147. package/dest/hash/map_slot.d.ts.map +1 -1
  148. package/dest/hash/map_slot.js +4 -3
  149. package/dest/interfaces/api_limit.d.ts +2 -1
  150. package/dest/interfaces/api_limit.d.ts.map +1 -1
  151. package/dest/interfaces/api_limit.js +1 -0
  152. package/dest/interfaces/archiver.d.ts +1 -1
  153. package/dest/interfaces/archiver.d.ts.map +1 -1
  154. package/dest/interfaces/archiver.js +23 -15
  155. package/dest/interfaces/aztec-node-admin.d.ts +101 -28
  156. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  157. package/dest/interfaces/aztec-node-admin.js +12 -4
  158. package/dest/interfaces/aztec-node.d.ts +66 -69
  159. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  160. package/dest/interfaces/aztec-node.js +10 -16
  161. package/dest/interfaces/block-builder.d.ts +22 -14
  162. package/dest/interfaces/block-builder.d.ts.map +1 -1
  163. package/dest/interfaces/block-builder.js +7 -0
  164. package/dest/interfaces/configs.d.ts +24 -9
  165. package/dest/interfaces/configs.d.ts.map +1 -1
  166. package/dest/interfaces/configs.js +4 -1
  167. package/dest/interfaces/get_logs_response.d.ts +16 -9
  168. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  169. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  170. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  171. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  172. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  173. package/dest/interfaces/p2p.d.ts +2 -2
  174. package/dest/interfaces/p2p.d.ts.map +1 -1
  175. package/dest/interfaces/prover-broker.d.ts +16 -1
  176. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  177. package/dest/interfaces/prover-broker.js +4 -1
  178. package/dest/interfaces/prover-client.d.ts +15 -1
  179. package/dest/interfaces/prover-client.d.ts.map +1 -1
  180. package/dest/interfaces/prover-client.js +12 -1
  181. package/dest/interfaces/proving-job.d.ts +216 -216
  182. package/dest/interfaces/slasher.d.ts +9 -1
  183. package/dest/interfaces/slasher.d.ts.map +1 -1
  184. package/dest/interfaces/slasher.js +2 -0
  185. package/dest/interfaces/tx_provider.d.ts +3 -3
  186. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  187. package/dest/interfaces/validator.d.ts +118 -16
  188. package/dest/interfaces/validator.d.ts.map +1 -1
  189. package/dest/interfaces/validator.js +6 -3
  190. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  191. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  192. package/dest/kernel/hints/build_note_hash_read_request_hints.js +29 -16
  193. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  194. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  195. package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
  196. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  197. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  198. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  199. package/dest/kernel/hints/index.d.ts +2 -2
  200. package/dest/kernel/hints/index.js +2 -2
  201. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  202. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  203. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  204. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  205. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  206. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  207. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  208. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  209. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  210. package/dest/kernel/hints/read_request.d.ts +7 -1
  211. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  212. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  213. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  214. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  215. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  216. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  217. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  218. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  219. package/dest/kernel/private_call_data.d.ts +25 -1
  220. package/dest/kernel/private_call_data.d.ts.map +1 -1
  221. package/dest/kernel/private_call_request.d.ts +16 -1
  222. package/dest/kernel/private_call_request.d.ts.map +1 -1
  223. package/dest/kernel/private_circuit_public_inputs.d.ts +81 -8
  224. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  225. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  226. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
  227. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  228. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  229. package/dest/kernel/private_kernel_data.d.ts +7 -1
  230. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  231. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  232. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  233. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  234. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  235. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  236. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  237. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  238. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  239. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  240. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +25 -3
  241. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  242. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
  243. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  244. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  245. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  246. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  247. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  248. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  249. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
  250. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  251. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  252. package/dest/kernel/private_validation_requests.d.ts +13 -4
  253. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  254. package/dest/kernel/private_validation_requests.js +9 -9
  255. package/dest/kernel/public_call_request.d.ts +22 -1
  256. package/dest/kernel/public_call_request.d.ts.map +1 -1
  257. package/dest/kernel/utils/optional_number.d.ts +7 -1
  258. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  259. package/dest/keys/derivation.d.ts +3 -3
  260. package/dest/keys/derivation.js +15 -15
  261. package/dest/keys/key_types.d.ts +3 -3
  262. package/dest/keys/key_types.d.ts.map +1 -1
  263. package/dest/keys/public_keys.d.ts +5 -1
  264. package/dest/keys/public_keys.d.ts.map +1 -1
  265. package/dest/keys/public_keys.js +2 -2
  266. package/dest/keys/utils.d.ts +1 -1
  267. package/dest/keys/utils.d.ts.map +1 -1
  268. package/dest/keys/utils.js +8 -4
  269. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  270. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  271. package/dest/l1-contracts/slash_factory.js +1 -0
  272. package/dest/logs/debug_log_store.d.ts +30 -0
  273. package/dest/logs/debug_log_store.d.ts.map +1 -0
  274. package/dest/logs/debug_log_store.js +30 -0
  275. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  276. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  277. package/dest/logs/extended_public_log.d.ts +17 -9
  278. package/dest/logs/extended_public_log.d.ts.map +1 -1
  279. package/dest/logs/index.d.ts +2 -1
  280. package/dest/logs/index.d.ts.map +1 -1
  281. package/dest/logs/index.js +1 -0
  282. package/dest/logs/log_id.d.ts +21 -14
  283. package/dest/logs/log_id.d.ts.map +1 -1
  284. package/dest/logs/log_id.js +20 -17
  285. package/dest/logs/private_log.d.ts +2 -2
  286. package/dest/logs/private_log.d.ts.map +1 -1
  287. package/dest/logs/siloed_tag.d.ts +1 -1
  288. package/dest/logs/siloed_tag.d.ts.map +1 -1
  289. package/dest/logs/siloed_tag.js +2 -5
  290. package/dest/messaging/inbox_leaf.d.ts +3 -1
  291. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  292. package/dest/messaging/l1_actor.d.ts +7 -1
  293. package/dest/messaging/l1_actor.d.ts.map +1 -1
  294. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  295. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  296. package/dest/messaging/l2_actor.d.ts +7 -1
  297. package/dest/messaging/l2_actor.d.ts.map +1 -1
  298. package/dest/messaging/l2_to_l1_membership.d.ts +3 -3
  299. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  300. package/dest/messaging/l2_to_l1_membership.js +8 -6
  301. package/dest/messaging/out_hash.d.ts +41 -4
  302. package/dest/messaging/out_hash.d.ts.map +1 -1
  303. package/dest/messaging/out_hash.js +52 -26
  304. package/dest/note/index.d.ts +1 -2
  305. package/dest/note/index.d.ts.map +1 -1
  306. package/dest/note/index.js +0 -1
  307. package/dest/note/note_dao.d.ts +36 -5
  308. package/dest/note/note_dao.d.ts.map +1 -1
  309. package/dest/note/note_dao.js +15 -12
  310. package/dest/p2p/attestation_utils.d.ts +11 -1
  311. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  312. package/dest/p2p/attestation_utils.js +45 -0
  313. package/dest/p2p/block_proposal.d.ts +23 -8
  314. package/dest/p2p/block_proposal.d.ts.map +1 -1
  315. package/dest/p2p/block_proposal.js +26 -10
  316. package/dest/p2p/checkpoint_attestation.d.ts +6 -1
  317. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  318. package/dest/p2p/checkpoint_attestation.js +1 -1
  319. package/dest/p2p/checkpoint_proposal.d.ts +34 -9
  320. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  321. package/dest/p2p/checkpoint_proposal.js +46 -20
  322. package/dest/p2p/consensus_payload.d.ts +15 -5
  323. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  324. package/dest/p2p/consensus_payload.js +22 -18
  325. package/dest/p2p/constants.d.ts +5 -0
  326. package/dest/p2p/constants.d.ts.map +1 -0
  327. package/dest/p2p/constants.js +3 -0
  328. package/dest/p2p/index.d.ts +2 -1
  329. package/dest/p2p/index.d.ts.map +1 -1
  330. package/dest/p2p/index.js +1 -0
  331. package/dest/p2p/message_validator.d.ts +18 -3
  332. package/dest/p2p/message_validator.d.ts.map +1 -1
  333. package/dest/p2p/message_validator.js +2 -1
  334. package/dest/p2p/signed_txs.d.ts +3 -1
  335. package/dest/p2p/signed_txs.d.ts.map +1 -1
  336. package/dest/p2p/signed_txs.js +6 -1
  337. package/dest/p2p/topic_type.js +2 -1
  338. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  339. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  340. package/dest/parity/parity_public_inputs.d.ts +4 -1
  341. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  342. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  343. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  344. package/dest/proofs/chonk_proof.d.ts +1 -1
  345. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  346. package/dest/proofs/chonk_proof.js +9 -4
  347. package/dest/proofs/proof.d.ts +4 -1
  348. package/dest/proofs/proof.d.ts.map +1 -1
  349. package/dest/proofs/recursive_proof.d.ts +10 -1
  350. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  351. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  352. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  353. package/dest/rollup/block_constant_data.d.ts +12 -1
  354. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  355. package/dest/rollup/block_headers_hash.js +1 -1
  356. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  357. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  358. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  359. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  360. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  361. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  362. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  363. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  364. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  365. package/dest/rollup/checkpoint_header.d.ts +31 -4
  366. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  367. package/dest/rollup/checkpoint_header.js +23 -7
  368. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  369. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  370. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +45 -10
  371. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  372. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -7
  373. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  374. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  375. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  376. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  377. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  378. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  379. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  380. package/dest/rollup/root_rollup_public_inputs.d.ts +17 -7
  381. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  382. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  383. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  384. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  385. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  386. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  387. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  388. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  389. package/dest/schemas/schemas.d.ts +1 -1
  390. package/dest/slashing/empire.d.ts +1 -1
  391. package/dest/slashing/empire.d.ts.map +1 -1
  392. package/dest/slashing/empire.js +2 -0
  393. package/dest/slashing/helpers.d.ts +2 -2
  394. package/dest/slashing/helpers.d.ts.map +1 -1
  395. package/dest/slashing/helpers.js +6 -0
  396. package/dest/slashing/tally.d.ts +2 -1
  397. package/dest/slashing/tally.d.ts.map +1 -1
  398. package/dest/slashing/tally.js +6 -2
  399. package/dest/slashing/types.d.ts +7 -3
  400. package/dest/slashing/types.d.ts.map +1 -1
  401. package/dest/slashing/types.js +13 -1
  402. package/dest/stats/stats.d.ts +1 -3
  403. package/dest/stats/stats.d.ts.map +1 -1
  404. package/dest/tests/factories.d.ts +2 -4
  405. package/dest/tests/factories.d.ts.map +1 -1
  406. package/dest/tests/factories.js +18 -27
  407. package/dest/tests/jest.js +1 -1
  408. package/dest/tests/mocks.d.ts +24 -15
  409. package/dest/tests/mocks.d.ts.map +1 -1
  410. package/dest/tests/mocks.js +63 -40
  411. package/dest/timetable/index.d.ts +37 -0
  412. package/dest/timetable/index.d.ts.map +1 -0
  413. package/dest/timetable/index.js +39 -0
  414. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  415. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  416. package/dest/trees/nullifier_leaf.d.ts +13 -1
  417. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  418. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  419. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  420. package/dest/trees/public_data_leaf.d.ts +17 -1
  421. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  422. package/dest/trees/public_data_leaf.js +7 -6
  423. package/dest/trees/public_data_witness.d.ts +11 -1
  424. package/dest/trees/public_data_witness.d.ts.map +1 -1
  425. package/dest/tx/block_header.d.ts +14 -2
  426. package/dest/tx/block_header.d.ts.map +1 -1
  427. package/dest/tx/block_header.js +6 -2
  428. package/dest/tx/call_context.d.ts +13 -1
  429. package/dest/tx/call_context.d.ts.map +1 -1
  430. package/dest/tx/capsule.d.ts +4 -1
  431. package/dest/tx/capsule.d.ts.map +1 -1
  432. package/dest/tx/execution_payload.d.ts +9 -1
  433. package/dest/tx/execution_payload.d.ts.map +1 -1
  434. package/dest/tx/function_data.d.ts +4 -2
  435. package/dest/tx/function_data.d.ts.map +1 -1
  436. package/dest/tx/global_variables.d.ts +12 -4
  437. package/dest/tx/global_variables.d.ts.map +1 -1
  438. package/dest/tx/hashed_values.d.ts +7 -1
  439. package/dest/tx/hashed_values.d.ts.map +1 -1
  440. package/dest/tx/in_tx.d.ts +4 -4
  441. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  442. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  443. package/dest/tx/indexed_tx_effect.js +3 -2
  444. package/dest/tx/partial_state_reference.d.ts +4 -1
  445. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  446. package/dest/tx/private_execution_result.d.ts +23 -2
  447. package/dest/tx/private_execution_result.d.ts.map +1 -1
  448. package/dest/tx/private_execution_result.js +1 -1
  449. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  450. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  451. package/dest/tx/profiling.d.ts +152 -29
  452. package/dest/tx/profiling.d.ts.map +1 -1
  453. package/dest/tx/profiling.js +47 -10
  454. package/dest/tx/protocol_contracts.d.ts +2 -2
  455. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  456. package/dest/tx/protocol_contracts.js +2 -2
  457. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  458. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  459. package/dest/tx/public_simulation_output.d.ts +4 -2
  460. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  461. package/dest/tx/public_simulation_output.js +7 -3
  462. package/dest/tx/state_reference.d.ts +3 -1
  463. package/dest/tx/state_reference.d.ts.map +1 -1
  464. package/dest/tx/tx.d.ts +24 -1
  465. package/dest/tx/tx.d.ts.map +1 -1
  466. package/dest/tx/tx.js +6 -3
  467. package/dest/tx/tx_context.d.ts +2 -1
  468. package/dest/tx/tx_context.d.ts.map +1 -1
  469. package/dest/tx/tx_effect.d.ts +32 -6
  470. package/dest/tx/tx_effect.d.ts.map +1 -1
  471. package/dest/tx/tx_effect.js +0 -7
  472. package/dest/tx/tx_execution_request.d.ts +30 -1
  473. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  474. package/dest/tx/tx_hash.d.ts +2 -1
  475. package/dest/tx/tx_hash.d.ts.map +1 -1
  476. package/dest/tx/tx_receipt.d.ts +62 -14
  477. package/dest/tx/tx_receipt.d.ts.map +1 -1
  478. package/dest/tx/tx_receipt.js +55 -16
  479. package/dest/tx/tx_request.d.ts +6 -1
  480. package/dest/tx/tx_request.d.ts.map +1 -1
  481. package/dest/tx/tx_request.js +2 -2
  482. package/dest/tx/validator/empty_validator.d.ts +2 -2
  483. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  484. package/dest/tx/validator/error_texts.d.ts +3 -2
  485. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  486. package/dest/tx/validator/error_texts.js +3 -1
  487. package/dest/tx/validator/tx_validator.d.ts +2 -2
  488. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  489. package/dest/types/shared.d.ts +4 -1
  490. package/dest/types/shared.d.ts.map +1 -1
  491. package/dest/validators/schemas.d.ts +38 -38
  492. package/dest/validators/schemas.d.ts.map +1 -1
  493. package/dest/validators/schemas.js +4 -3
  494. package/dest/validators/types.d.ts +3 -3
  495. package/dest/validators/types.d.ts.map +1 -1
  496. package/dest/vks/verification_key.d.ts +22 -1
  497. package/dest/vks/verification_key.d.ts.map +1 -1
  498. package/dest/vks/vk_data.d.ts +7 -1
  499. package/dest/vks/vk_data.d.ts.map +1 -1
  500. package/dest/zkpassport/index.d.ts +3 -4
  501. package/dest/zkpassport/index.d.ts.map +1 -1
  502. package/dest/zkpassport/index.js +9 -9
  503. package/package.json +27 -13
  504. package/src/abi/function_call.ts +25 -3
  505. package/src/abi/utils.ts +17 -0
  506. package/src/auth_witness/auth_witness.ts +3 -3
  507. package/src/block/block_data.ts +26 -0
  508. package/src/block/block_hash.ts +26 -25
  509. package/src/block/block_parameter.ts +4 -2
  510. package/src/block/body.ts +2 -1
  511. package/src/block/checkpointed_l2_block.ts +8 -58
  512. package/src/block/in_block.ts +6 -6
  513. package/src/block/index.ts +1 -2
  514. package/src/block/l2_block.ts +102 -150
  515. package/src/block/l2_block_source.ts +93 -42
  516. package/src/block/l2_block_stream/interfaces.ts +8 -5
  517. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  518. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  519. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  520. package/src/block/validate_block_result.ts +5 -4
  521. package/src/checkpoint/checkpoint.ts +61 -21
  522. package/src/checkpoint/checkpoint_data.ts +51 -0
  523. package/src/checkpoint/index.ts +1 -0
  524. package/src/checkpoint/published_checkpoint.ts +7 -4
  525. package/src/config/index.ts +1 -0
  526. package/src/config/node-rpc-config.ts +1 -1
  527. package/src/config/sequencer-config.ts +29 -0
  528. package/src/contract/contract_address.ts +4 -4
  529. package/src/contract/contract_class.ts +3 -3
  530. package/src/contract/contract_class_id.ts +6 -5
  531. package/src/contract/index.ts +0 -2
  532. package/src/contract/interfaces/node-info.ts +3 -0
  533. package/src/contract/private_function.ts +3 -4
  534. package/src/contract/private_function_membership_proof.ts +1 -1
  535. package/src/database-version/database_version.ts +87 -0
  536. package/src/database-version/version_manager.ts +1 -77
  537. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  538. package/src/deserialization/index.ts +21 -0
  539. package/src/epoch-helpers/index.ts +13 -1
  540. package/src/file-store/local.ts +15 -5
  541. package/src/file-store/s3.ts +12 -3
  542. package/src/ha-signing/config.ts +149 -0
  543. package/src/ha-signing/index.ts +18 -0
  544. package/src/ha-signing/types.ts +112 -0
  545. package/src/hash/hash.ts +14 -10
  546. package/src/hash/map_slot.ts +3 -2
  547. package/src/interfaces/api_limit.ts +1 -0
  548. package/src/interfaces/archiver.ts +23 -24
  549. package/src/interfaces/aztec-node-admin.ts +26 -2
  550. package/src/interfaces/aztec-node.ts +86 -135
  551. package/src/interfaces/block-builder.ts +41 -23
  552. package/src/interfaces/configs.ts +13 -4
  553. package/src/interfaces/l2_logs_source.ts +17 -4
  554. package/src/interfaces/merkle_tree_operations.ts +1 -1
  555. package/src/interfaces/p2p.ts +1 -1
  556. package/src/interfaces/prover-broker.ts +22 -0
  557. package/src/interfaces/prover-client.ts +22 -0
  558. package/src/interfaces/slasher.ts +4 -0
  559. package/src/interfaces/tx_provider.ts +2 -2
  560. package/src/interfaces/validator.ts +20 -12
  561. package/src/kernel/hints/build_note_hash_read_request_hints.ts +31 -24
  562. package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
  563. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  564. package/src/kernel/hints/index.ts +2 -2
  565. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  566. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  567. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  568. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  569. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  570. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
  571. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  572. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  573. package/src/kernel/private_validation_requests.ts +8 -8
  574. package/src/keys/derivation.ts +15 -15
  575. package/src/keys/key_types.ts +6 -2
  576. package/src/keys/public_keys.ts +2 -2
  577. package/src/keys/utils.ts +8 -4
  578. package/src/l1-contracts/slash_factory.ts +1 -0
  579. package/src/logs/debug_log_store.ts +54 -0
  580. package/src/logs/index.ts +1 -0
  581. package/src/logs/log_id.ts +22 -18
  582. package/src/logs/siloed_tag.ts +2 -2
  583. package/src/messaging/l2_to_l1_membership.ts +8 -6
  584. package/src/messaging/out_hash.ts +60 -29
  585. package/src/note/index.ts +0 -1
  586. package/src/note/note_dao.ts +18 -13
  587. package/src/p2p/attestation_utils.ts +56 -0
  588. package/src/p2p/block_proposal.ts +36 -15
  589. package/src/p2p/checkpoint_attestation.ts +6 -1
  590. package/src/p2p/checkpoint_proposal.ts +74 -24
  591. package/src/p2p/consensus_payload.ts +25 -17
  592. package/src/p2p/constants.ts +6 -0
  593. package/src/p2p/index.ts +1 -0
  594. package/src/p2p/message_validator.ts +14 -2
  595. package/src/p2p/signed_txs.ts +6 -1
  596. package/src/p2p/topic_type.ts +1 -1
  597. package/src/proofs/chonk_proof.ts +9 -5
  598. package/src/rollup/block_headers_hash.ts +1 -1
  599. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  600. package/src/rollup/checkpoint_header.ts +22 -2
  601. package/src/rollup/checkpoint_rollup_public_inputs.ts +16 -10
  602. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  603. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  604. package/src/slashing/empire.ts +3 -1
  605. package/src/slashing/helpers.ts +8 -0
  606. package/src/slashing/tally.ts +8 -2
  607. package/src/slashing/types.ts +14 -0
  608. package/src/stats/stats.ts +0 -2
  609. package/src/tests/factories.ts +23 -43
  610. package/src/tests/jest.ts +1 -1
  611. package/src/tests/mocks.ts +90 -55
  612. package/src/timetable/index.ts +66 -0
  613. package/src/trees/public_data_leaf.ts +11 -5
  614. package/src/tx/block_header.ts +12 -4
  615. package/src/tx/global_variables.ts +3 -3
  616. package/src/tx/indexed_tx_effect.ts +3 -2
  617. package/src/tx/private_execution_result.ts +1 -1
  618. package/src/tx/profiling.ts +51 -9
  619. package/src/tx/protocol_contracts.ts +2 -2
  620. package/src/tx/public_simulation_output.ts +4 -0
  621. package/src/tx/tx.ts +8 -9
  622. package/src/tx/tx_effect.ts +0 -9
  623. package/src/tx/tx_receipt.ts +85 -18
  624. package/src/tx/tx_request.ts +2 -2
  625. package/src/tx/validator/empty_validator.ts +1 -1
  626. package/src/tx/validator/error_texts.ts +4 -1
  627. package/src/tx/validator/tx_validator.ts +1 -1
  628. package/src/validators/schemas.ts +8 -1
  629. package/src/validators/types.ts +5 -4
  630. package/src/zkpassport/index.ts +11 -12
  631. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  632. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  633. package/dest/block/l2_block_code_to_purge.js +0 -55
  634. package/dest/block/l2_block_header.d.ts +0 -94
  635. package/dest/block/l2_block_header.d.ts.map +0 -1
  636. package/dest/block/l2_block_header.js +0 -160
  637. package/dest/block/l2_block_new.d.ts +0 -134
  638. package/dest/block/l2_block_new.d.ts.map +0 -1
  639. package/dest/block/l2_block_new.js +0 -155
  640. package/dest/contract/contract_class_metadata.d.ts +0 -8
  641. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  642. package/dest/contract/contract_class_metadata.js +0 -1
  643. package/dest/contract/contract_metadata.d.ts +0 -7
  644. package/dest/contract/contract_metadata.d.ts.map +0 -1
  645. package/dest/contract/contract_metadata.js +0 -1
  646. package/dest/database-version/index.d.ts +0 -2
  647. package/dest/database-version/index.d.ts.map +0 -1
  648. package/dest/database-version/index.js +0 -1
  649. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  650. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  651. package/dest/note/notes_filter.d.ts +0 -27
  652. package/dest/note/notes_filter.d.ts.map +0 -1
  653. package/dest/note/notes_filter.js +0 -11
  654. package/src/block/l2_block_code_to_purge.ts +0 -80
  655. package/src/block/l2_block_header.ts +0 -255
  656. package/src/block/l2_block_new.ts +0 -211
  657. package/src/contract/contract_class_metadata.ts +0 -8
  658. package/src/contract/contract_metadata.ts +0 -7
  659. package/src/database-version/index.ts +0 -1
  660. package/src/note/notes_filter.ts +0 -38
@@ -1,9 +1,12 @@
1
+ import { IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
1
2
  import { Buffer32 } from '@aztec/foundation/buffer';
2
3
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
4
  import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
4
5
  import { Fr } from '@aztec/foundation/curves/bn254';
5
6
  import { Signature } from '@aztec/foundation/eth-signature';
6
7
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
8
+ import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
9
+ import { DutyType } from '../ha-signing/index.js';
7
10
  import { BlockHeader } from '../tx/block_header.js';
8
11
  import { TxHash } from '../tx/index.js';
9
12
  import { Gossipable } from './gossipable.js';
@@ -29,9 +32,7 @@ export class BlockProposalHash extends Buffer32 {
29
32
  signedTxs;
30
33
  static p2pTopic = TopicType.block_proposal;
31
34
  sender;
32
- constructor(/** The per-block header containing block state and global variables */ blockHeader, // TODO(palla/mbps): Is this really needed? Can we just derive it from the indexWithinCheckpoint of the parent block and the slot number?
33
- // See the block-proposal-handler, we have a lot of extra validations to check this is correct, so maybe we can avoid storing it here.
34
- /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
35
+ constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
35
36
  super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
36
37
  }
37
38
  generateP2PMessageIdentifier() {
@@ -75,12 +76,23 @@ export class BlockProposalHash extends Buffer32 {
75
76
  static async createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
76
77
  // Create a temporary proposal to get the payload to sign
77
78
  const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty());
79
+ // Create the block signing context
80
+ const blockContext = {
81
+ slot: blockHeader.globalVariables.slotNumber,
82
+ blockNumber: blockHeader.globalVariables.blockNumber,
83
+ blockIndexWithinCheckpoint: indexWithinCheckpoint,
84
+ dutyType: DutyType.BLOCK_PROPOSAL
85
+ };
78
86
  const hashed = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.blockProposal);
79
- const sig = await payloadSigner(hashed);
87
+ const sig = await payloadSigner(hashed, blockContext);
80
88
  // If txs are provided, sign them as well
81
89
  let signedTxs;
82
90
  if (txs) {
83
- signedTxs = await SignedTxs.createFromSigner(txs, payloadSigner);
91
+ const txsSigningContext = {
92
+ dutyType: DutyType.TXS
93
+ };
94
+ const txsSigner = (payload)=>payloadSigner(payload, txsSigningContext);
95
+ signedTxs = await SignedTxs.createFromSigner(txs, txsSigner);
84
96
  }
85
97
  return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signedTxs);
86
98
  }
@@ -128,11 +140,15 @@ export class BlockProposalHash extends Buffer32 {
128
140
  static fromBuffer(buf) {
129
141
  const reader = BufferReader.asReader(buf);
130
142
  const blockHeader = reader.readObject(BlockHeader);
131
- const indexWithinCheckpoint = reader.readNumber();
143
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
132
144
  const inHash = reader.readObject(Fr);
133
145
  const archiveRoot = reader.readObject(Fr);
134
146
  const signature = reader.readObject(Signature);
135
- const txHashes = reader.readArray(reader.readNumber(), TxHash);
147
+ const txHashCount = reader.readNumber();
148
+ if (txHashCount > MAX_TXS_PER_BLOCK) {
149
+ throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
150
+ }
151
+ const txHashes = reader.readArray(txHashCount, TxHash);
136
152
  if (!reader.isEmpty()) {
137
153
  const hasSignedTxs = reader.readNumber();
138
154
  if (hasSignedTxs) {
@@ -146,10 +162,10 @@ export class BlockProposalHash extends Buffer32 {
146
162
  return this.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.inHash.size + this.archiveRoot.size + this.signature.getSize() + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.signedTxs ? this.signedTxs.getSize() : 0);
147
163
  }
148
164
  static empty() {
149
- return new BlockProposal(BlockHeader.empty(), 0, Fr.ZERO, Fr.ZERO, [], Signature.empty());
165
+ return new BlockProposal(BlockHeader.empty(), IndexWithinCheckpoint(0), Fr.ZERO, Fr.ZERO, [], Signature.empty());
150
166
  }
151
167
  static random() {
152
- return new BlockProposal(BlockHeader.random(), Math.floor(Math.random() * 5), Fr.random(), Fr.random(), [
168
+ return new BlockProposal(BlockHeader.random(), IndexWithinCheckpoint(Math.floor(Math.random() * 5)), Fr.random(), Fr.random(), [
153
169
  TxHash.random(),
154
170
  TxHash.random()
155
171
  ], Signature.random());
@@ -170,7 +186,7 @@ export class BlockProposalHash extends Buffer32 {
170
186
  * @param block - The L2Block to compare against
171
187
  * @returns True if the proposal matches the block
172
188
  */ matchesBlock(block) {
173
- return this.archiveRoot.equals(block.archive.root) && this.blockHeader.equals(block.getBlockHeader());
189
+ return this.archiveRoot.equals(block.archive.root) && this.blockHeader.equals(block.header);
174
190
  }
175
191
  /**
176
192
  * Returns a copy of this proposal without signedTxs.
@@ -18,8 +18,11 @@ export declare class CheckpointAttestationHash extends Buffer32 {
18
18
  * will produce a checkpoint attestation over the checkpoint header.
19
19
  */
20
20
  export declare class CheckpointAttestation extends Gossipable {
21
+ /** The payload of the message, and what the signature is over */
21
22
  readonly payload: ConsensusPayload;
23
+ /** The signature of the checkpoint attester */
22
24
  readonly signature: Signature;
25
+ /** The signature from the checkpoint proposer */
23
26
  readonly proposerSignature: Signature;
24
27
  static p2pTopic: TopicType;
25
28
  private sender;
@@ -58,6 +61,7 @@ export declare class CheckpointAttestation extends Gossipable {
58
61
  blockHeadersHash: `0x${string}`;
59
62
  blobsHash: `0x${string}`;
60
63
  inHash: `0x${string}`;
64
+ epochOutHash: `0x${string}`;
61
65
  slotNumber: SlotNumber;
62
66
  timestamp: bigint;
63
67
  coinbase: `0x${string}`;
@@ -69,9 +73,10 @@ export declare class CheckpointAttestation extends Gossipable {
69
73
  totalManaUsed: bigint;
70
74
  };
71
75
  archive: `0x${string}`;
76
+ feeAssetPriceModifier: string;
72
77
  };
73
78
  signature: `0x${string}`;
74
79
  proposerSignature: `0x${string}`;
75
80
  };
76
81
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTthQVFqQyxPQUFPLEVBQUUsZ0JBQWdCO2FBR3pCLFNBQVMsRUFBRSxTQUFTO2FBR3BCLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBV3BDO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT25FO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUVyQztJQUVELE9BQU8sSUFBSSxNQUFNLENBRWhCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTVI7Q0FDRiJ9
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTtJQU9qRCxpRUFBaUU7YUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7YUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO2FBQ2pDLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBZ0JwQztJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixDQU9uRTtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUkscUJBQXFCLENBRXBDO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxxQkFBcUIsQ0FFckM7SUFFRCxPQUFPLElBQUksTUFBTSxDQUVoQjtJQUVELFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTVI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,QAAQ;IACrD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;aAQjC,OAAO,EAAE,gBAAgB;aAGzB,SAAS,EAAE,SAAS;aAGpB,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;IAEzC;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzD;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAYlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAWpC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
1
+ {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,QAAQ;IACrD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;IAEzC;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzD;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAYlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAgBpC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
@@ -65,7 +65,7 @@ export class CheckpointAttestationHash extends Buffer32 {
65
65
  // Create a temporary CheckpointProposal to recover the proposer address.
66
66
  // We need to use CheckpointProposal because it has a different getPayloadToSign()
67
67
  // implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
68
- const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.proposerSignature);
68
+ const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.payload.feeAssetPriceModifier, this.proposerSignature);
69
69
  // Cache the proposer for later use
70
70
  this.proposer = proposal.getSender();
71
71
  }
@@ -1,10 +1,11 @@
1
- import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
+ import { BlockNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import { Buffer32 } 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
7
  import type { L2BlockInfo } from '../block/l2_block_info.js';
8
+ import { type SigningContext } from '../ha-signing/index.js';
8
9
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
9
10
  import { BlockHeader } from '../tx/block_header.js';
10
11
  import { TxHash } from '../tx/index.js';
@@ -18,8 +19,15 @@ export declare class CheckpointProposalHash extends Buffer32 {
18
19
  constructor(hash: Buffer);
19
20
  }
20
21
  export type CheckpointProposalOptions = {
21
- publishFullTxs: boolean;
22
- /** Whether to generate an invalid checkpoint proposal for broadcasting. Use only for testing. */
22
+ /**
23
+ * Whether to include the tx objects along with the block proposal.
24
+ * Dramatically increases size of the payload but eliminates failed reexecutions due to missing txs.
25
+ */
26
+ publishFullTxs?: boolean;
27
+ /**
28
+ * Whether to generate an invalid checkpoint proposal for broadcasting.
29
+ * Use only for testing.
30
+ */
23
31
  broadcastInvalidCheckpointProposal?: boolean;
24
32
  };
25
33
  /** Data for the last block included in a checkpoint proposal */
@@ -27,7 +35,7 @@ export type CheckpointLastBlockData = {
27
35
  /** The per-block header for the last block in the checkpoint */
28
36
  blockHeader: BlockHeader;
29
37
  /** Index of this block within the checkpoint (should be the last index, e.g., numBlocks - 1) */
30
- indexWithinCheckpoint: number;
38
+ indexWithinCheckpoint: IndexWithinCheckpoint;
31
39
  /** The sequence of transactions in the last block */
32
40
  txHashes: TxHash[];
33
41
  /** The tx in the last block (optional, for DA guarantees) */
@@ -46,9 +54,15 @@ export type CheckpointLastBlock = Omit<CheckpointLastBlockData, 'txs'> & {
46
54
  * the last block's info for nodes to re-execute. This marks the completion of a slot's worth of blocks.
47
55
  */
48
56
  export declare class CheckpointProposal extends Gossipable {
57
+ /** The aggregated checkpoint header for consensus */
49
58
  readonly checkpointHeader: CheckpointHeader;
59
+ /** Archive root after this checkpoint is applied */
50
60
  readonly archive: Fr;
61
+ /** The fee asset price modifier in basis points (from oracle) */
62
+ readonly feeAssetPriceModifier: bigint;
63
+ /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
51
64
  readonly signature: Signature;
65
+ /** Optional last block info, including its own signature for BlockProposal extraction */
52
66
  readonly lastBlock?: CheckpointLastBlock | undefined;
53
67
  static p2pTopic: TopicType;
54
68
  private sender;
@@ -57,7 +71,9 @@ export declare class CheckpointProposal extends Gossipable {
57
71
  checkpointHeader: CheckpointHeader,
58
72
  /** Archive root after this checkpoint is applied */
59
73
  archive: Fr,
60
- /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */
74
+ /** The fee asset price modifier in basis points (from oracle) */
75
+ feeAssetPriceModifier: bigint,
76
+ /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
61
77
  signature: Signature,
62
78
  /** Optional last block info, including its own signature for BlockProposal extraction */
63
79
  lastBlock?: CheckpointLastBlock | undefined);
@@ -74,12 +90,19 @@ export declare class CheckpointProposal extends Gossipable {
74
90
  */
75
91
  getBlockProposal(): BlockProposal | undefined;
76
92
  toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'>;
93
+ toCheckpointInfo(): {
94
+ slotNumber: SlotNumber;
95
+ archive: Fr;
96
+ lastBlockNumber: BlockNumber | undefined;
97
+ lastBlockIndex: IndexWithinCheckpoint | undefined;
98
+ blockHeadersHash: Fr;
99
+ };
77
100
  /**
78
101
  * Get the payload to sign for this checkpoint proposal.
79
- * The signature is over the checkpoint header + archive root (for consensus).
102
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
80
103
  */
81
104
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
82
- static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32) => Promise<Signature>): Promise<CheckpointProposal>;
105
+ static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, feeAssetPriceModifier: bigint, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
83
106
  /**
84
107
  * Lazily evaluate the sender of the proposal; result is cached.
85
108
  * If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
@@ -98,6 +121,7 @@ export declare class CheckpointProposal extends Gossipable {
98
121
  blockHeadersHash: `0x${string}`;
99
122
  blobsHash: `0x${string}`;
100
123
  inHash: `0x${string}`;
124
+ epochOutHash: `0x${string}`;
101
125
  slotNumber: SlotNumber;
102
126
  timestamp: bigint;
103
127
  coinbase: `0x${string}`;
@@ -110,6 +134,7 @@ export declare class CheckpointProposal extends Gossipable {
110
134
  };
111
135
  archive: `0x${string}`;
112
136
  signature: `0x${string}`;
137
+ feeAssetPriceModifier: string;
113
138
  lastBlock: {
114
139
  blockHeader: {
115
140
  lastArchive: `0x${string}`;
@@ -134,7 +159,7 @@ export declare class CheckpointProposal extends Gossipable {
134
159
  totalFees: bigint;
135
160
  totalManaUsed: bigint;
136
161
  };
137
- indexWithinCheckpoint: number;
162
+ indexWithinCheckpoint: IndexWithinCheckpoint;
138
163
  txHashes: `0x${string}`[];
139
164
  signature: `0x${string}`;
140
165
  } | undefined;
@@ -151,4 +176,4 @@ export declare class CheckpointProposal extends Gossipable {
151
176
  * This type makes it clear that lastBlock and getBlockProposal() are not available.
152
177
  */
153
178
  export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVDLHFCQUFhLHNCQUF1QixTQUFRLFFBQVE7SUFDbEQsWUFBWSxJQUFJLEVB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
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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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,9 +1,12 @@
1
+ import { BlockNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
1
2
  import { Buffer32 } from '@aztec/foundation/buffer';
2
3
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
4
  import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
4
5
  import { Fr } from '@aztec/foundation/curves/bn254';
5
6
  import { Signature } from '@aztec/foundation/eth-signature';
6
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
7
+ import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
8
+ import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
9
+ import { DutyType } from '../ha-signing/index.js';
7
10
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
11
  import { BlockHeader } from '../tx/block_header.js';
9
12
  import { TxHash } from '../tx/index.js';
@@ -25,12 +28,13 @@ export class CheckpointProposalHash extends Buffer32 {
25
28
  */ export class CheckpointProposal extends Gossipable {
26
29
  checkpointHeader;
27
30
  archive;
31
+ feeAssetPriceModifier;
28
32
  signature;
29
33
  lastBlock;
30
34
  static p2pTopic = TopicType.checkpoint_proposal;
31
35
  sender;
32
- constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
33
- super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.signature = signature, this.lastBlock = lastBlock;
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;
34
38
  }
35
39
  generateP2PMessageIdentifier() {
36
40
  return Promise.resolve(new CheckpointProposalHash(keccak256(this.signature.toBuffer())));
@@ -71,26 +75,41 @@ export class CheckpointProposalHash extends Buffer32 {
71
75
  txCount: this.lastBlock.txHashes.length
72
76
  };
73
77
  }
78
+ toCheckpointInfo() {
79
+ return {
80
+ slotNumber: this.slotNumber,
81
+ archive: this.archive,
82
+ lastBlockNumber: this.lastBlock?.blockHeader.getBlockNumber(),
83
+ lastBlockIndex: this.lastBlock?.indexWithinCheckpoint,
84
+ blockHeadersHash: this.checkpointHeader.blockHeadersHash
85
+ };
86
+ }
74
87
  /**
75
88
  * Get the payload to sign for this checkpoint proposal.
76
- * The signature is over the checkpoint header + archive root (for consensus).
89
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
77
90
  */ getPayloadToSign(domainSeparator) {
78
91
  return serializeToBuffer([
79
92
  domainSeparator,
80
93
  this.checkpointHeader,
81
- this.archive
94
+ this.archive,
95
+ serializeSignedBigInt(this.feeAssetPriceModifier)
82
96
  ]);
83
97
  }
84
- static async createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, payloadSigner) {
85
- // Sign the checkpoint payload
86
- const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, Signature.empty(), undefined);
98
+ static async createProposalFromSigner(checkpointHeader, archiveRoot, feeAssetPriceModifier, lastBlockInfo, payloadSigner) {
99
+ // Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
100
+ const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
87
101
  const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
88
- const checkpointSignature = await payloadSigner(checkpointHash);
102
+ const checkpointContext = {
103
+ slot: checkpointHeader.slotNumber,
104
+ blockNumber: lastBlockInfo?.blockHeader?.globalVariables.blockNumber ?? BlockNumber(0),
105
+ dutyType: DutyType.CHECKPOINT_PROPOSAL
106
+ };
107
+ const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
89
108
  if (!lastBlockInfo) {
90
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature);
109
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature);
91
110
  }
92
111
  const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
93
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature, {
112
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, {
94
113
  blockHeader: lastBlockInfo.blockHeader,
95
114
  indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
96
115
  txHashes: lastBlockInfo.txHashes,
@@ -126,6 +145,7 @@ export class CheckpointProposalHash extends Buffer32 {
126
145
  const buffer = [
127
146
  this.checkpointHeader,
128
147
  this.archive,
148
+ serializeSignedBigInt(this.feeAssetPriceModifier),
129
149
  this.signature
130
150
  ];
131
151
  if (this.lastBlock) {
@@ -150,13 +170,18 @@ export class CheckpointProposalHash extends Buffer32 {
150
170
  const reader = BufferReader.asReader(buf);
151
171
  const checkpointHeader = reader.readObject(CheckpointHeader);
152
172
  const archive = reader.readObject(Fr);
173
+ const feeAssetPriceModifier = reader.readInt256();
153
174
  const signature = reader.readObject(Signature);
154
175
  const hasLastBlock = reader.readNumber();
155
176
  if (hasLastBlock) {
156
177
  const blockHeader = reader.readObject(BlockHeader);
157
- const indexWithinCheckpoint = reader.readNumber();
178
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
158
179
  const blockSignature = reader.readObject(Signature);
159
- const txHashes = reader.readArray(reader.readNumber(), TxHash);
180
+ const txHashCount = reader.readNumber();
181
+ if (txHashCount > MAX_TXS_PER_BLOCK) {
182
+ throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
183
+ }
184
+ const txHashes = reader.readArray(txHashCount, TxHash);
160
185
  let signedTxs;
161
186
  if (!reader.isEmpty()) {
162
187
  const hasSignedTxs = reader.readNumber();
@@ -164,7 +189,7 @@ export class CheckpointProposalHash extends Buffer32 {
164
189
  signedTxs = SignedTxs.fromBuffer(reader);
165
190
  }
166
191
  }
167
- return new CheckpointProposal(checkpointHeader, archive, signature, {
192
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
168
193
  blockHeader,
169
194
  indexWithinCheckpoint,
170
195
  txHashes,
@@ -172,22 +197,22 @@ export class CheckpointProposalHash extends Buffer32 {
172
197
  signedTxs
173
198
  });
174
199
  }
175
- return new CheckpointProposal(checkpointHeader, archive, signature);
200
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
176
201
  }
177
202
  getSize() {
178
- let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 4; /* hasLastBlock flag */
203
+ let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4; /* hasLastBlock flag */
179
204
  if (this.lastBlock) {
180
205
  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);
181
206
  }
182
207
  return size;
183
208
  }
184
209
  static empty() {
185
- return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, Signature.empty());
210
+ return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty());
186
211
  }
187
212
  static random() {
188
- return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), Signature.random(), {
213
+ return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), {
189
214
  blockHeader: BlockHeader.random(),
190
- indexWithinCheckpoint: Math.floor(Math.random() * 5),
215
+ indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
191
216
  txHashes: [
192
217
  TxHash.random(),
193
218
  TxHash.random()
@@ -200,6 +225,7 @@ export class CheckpointProposalHash extends Buffer32 {
200
225
  checkpointHeader: this.checkpointHeader.toInspect(),
201
226
  archive: this.archive.toString(),
202
227
  signature: this.signature.toString(),
228
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
203
229
  lastBlock: this.lastBlock ? {
204
230
  blockHeader: this.lastBlock.blockHeader.toInspect(),
205
231
  indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
@@ -212,6 +238,6 @@ export class CheckpointProposalHash extends Buffer32 {
212
238
  * Returns a copy of this proposal without lastBlock info, as a CheckpointProposalCore.
213
239
  * Used when the lastBlock has been extracted and stored separately.
214
240
  */ toCore() {
215
- return new CheckpointProposal(this.checkpointHeader, this.archive, this.signature);
241
+ return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature);
216
242
  }
217
243
  }
@@ -2,41 +2,49 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
3
  import type { FieldsOf } from '@aztec/foundation/types';
4
4
  import { z } from 'zod';
5
- import type { L2Block } from '../block/l2_block.js';
6
5
  import type { Checkpoint } from '../checkpoint/checkpoint.js';
7
6
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
7
  import type { CheckpointProposal, CheckpointProposalCore } from './checkpoint_proposal.js';
9
8
  import type { Signable, SignatureDomainSeparator } from './signature_utils.js';
10
9
  /** Checkpoint consensus payload as signed by validators and verified on L1. */
11
10
  export declare class ConsensusPayload implements Signable {
11
+ /** The proposed block header the attestation is made over */
12
12
  readonly header: CheckpointHeader;
13
+ /** The archive root after the block is added */
13
14
  readonly archive: Fr;
15
+ /** The fee asset price modifier in basis points (from oracle) */
16
+ readonly feeAssetPriceModifier: bigint;
14
17
  private size;
15
18
  constructor(
16
19
  /** The proposed block header the attestation is made over */
17
20
  header: CheckpointHeader,
18
21
  /** The archive root after the block is added */
19
- archive: Fr);
22
+ archive: Fr,
23
+ /** The fee asset price modifier in basis points (from oracle) */
24
+ feeAssetPriceModifier?: bigint);
20
25
  static get schema(): z.ZodEffects<z.ZodObject<{
21
26
  header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
22
27
  archive: z.ZodType<Fr, any, string>;
28
+ feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
23
29
  }, "strip", z.ZodTypeAny, {
24
30
  header: CheckpointHeader;
25
31
  archive: Fr;
32
+ feeAssetPriceModifier: bigint;
26
33
  }, {
27
34
  header?: any;
28
35
  archive: string;
36
+ feeAssetPriceModifier: string | number | bigint;
29
37
  }>, ConsensusPayload, {
30
38
  header?: any;
31
39
  archive: string;
40
+ feeAssetPriceModifier: string | number | bigint;
32
41
  }>;
33
- static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr];
42
+ static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr, bigint];
34
43
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
35
44
  toBuffer(): Buffer;
36
45
  equals(other: ConsensusPayload | CheckpointProposal | CheckpointProposalCore): boolean;
37
46
  static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload;
38
47
  static fromFields(fields: FieldsOf<ConsensusPayload>): ConsensusPayload;
39
- static fromBlock(block: L2Block): ConsensusPayload;
40
48
  static fromCheckpoint(checkpoint: Checkpoint): ConsensusPayload;
41
49
  static empty(): ConsensusPayload;
42
50
  static random(): ConsensusPayload;
@@ -51,6 +59,7 @@ export declare class ConsensusPayload implements Signable {
51
59
  blockHeadersHash: `0x${string}`;
52
60
  blobsHash: `0x${string}`;
53
61
  inHash: `0x${string}`;
62
+ epochOutHash: `0x${string}`;
54
63
  slotNumber: import("@aztec/foundation/schemas").SlotNumber;
55
64
  timestamp: bigint;
56
65
  coinbase: `0x${string}`;
@@ -62,7 +71,8 @@ export declare class ConsensusPayload implements Signable {
62
71
  totalManaUsed: bigint;
63
72
  };
64
73
  archive: `0x${string}`;
74
+ feeAssetPriceModifier: string;
65
75
  };
66
76
  toString(): string;
67
77
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO2FBSzdCLE1BQU0sRUFBRSxnQkFBZ0I7YUFFeEIsT0FBTyxFQUFFLEVBQUU7SUFON0IsT0FBTyxDQUFDLElBQUksQ0FBcUI7SUFFakM7SUFDRSw2REFBNkQ7SUFDN0MsTUFBTSxFQUFFLGdCQUFnQjtJQUN4QyxnREFBZ0Q7SUFDaEMsT0FBTyxFQUFFLEVBQUUsRUFDekI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG1DQUVsRDtJQUVELGdCQUFnQixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsR0FBRyxNQUFNLENBa0JsRTtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRU0sTUFBTSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxrQkFBa0IsR0FBRyxzQkFBc0IsR0FBRyxPQUFPLENBRzVGO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FJOUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0IsQ0FFdEU7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsZ0JBQWdCLENBRWpEO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLGdCQUFnQixDQUU5RDtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksZ0JBQWdCLENBRS9CO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxnQkFBZ0IsQ0FFaEM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLElBQUksTUFBTSxDQU9oQjtJQUVELFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O01BS1I7SUFFRCxRQUFRLFdBRVA7Q0FDRiJ9
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQTRDLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO0lBSTdDLDZEQUE2RDthQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDthQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7YUFDakQscUJBQXFCLEVBQUUsTUFBTTtJQVIvQyxPQUFPLENBQUMsSUFBSSxDQUFxQjtJQUVqQztJQUNFLDZEQUE2RDtJQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDtJQUNoQyxPQUFPLEVBQUUsRUFBRTtJQUMzQixpRUFBaUU7SUFDakQscUJBQXFCLEdBQUUsTUFBVyxFQUNoRDtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDJDQUVsRDtJQUVELGdCQUFnQixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsR0FBRyxNQUFNLENBa0JsRTtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRU0sTUFBTSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxrQkFBa0IsR0FBRyxzQkFBc0IsR0FBRyxPQUFPLENBUTVGO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FROUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0IsQ0FFdEU7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsZ0JBQWdCLENBRTlEO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsQ0FFL0I7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLGdCQUFnQixDQUVoQztJQUVEOzs7T0FHRztJQUNILE9BQU8sSUFBSSxNQUFNLENBT2hCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0lBRUQsUUFBUSxXQUVQO0NBQ0YifQ==
@@ -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,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,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;aAK7B,MAAM,EAAE,gBAAgB;aAExB,OAAO,EAAE,EAAE;IAN7B,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE,EACzB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mCAElD;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,CAG5F;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAI9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEtE;IAED,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEjD;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;;;;;;;;;;;;;;;;;MAKR;IAED,QAAQ,WAEP;CACF"}
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"}