@aztec/stdlib 0.0.1-commit.6d3c34e → 0.0.1-commit.7ac86ea28

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 (632) 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/hash/hash.d.ts +2 -1
  135. package/dest/hash/hash.d.ts.map +1 -1
  136. package/dest/hash/hash.js +16 -10
  137. package/dest/hash/map_slot.d.ts +1 -1
  138. package/dest/hash/map_slot.d.ts.map +1 -1
  139. package/dest/hash/map_slot.js +4 -3
  140. package/dest/interfaces/api_limit.d.ts +2 -1
  141. package/dest/interfaces/api_limit.d.ts.map +1 -1
  142. package/dest/interfaces/api_limit.js +1 -0
  143. package/dest/interfaces/archiver.d.ts +1 -1
  144. package/dest/interfaces/archiver.d.ts.map +1 -1
  145. package/dest/interfaces/archiver.js +23 -15
  146. package/dest/interfaces/aztec-node-admin.d.ts +101 -28
  147. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  148. package/dest/interfaces/aztec-node-admin.js +12 -4
  149. package/dest/interfaces/aztec-node.d.ts +66 -69
  150. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  151. package/dest/interfaces/aztec-node.js +10 -16
  152. package/dest/interfaces/block-builder.d.ts +22 -14
  153. package/dest/interfaces/block-builder.d.ts.map +1 -1
  154. package/dest/interfaces/block-builder.js +7 -0
  155. package/dest/interfaces/configs.d.ts +24 -9
  156. package/dest/interfaces/configs.d.ts.map +1 -1
  157. package/dest/interfaces/configs.js +4 -1
  158. package/dest/interfaces/get_logs_response.d.ts +16 -9
  159. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  160. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  161. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  162. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  163. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  164. package/dest/interfaces/p2p.d.ts +2 -2
  165. package/dest/interfaces/p2p.d.ts.map +1 -1
  166. package/dest/interfaces/prover-broker.d.ts +16 -1
  167. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  168. package/dest/interfaces/prover-broker.js +4 -1
  169. package/dest/interfaces/prover-client.d.ts +15 -1
  170. package/dest/interfaces/prover-client.d.ts.map +1 -1
  171. package/dest/interfaces/prover-client.js +12 -1
  172. package/dest/interfaces/proving-job.d.ts +216 -216
  173. package/dest/interfaces/slasher.d.ts +9 -1
  174. package/dest/interfaces/slasher.d.ts.map +1 -1
  175. package/dest/interfaces/slasher.js +2 -0
  176. package/dest/interfaces/tx_provider.d.ts +3 -3
  177. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  178. package/dest/interfaces/validator.d.ts +118 -16
  179. package/dest/interfaces/validator.d.ts.map +1 -1
  180. package/dest/interfaces/validator.js +6 -3
  181. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  182. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  183. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  184. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  185. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  186. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  187. package/dest/kernel/hints/index.d.ts +2 -2
  188. package/dest/kernel/hints/index.js +2 -2
  189. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  190. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  191. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  192. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  193. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  194. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  195. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  196. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  197. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  198. package/dest/kernel/hints/read_request.d.ts +7 -1
  199. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  200. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  201. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  202. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  203. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  204. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  205. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  206. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  207. package/dest/kernel/private_call_data.d.ts +25 -1
  208. package/dest/kernel/private_call_data.d.ts.map +1 -1
  209. package/dest/kernel/private_call_request.d.ts +16 -1
  210. package/dest/kernel/private_call_request.d.ts.map +1 -1
  211. package/dest/kernel/private_circuit_public_inputs.d.ts +81 -8
  212. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  213. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  214. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +33 -3
  215. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  216. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  217. package/dest/kernel/private_kernel_data.d.ts +7 -1
  218. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  219. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  220. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  221. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  222. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  223. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  224. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  225. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  226. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  227. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  228. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +25 -3
  229. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  230. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
  231. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  232. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  233. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  234. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  235. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  236. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  237. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +18 -3
  238. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  239. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  240. package/dest/kernel/private_validation_requests.d.ts +13 -4
  241. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  242. package/dest/kernel/private_validation_requests.js +9 -9
  243. package/dest/kernel/public_call_request.d.ts +22 -1
  244. package/dest/kernel/public_call_request.d.ts.map +1 -1
  245. package/dest/kernel/utils/optional_number.d.ts +7 -1
  246. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  247. package/dest/keys/derivation.d.ts +3 -3
  248. package/dest/keys/derivation.js +15 -15
  249. package/dest/keys/key_types.d.ts +3 -3
  250. package/dest/keys/key_types.d.ts.map +1 -1
  251. package/dest/keys/public_keys.d.ts +5 -1
  252. package/dest/keys/public_keys.d.ts.map +1 -1
  253. package/dest/keys/public_keys.js +2 -2
  254. package/dest/keys/utils.d.ts +1 -1
  255. package/dest/keys/utils.d.ts.map +1 -1
  256. package/dest/keys/utils.js +8 -4
  257. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  258. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  259. package/dest/l1-contracts/slash_factory.js +1 -0
  260. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  261. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  262. package/dest/logs/extended_public_log.d.ts +17 -9
  263. package/dest/logs/extended_public_log.d.ts.map +1 -1
  264. package/dest/logs/log_id.d.ts +21 -14
  265. package/dest/logs/log_id.d.ts.map +1 -1
  266. package/dest/logs/log_id.js +20 -17
  267. package/dest/logs/private_log.d.ts +2 -2
  268. package/dest/logs/private_log.d.ts.map +1 -1
  269. package/dest/logs/siloed_tag.d.ts +1 -1
  270. package/dest/logs/siloed_tag.d.ts.map +1 -1
  271. package/dest/logs/siloed_tag.js +2 -5
  272. package/dest/messaging/inbox_leaf.d.ts +3 -1
  273. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  274. package/dest/messaging/l1_actor.d.ts +7 -1
  275. package/dest/messaging/l1_actor.d.ts.map +1 -1
  276. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  277. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  278. package/dest/messaging/l2_actor.d.ts +7 -1
  279. package/dest/messaging/l2_actor.d.ts.map +1 -1
  280. package/dest/messaging/l2_to_l1_membership.d.ts +3 -3
  281. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  282. package/dest/messaging/l2_to_l1_membership.js +8 -6
  283. package/dest/messaging/out_hash.d.ts +41 -4
  284. package/dest/messaging/out_hash.d.ts.map +1 -1
  285. package/dest/messaging/out_hash.js +52 -26
  286. package/dest/note/index.d.ts +1 -2
  287. package/dest/note/index.d.ts.map +1 -1
  288. package/dest/note/index.js +0 -1
  289. package/dest/note/note_dao.d.ts +36 -5
  290. package/dest/note/note_dao.d.ts.map +1 -1
  291. package/dest/note/note_dao.js +15 -12
  292. package/dest/p2p/block_proposal.d.ts +23 -8
  293. package/dest/p2p/block_proposal.d.ts.map +1 -1
  294. package/dest/p2p/block_proposal.js +26 -10
  295. package/dest/p2p/checkpoint_attestation.d.ts +6 -1
  296. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  297. package/dest/p2p/checkpoint_attestation.js +1 -1
  298. package/dest/p2p/checkpoint_proposal.d.ts +34 -9
  299. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  300. package/dest/p2p/checkpoint_proposal.js +46 -20
  301. package/dest/p2p/consensus_payload.d.ts +15 -5
  302. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  303. package/dest/p2p/consensus_payload.js +22 -18
  304. package/dest/p2p/constants.d.ts +5 -0
  305. package/dest/p2p/constants.d.ts.map +1 -0
  306. package/dest/p2p/constants.js +3 -0
  307. package/dest/p2p/index.d.ts +2 -1
  308. package/dest/p2p/index.d.ts.map +1 -1
  309. package/dest/p2p/index.js +1 -0
  310. package/dest/p2p/message_validator.d.ts +18 -3
  311. package/dest/p2p/message_validator.d.ts.map +1 -1
  312. package/dest/p2p/message_validator.js +2 -1
  313. package/dest/p2p/signed_txs.d.ts +3 -1
  314. package/dest/p2p/signed_txs.d.ts.map +1 -1
  315. package/dest/p2p/signed_txs.js +6 -1
  316. package/dest/p2p/topic_type.js +2 -1
  317. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  318. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  319. package/dest/parity/parity_public_inputs.d.ts +4 -1
  320. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  321. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  322. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  323. package/dest/proofs/chonk_proof.d.ts +1 -1
  324. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  325. package/dest/proofs/chonk_proof.js +9 -4
  326. package/dest/proofs/proof.d.ts +4 -1
  327. package/dest/proofs/proof.d.ts.map +1 -1
  328. package/dest/proofs/recursive_proof.d.ts +10 -1
  329. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  330. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  331. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  332. package/dest/rollup/block_constant_data.d.ts +12 -1
  333. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  334. package/dest/rollup/block_headers_hash.js +1 -1
  335. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  336. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  337. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  338. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  339. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  340. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  341. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  342. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  343. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  344. package/dest/rollup/checkpoint_header.d.ts +31 -4
  345. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  346. package/dest/rollup/checkpoint_header.js +23 -7
  347. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  348. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  349. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +45 -10
  350. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  351. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -7
  352. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  353. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  354. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  355. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  356. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  357. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  358. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  359. package/dest/rollup/root_rollup_public_inputs.d.ts +17 -7
  360. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  361. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  362. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  363. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  364. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  365. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  366. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  367. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  368. package/dest/schemas/schemas.d.ts +1 -1
  369. package/dest/slashing/empire.d.ts +1 -1
  370. package/dest/slashing/empire.d.ts.map +1 -1
  371. package/dest/slashing/empire.js +2 -0
  372. package/dest/slashing/helpers.d.ts +2 -2
  373. package/dest/slashing/helpers.d.ts.map +1 -1
  374. package/dest/slashing/helpers.js +6 -0
  375. package/dest/slashing/tally.d.ts +2 -1
  376. package/dest/slashing/tally.d.ts.map +1 -1
  377. package/dest/slashing/tally.js +6 -2
  378. package/dest/slashing/types.d.ts +7 -3
  379. package/dest/slashing/types.d.ts.map +1 -1
  380. package/dest/slashing/types.js +13 -1
  381. package/dest/stats/stats.d.ts +1 -3
  382. package/dest/stats/stats.d.ts.map +1 -1
  383. package/dest/tests/factories.d.ts +2 -4
  384. package/dest/tests/factories.d.ts.map +1 -1
  385. package/dest/tests/factories.js +18 -27
  386. package/dest/tests/jest.js +1 -1
  387. package/dest/tests/mocks.d.ts +23 -14
  388. package/dest/tests/mocks.d.ts.map +1 -1
  389. package/dest/tests/mocks.js +59 -36
  390. package/dest/timetable/index.d.ts +37 -0
  391. package/dest/timetable/index.d.ts.map +1 -0
  392. package/dest/timetable/index.js +39 -0
  393. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  394. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  395. package/dest/trees/nullifier_leaf.d.ts +13 -1
  396. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  397. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  398. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  399. package/dest/trees/public_data_leaf.d.ts +17 -1
  400. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  401. package/dest/trees/public_data_leaf.js +7 -6
  402. package/dest/trees/public_data_witness.d.ts +11 -1
  403. package/dest/trees/public_data_witness.d.ts.map +1 -1
  404. package/dest/tx/block_header.d.ts +14 -2
  405. package/dest/tx/block_header.d.ts.map +1 -1
  406. package/dest/tx/block_header.js +6 -2
  407. package/dest/tx/call_context.d.ts +13 -1
  408. package/dest/tx/call_context.d.ts.map +1 -1
  409. package/dest/tx/capsule.d.ts +4 -1
  410. package/dest/tx/capsule.d.ts.map +1 -1
  411. package/dest/tx/execution_payload.d.ts +9 -1
  412. package/dest/tx/execution_payload.d.ts.map +1 -1
  413. package/dest/tx/function_data.d.ts +4 -2
  414. package/dest/tx/function_data.d.ts.map +1 -1
  415. package/dest/tx/global_variables.d.ts +12 -4
  416. package/dest/tx/global_variables.d.ts.map +1 -1
  417. package/dest/tx/hashed_values.d.ts +7 -1
  418. package/dest/tx/hashed_values.d.ts.map +1 -1
  419. package/dest/tx/in_tx.d.ts +4 -4
  420. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  421. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  422. package/dest/tx/indexed_tx_effect.js +3 -2
  423. package/dest/tx/partial_state_reference.d.ts +4 -1
  424. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  425. package/dest/tx/private_execution_result.d.ts +23 -2
  426. package/dest/tx/private_execution_result.d.ts.map +1 -1
  427. package/dest/tx/private_execution_result.js +1 -1
  428. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  429. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  430. package/dest/tx/profiling.d.ts +152 -29
  431. package/dest/tx/profiling.d.ts.map +1 -1
  432. package/dest/tx/profiling.js +47 -10
  433. package/dest/tx/protocol_contracts.d.ts +2 -2
  434. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  435. package/dest/tx/protocol_contracts.js +2 -2
  436. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  437. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  438. package/dest/tx/public_simulation_output.d.ts +4 -2
  439. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  440. package/dest/tx/public_simulation_output.js +7 -3
  441. package/dest/tx/state_reference.d.ts +3 -1
  442. package/dest/tx/state_reference.d.ts.map +1 -1
  443. package/dest/tx/tx.d.ts +24 -1
  444. package/dest/tx/tx.d.ts.map +1 -1
  445. package/dest/tx/tx.js +6 -3
  446. package/dest/tx/tx_context.d.ts +2 -1
  447. package/dest/tx/tx_context.d.ts.map +1 -1
  448. package/dest/tx/tx_effect.d.ts +32 -6
  449. package/dest/tx/tx_effect.d.ts.map +1 -1
  450. package/dest/tx/tx_effect.js +0 -7
  451. package/dest/tx/tx_execution_request.d.ts +30 -1
  452. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  453. package/dest/tx/tx_hash.d.ts +2 -1
  454. package/dest/tx/tx_hash.d.ts.map +1 -1
  455. package/dest/tx/tx_receipt.d.ts +47 -13
  456. package/dest/tx/tx_receipt.d.ts.map +1 -1
  457. package/dest/tx/tx_receipt.js +46 -15
  458. package/dest/tx/tx_request.d.ts +6 -1
  459. package/dest/tx/tx_request.d.ts.map +1 -1
  460. package/dest/tx/tx_request.js +2 -2
  461. package/dest/tx/validator/empty_validator.d.ts +2 -2
  462. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  463. package/dest/tx/validator/error_texts.d.ts +3 -2
  464. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  465. package/dest/tx/validator/error_texts.js +3 -1
  466. package/dest/tx/validator/tx_validator.d.ts +2 -2
  467. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  468. package/dest/types/shared.d.ts +4 -1
  469. package/dest/types/shared.d.ts.map +1 -1
  470. package/dest/validators/schemas.d.ts +38 -38
  471. package/dest/validators/schemas.d.ts.map +1 -1
  472. package/dest/validators/schemas.js +4 -3
  473. package/dest/validators/types.d.ts +3 -3
  474. package/dest/validators/types.d.ts.map +1 -1
  475. package/dest/vks/verification_key.d.ts +22 -1
  476. package/dest/vks/verification_key.d.ts.map +1 -1
  477. package/dest/vks/vk_data.d.ts +7 -1
  478. package/dest/vks/vk_data.d.ts.map +1 -1
  479. package/dest/zkpassport/index.d.ts +3 -4
  480. package/dest/zkpassport/index.d.ts.map +1 -1
  481. package/dest/zkpassport/index.js +9 -9
  482. package/package.json +27 -13
  483. package/src/abi/function_call.ts +25 -3
  484. package/src/abi/utils.ts +17 -0
  485. package/src/auth_witness/auth_witness.ts +3 -3
  486. package/src/block/block_data.ts +26 -0
  487. package/src/block/block_hash.ts +26 -25
  488. package/src/block/block_parameter.ts +4 -2
  489. package/src/block/body.ts +2 -1
  490. package/src/block/checkpointed_l2_block.ts +8 -58
  491. package/src/block/in_block.ts +6 -6
  492. package/src/block/index.ts +1 -2
  493. package/src/block/l2_block.ts +102 -150
  494. package/src/block/l2_block_source.ts +93 -42
  495. package/src/block/l2_block_stream/interfaces.ts +8 -5
  496. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  497. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  498. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  499. package/src/block/validate_block_result.ts +5 -4
  500. package/src/checkpoint/checkpoint.ts +61 -21
  501. package/src/checkpoint/checkpoint_data.ts +51 -0
  502. package/src/checkpoint/index.ts +1 -0
  503. package/src/checkpoint/published_checkpoint.ts +7 -4
  504. package/src/config/index.ts +1 -0
  505. package/src/config/node-rpc-config.ts +1 -1
  506. package/src/config/sequencer-config.ts +29 -0
  507. package/src/contract/contract_address.ts +4 -4
  508. package/src/contract/contract_class.ts +3 -3
  509. package/src/contract/contract_class_id.ts +6 -5
  510. package/src/contract/index.ts +0 -2
  511. package/src/contract/interfaces/node-info.ts +3 -0
  512. package/src/contract/private_function.ts +3 -4
  513. package/src/contract/private_function_membership_proof.ts +1 -1
  514. package/src/database-version/database_version.ts +87 -0
  515. package/src/database-version/version_manager.ts +1 -77
  516. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  517. package/src/deserialization/index.ts +21 -0
  518. package/src/epoch-helpers/index.ts +13 -1
  519. package/src/file-store/local.ts +15 -5
  520. package/src/file-store/s3.ts +12 -3
  521. package/src/hash/hash.ts +14 -10
  522. package/src/hash/map_slot.ts +3 -2
  523. package/src/interfaces/api_limit.ts +1 -0
  524. package/src/interfaces/archiver.ts +23 -24
  525. package/src/interfaces/aztec-node-admin.ts +26 -2
  526. package/src/interfaces/aztec-node.ts +86 -135
  527. package/src/interfaces/block-builder.ts +41 -23
  528. package/src/interfaces/configs.ts +13 -4
  529. package/src/interfaces/l2_logs_source.ts +17 -4
  530. package/src/interfaces/merkle_tree_operations.ts +1 -1
  531. package/src/interfaces/p2p.ts +1 -1
  532. package/src/interfaces/prover-broker.ts +22 -0
  533. package/src/interfaces/prover-client.ts +22 -0
  534. package/src/interfaces/slasher.ts +4 -0
  535. package/src/interfaces/tx_provider.ts +2 -2
  536. package/src/interfaces/validator.ts +20 -12
  537. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  538. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  539. package/src/kernel/hints/index.ts +2 -2
  540. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  541. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  542. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  543. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  544. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  545. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
  546. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  547. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  548. package/src/kernel/private_validation_requests.ts +8 -8
  549. package/src/keys/derivation.ts +15 -15
  550. package/src/keys/key_types.ts +6 -2
  551. package/src/keys/public_keys.ts +2 -2
  552. package/src/keys/utils.ts +8 -4
  553. package/src/l1-contracts/slash_factory.ts +1 -0
  554. package/src/logs/log_id.ts +22 -18
  555. package/src/logs/siloed_tag.ts +2 -2
  556. package/src/messaging/l2_to_l1_membership.ts +8 -6
  557. package/src/messaging/out_hash.ts +60 -29
  558. package/src/note/index.ts +0 -1
  559. package/src/note/note_dao.ts +18 -13
  560. package/src/p2p/block_proposal.ts +36 -15
  561. package/src/p2p/checkpoint_attestation.ts +6 -1
  562. package/src/p2p/checkpoint_proposal.ts +74 -24
  563. package/src/p2p/consensus_payload.ts +25 -17
  564. package/src/p2p/constants.ts +6 -0
  565. package/src/p2p/index.ts +1 -0
  566. package/src/p2p/message_validator.ts +14 -2
  567. package/src/p2p/signed_txs.ts +6 -1
  568. package/src/p2p/topic_type.ts +1 -1
  569. package/src/proofs/chonk_proof.ts +9 -5
  570. package/src/rollup/block_headers_hash.ts +1 -1
  571. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  572. package/src/rollup/checkpoint_header.ts +22 -2
  573. package/src/rollup/checkpoint_rollup_public_inputs.ts +16 -10
  574. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  575. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  576. package/src/slashing/empire.ts +3 -1
  577. package/src/slashing/helpers.ts +8 -0
  578. package/src/slashing/tally.ts +8 -2
  579. package/src/slashing/types.ts +14 -0
  580. package/src/stats/stats.ts +0 -2
  581. package/src/tests/factories.ts +23 -43
  582. package/src/tests/jest.ts +1 -1
  583. package/src/tests/mocks.ts +83 -52
  584. package/src/timetable/index.ts +66 -0
  585. package/src/trees/public_data_leaf.ts +11 -5
  586. package/src/tx/block_header.ts +12 -4
  587. package/src/tx/global_variables.ts +3 -3
  588. package/src/tx/indexed_tx_effect.ts +3 -2
  589. package/src/tx/private_execution_result.ts +1 -1
  590. package/src/tx/profiling.ts +51 -9
  591. package/src/tx/protocol_contracts.ts +2 -2
  592. package/src/tx/public_simulation_output.ts +4 -0
  593. package/src/tx/tx.ts +8 -9
  594. package/src/tx/tx_effect.ts +0 -9
  595. package/src/tx/tx_receipt.ts +75 -18
  596. package/src/tx/tx_request.ts +2 -2
  597. package/src/tx/validator/empty_validator.ts +1 -1
  598. package/src/tx/validator/error_texts.ts +4 -1
  599. package/src/tx/validator/tx_validator.ts +1 -1
  600. package/src/validators/schemas.ts +8 -1
  601. package/src/validators/types.ts +5 -4
  602. package/src/zkpassport/index.ts +11 -12
  603. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  604. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  605. package/dest/block/l2_block_code_to_purge.js +0 -55
  606. package/dest/block/l2_block_header.d.ts +0 -94
  607. package/dest/block/l2_block_header.d.ts.map +0 -1
  608. package/dest/block/l2_block_header.js +0 -160
  609. package/dest/block/l2_block_new.d.ts +0 -134
  610. package/dest/block/l2_block_new.d.ts.map +0 -1
  611. package/dest/block/l2_block_new.js +0 -155
  612. package/dest/contract/contract_class_metadata.d.ts +0 -8
  613. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  614. package/dest/contract/contract_class_metadata.js +0 -1
  615. package/dest/contract/contract_metadata.d.ts +0 -7
  616. package/dest/contract/contract_metadata.d.ts.map +0 -1
  617. package/dest/contract/contract_metadata.js +0 -1
  618. package/dest/database-version/index.d.ts +0 -2
  619. package/dest/database-version/index.d.ts.map +0 -1
  620. package/dest/database-version/index.js +0 -1
  621. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  622. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  623. package/dest/note/notes_filter.d.ts +0 -27
  624. package/dest/note/notes_filter.d.ts.map +0 -1
  625. package/dest/note/notes_filter.js +0 -11
  626. package/src/block/l2_block_code_to_purge.ts +0 -80
  627. package/src/block/l2_block_header.ts +0 -255
  628. package/src/block/l2_block_new.ts +0 -211
  629. package/src/contract/contract_class_metadata.ts +0 -8
  630. package/src/contract/contract_metadata.ts +0 -7
  631. package/src/database-version/index.ts +0 -1
  632. package/src/note/notes_filter.ts +0 -38
@@ -1,4 +1,3 @@
1
- import { toBigIntBE } from '@aztec/foundation/bigint-buffer';
2
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
3
2
  import { Fr } from '@aztec/foundation/curves/bn254';
4
3
  import { Point } from '@aztec/foundation/curves/grumpkin';
@@ -21,7 +20,8 @@ import { TxHash } from '@aztec/stdlib/tx';
21
20
  txHash;
22
21
  l2BlockNumber;
23
22
  l2BlockHash;
24
- index;
23
+ txIndexInBlock;
24
+ noteIndexInTx;
25
25
  constructor(// Note information
26
26
  /** The packed content of the note, as will be returned in the getNotes oracle. */ note, /** The address of the contract that created the note (i.e. the address used by the kernel during siloing). */ contractAddress, /** The owner of the note - generally the account that can spend the note. */ owner, /**
27
27
  * The storage location of the note. This value is not used for anything in PXE, but we do index by storage slot
@@ -40,7 +40,7 @@ import { TxHash } from '@aztec/stdlib/tx';
40
40
  * when searching for txEffects.
41
41
  */ txHash, /** The L2 block number in which the tx with this note was included. Used for note management while processing
42
42
  * reorgs.*/ l2BlockNumber, /** The L2 block hash in which the tx with this note was included. Used for note management while processing
43
- * reorgs.*/ l2BlockHash, /** The index of the leaf in the global note hash tree the note is stored at */ index){
43
+ * reorgs.*/ l2BlockHash, /** The index of the tx within the block, used for ordering notes. */ txIndexInBlock, /** The index of the note within the tx (based on note hash position), used for ordering notes. */ noteIndexInTx){
44
44
  this.note = note;
45
45
  this.contractAddress = contractAddress;
46
46
  this.owner = owner;
@@ -52,7 +52,8 @@ import { TxHash } from '@aztec/stdlib/tx';
52
52
  this.txHash = txHash;
53
53
  this.l2BlockNumber = l2BlockNumber;
54
54
  this.l2BlockHash = l2BlockHash;
55
- this.index = index;
55
+ this.txIndexInBlock = txIndexInBlock;
56
+ this.noteIndexInTx = noteIndexInTx;
56
57
  }
57
58
  toBuffer() {
58
59
  return serializeToBuffer([
@@ -67,7 +68,8 @@ import { TxHash } from '@aztec/stdlib/tx';
67
68
  this.txHash,
68
69
  this.l2BlockNumber,
69
70
  Fr.fromHexString(this.l2BlockHash),
70
- this.index
71
+ this.txIndexInBlock,
72
+ this.noteIndexInTx
71
73
  ]);
72
74
  }
73
75
  static fromBuffer(buffer) {
@@ -83,8 +85,9 @@ import { TxHash } from '@aztec/stdlib/tx';
83
85
  const txHash = reader.readObject(TxHash);
84
86
  const l2BlockNumber = BlockNumber(reader.readNumber());
85
87
  const l2BlockHash = Fr.fromBuffer(reader).toString();
86
- const index = toBigIntBE(reader.readBytes(32));
87
- return new NoteDao(note, contractAddress, owner, storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, index);
88
+ const txIndexInBlock = reader.readNumber();
89
+ const noteIndexInTx = reader.readNumber();
90
+ return new NoteDao(note, contractAddress, owner, storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, txIndexInBlock, noteIndexInTx);
88
91
  }
89
92
  toString() {
90
93
  return '0x' + this.toBuffer().toString('hex');
@@ -96,17 +99,17 @@ import { TxHash } from '@aztec/stdlib/tx';
96
99
  /**
97
100
  * Returns true if this note is equal to the `other` one.
98
101
  */ equals(other) {
99
- return this.note.equals(other.note) && this.contractAddress.equals(other.contractAddress) && this.owner.equals(other.owner) && this.storageSlot.equals(other.storageSlot) && this.randomness.equals(other.randomness) && this.noteNonce.equals(other.noteNonce) && this.noteHash.equals(other.noteHash) && this.siloedNullifier.equals(other.siloedNullifier) && this.txHash.equals(other.txHash) && this.l2BlockNumber === other.l2BlockNumber && this.l2BlockHash === other.l2BlockHash && this.index === other.index;
102
+ return this.note.equals(other.note) && this.contractAddress.equals(other.contractAddress) && this.owner.equals(other.owner) && this.storageSlot.equals(other.storageSlot) && this.randomness.equals(other.randomness) && this.noteNonce.equals(other.noteNonce) && this.noteHash.equals(other.noteHash) && this.siloedNullifier.equals(other.siloedNullifier) && this.txHash.equals(other.txHash) && this.l2BlockNumber === other.l2BlockNumber && this.l2BlockHash === other.l2BlockHash && this.txIndexInBlock === other.txIndexInBlock && this.noteIndexInTx === other.noteIndexInTx;
100
103
  }
101
104
  /**
102
105
  * Returns the size in bytes of the Note Dao.
103
106
  * @returns - Its size in bytes.
104
107
  */ getSize() {
105
- const indexSize = Math.ceil(Math.log2(Number(this.index)));
106
108
  const noteSize = 4 + this.note.items.length * Fr.SIZE_IN_BYTES;
107
- return noteSize + AztecAddress.SIZE_IN_BYTES * 2 + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + indexSize;
109
+ // 2 numbers for txIndexInBlock and noteIndexInTx (4 bytes each)
110
+ return noteSize + AztecAddress.SIZE_IN_BYTES * 2 + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + 8;
108
111
  }
109
- static async random({ note = Note.random(), contractAddress = undefined, owner = undefined, storageSlot = Fr.random(), randomness = Fr.random(), noteNonce = Fr.random(), noteHash = Fr.random(), siloedNullifier = Fr.random(), txHash = TxHash.random(), l2BlockNumber = BlockNumber(Math.floor(Math.random() * 1000)), l2BlockHash = Fr.random().toString(), index = Fr.random().toBigInt() } = {}) {
110
- return new NoteDao(note, contractAddress ?? await AztecAddress.random(), owner ?? await AztecAddress.random(), storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, index);
112
+ static async random({ note = Note.random(), contractAddress = undefined, owner = undefined, storageSlot = Fr.random(), randomness = Fr.random(), noteNonce = Fr.random(), noteHash = Fr.random(), siloedNullifier = Fr.random(), txHash = TxHash.random(), l2BlockNumber = BlockNumber(Math.floor(Math.random() * 1000)), l2BlockHash = Fr.random().toString(), txIndexInBlock = Math.floor(Math.random() * 100), noteIndexInTx = Math.floor(Math.random() * 100) } = {}) {
113
+ return new NoteDao(note, contractAddress ?? await AztecAddress.random(), owner ?? await AztecAddress.random(), storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, txIndexInBlock, noteIndexInTx);
111
114
  }
112
115
  }
@@ -1,9 +1,10 @@
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
+ import { type SigningContext } from '@aztec/validator-ha-signer/types';
7
8
  import type { L2Block } from '../block/l2_block.js';
8
9
  import type { L2BlockInfo } from '../block/l2_block_info.js';
9
10
  import { BlockHeader } from '../tx/block_header.js';
@@ -17,8 +18,15 @@ export declare class BlockProposalHash extends Buffer32 {
17
18
  constructor(hash: Buffer);
18
19
  }
19
20
  export type BlockProposalOptions = {
20
- publishFullTxs: boolean;
21
- /** Whether to generate an invalid block proposal for broadcasting. Use only for testing. */
21
+ /**
22
+ * Whether to include the tx objects along with the block proposal.
23
+ * Dramatically increases size of the payload but eliminates failed reexecutions due to missing txs.
24
+ */
25
+ publishFullTxs?: boolean;
26
+ /**
27
+ * Whether to generate an invalid block proposal for broadcasting.
28
+ * Use only for testing.
29
+ */
22
30
  broadcastInvalidBlockProposal?: boolean;
23
31
  };
24
32
  /**
@@ -27,12 +35,19 @@ export type BlockProposalOptions = {
27
35
  * The last block is sent as part of a CheckpointProposal.
28
36
  */
29
37
  export declare class BlockProposal extends Gossipable {
38
+ /** The per-block header containing block state and global variables */
30
39
  readonly blockHeader: BlockHeader;
31
- readonly indexWithinCheckpoint: number;
40
+ /** Index of this block within the checkpoint (0-indexed) */
41
+ readonly indexWithinCheckpoint: IndexWithinCheckpoint;
42
+ /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */
32
43
  readonly inHash: Fr;
44
+ /** Archive root after this block is applied */
33
45
  readonly archiveRoot: Fr;
46
+ /** The sequence of transactions in the block */
34
47
  readonly txHashes: TxHash[];
48
+ /** The proposer's signature over the block data */
35
49
  readonly signature: Signature;
50
+ /** The signed transactions in the block (optional, for DA guarantees) */
36
51
  readonly signedTxs?: SignedTxs | undefined;
37
52
  static p2pTopic: TopicType;
38
53
  private sender;
@@ -40,7 +55,7 @@ export declare class BlockProposal extends Gossipable {
40
55
  /** The per-block header containing block state and global variables */
41
56
  blockHeader: BlockHeader,
42
57
  /** Index of this block within the checkpoint (0-indexed) */
43
- indexWithinCheckpoint: number,
58
+ indexWithinCheckpoint: IndexWithinCheckpoint,
44
59
  /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */
45
60
  inHash: Fr,
46
61
  /** Archive root after this block is applied */
@@ -63,7 +78,7 @@ export declare class BlockProposal extends Gossipable {
63
78
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
64
79
  */
65
80
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
66
- static createProposalFromSigner(blockHeader: BlockHeader, indexWithinCheckpoint: number, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32) => Promise<Signature>): Promise<BlockProposal>;
81
+ static createProposalFromSigner(blockHeader: BlockHeader, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
67
82
  /**
68
83
  * Lazily evaluate the sender of the proposal; result is cached.
69
84
  * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
@@ -100,7 +115,7 @@ export declare class BlockProposal extends Gossipable {
100
115
  totalFees: bigint;
101
116
  totalManaUsed: bigint;
102
117
  };
103
- indexWithinCheckpoint: number;
118
+ indexWithinCheckpoint: IndexWithinCheckpoint;
104
119
  inHash: `0x${string}`;
105
120
  archiveRoot: `0x${string}`;
106
121
  signature: `0x${string}`;
@@ -119,4 +134,4 @@ export declare class BlockProposal extends Gossipable {
119
134
  */
120
135
  withoutSignedTxs(): BlockProposal;
121
136
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSxpQkFBa0IsU0FBUSxRQUFRO0lBQzdDLFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVELE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNq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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBWSxLQUFLLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpGLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSxpQkFBa0IsU0FBUSxRQUFRO0lBQzdDLFlB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
@@ -1 +1 @@
1
- {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,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;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,wBAAwB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,4FAA4F;IAC5F,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,UAAU;aAOzB,WAAW,EAAE,WAAW;aAKxB,qBAAqB,EAAE,MAAM;aAG7B,MAAM,EAAE,EAAE;aAGV,WAAW,EAAE,EAAE;aAGf,QAAQ,EAAE,MAAM,EAAE;aAGlB,SAAS,EAAE,SAAS;aAGpB,SAAS,CAAC;IA1B5B,OAAgB,QAAQ,YAA4B;IAEpD,OAAO,CAAC,MAAM,CAAyB;IAEvC;IACE,uEAAuE;IACvD,WAAW,EAAE,WAAW;IAIxC,4DAA4D;IAC5C,qBAAqB,EAAE,MAAM;IAE7C,+FAA+F;IAC/E,MAAM,EAAE,EAAE;IAE1B,+CAA+C;IAC/B,WAAW,EAAE,EAAE;IAE/B,gDAAgD;IAChC,QAAQ,EAAE,MAAM,EAAE;IAElC,mDAAmD;IACnC,SAAS,EAAE,SAAS;IAEpC,yEAAyE;IACzD,SAAS,CAAC,uBAAW,EAGtC;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzD;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,gDAAgD;IAChD,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,SAAS,CAE1B;IAED,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAQ9C;IAED;;;OAGG;IACH,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAUlE;IAED,OAAa,wBAAwB,CACnC,WAAW,EAAE,WAAW,EACxB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,EAAE,EACf,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,EAAE,EAAE,EAAE,GAAG,SAAS,EACrB,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC,GACvD,OAAO,CAAC,aAAa,CAAC,CAqBxB;IAED;;;;OAIG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAkBlC;IAED,UAAU,4BAET;IAED,QAAQ,IAAI,MAAM,CAiBjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CA2B3D;IAED,OAAO,IAAI,MAAM,CAYhB;IAED,MAAM,CAAC,KAAK,IAAI,aAAa,CAE5B;IAED,MAAM,CAAC,MAAM,IAAI,aAAa,CAS7B;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MASR;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpC;IAED;;;OAGG;IACH,gBAAgB,IAAI,aAAa,CAShC;CACF"}
1
+ {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
@@ -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 { DutyType } from '@aztec/validator-ha-signer/types';
9
+ import { MAX_TXS_PER_BLOCK } from '../deserialization/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,9 +1,10 @@
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
+ import { type SigningContext } from '@aztec/validator-ha-signer/types';
7
8
  import type { L2BlockInfo } from '../block/l2_block_info.js';
8
9
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
9
10
  import { BlockHeader } from '../tx/block_header.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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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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"}