@aztec/stdlib 0.0.1-commit.96bb3f7 → 0.0.1-commit.9d2bcf6d

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 (492) hide show
  1. package/dest/abi/function_call.d.ts +9 -1
  2. package/dest/abi/function_call.d.ts.map +1 -1
  3. package/dest/abi/utils.d.ts +7 -1
  4. package/dest/abi/utils.d.ts.map +1 -1
  5. package/dest/abi/utils.js +7 -0
  6. package/dest/auth_witness/auth_witness.d.ts +2 -1
  7. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  8. package/dest/avm/avm.d.ts +62 -62
  9. package/dest/avm/avm_accumulated_data.d.ts +30 -3
  10. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  11. package/dest/avm/avm_circuit_public_inputs.d.ts +9 -9
  12. package/dest/avm/avm_proving_request.d.ts +299 -299
  13. package/dest/avm/contract_storage_read.d.ts +13 -1
  14. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  15. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  16. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  17. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  18. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  19. package/dest/avm/public_data_read.d.ts +10 -1
  20. package/dest/avm/public_data_read.d.ts.map +1 -1
  21. package/dest/avm/public_data_update_request.d.ts +10 -1
  22. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  23. package/dest/avm/public_data_write.d.ts +7 -1
  24. package/dest/avm/public_data_write.d.ts.map +1 -1
  25. package/dest/avm/public_inner_call_request.d.ts +4 -1
  26. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  27. package/dest/avm/revert_code.d.ts +4 -4
  28. package/dest/avm/revert_code.d.ts.map +1 -1
  29. package/dest/block/block_hash.d.ts +18 -14
  30. package/dest/block/block_hash.d.ts.map +1 -1
  31. package/dest/block/block_hash.js +22 -20
  32. package/dest/block/block_parameter.d.ts +4 -3
  33. package/dest/block/block_parameter.d.ts.map +1 -1
  34. package/dest/block/block_parameter.js +2 -0
  35. package/dest/block/body.d.ts +1 -1
  36. package/dest/block/body.d.ts.map +1 -1
  37. package/dest/block/body.js +2 -1
  38. package/dest/block/checkpointed_l2_block.d.ts +20 -137
  39. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  40. package/dest/block/checkpointed_l2_block.js +7 -45
  41. package/dest/block/in_block.d.ts +9 -9
  42. package/dest/block/in_block.d.ts.map +1 -1
  43. package/dest/block/in_block.js +4 -4
  44. package/dest/block/index.d.ts +1 -3
  45. package/dest/block/index.d.ts.map +1 -1
  46. package/dest/block/index.js +0 -2
  47. package/dest/block/l2_block.d.ts +56 -59
  48. package/dest/block/l2_block.d.ts.map +1 -1
  49. package/dest/block/l2_block.js +64 -110
  50. package/dest/block/l2_block_source.d.ts +65 -39
  51. package/dest/block/l2_block_source.d.ts.map +1 -1
  52. package/dest/block/l2_block_source.js +2 -1
  53. package/dest/block/l2_block_stream/interfaces.d.ts +9 -6
  54. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  55. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  56. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  57. package/dest/block/l2_block_stream/l2_block_stream.js +37 -34
  58. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +3 -3
  59. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  60. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  61. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  62. package/dest/block/test/l2_tips_store_test_suite.js +2 -7
  63. package/dest/block/validate_block_result.d.ts +1 -1
  64. package/dest/block/validate_block_result.d.ts.map +1 -1
  65. package/dest/block/validate_block_result.js +5 -4
  66. package/dest/checkpoint/checkpoint.d.ts +30 -20
  67. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  68. package/dest/checkpoint/checkpoint.js +18 -6
  69. package/dest/checkpoint/published_checkpoint.d.ts +17 -15
  70. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  71. package/dest/checkpoint/published_checkpoint.js +4 -3
  72. package/dest/config/node-rpc-config.js +1 -1
  73. package/dest/contract/complete_address.d.ts +4 -1
  74. package/dest/contract/complete_address.d.ts.map +1 -1
  75. package/dest/contract/contract_address.js +1 -1
  76. package/dest/contract/contract_class_id.d.ts +1 -1
  77. package/dest/contract/contract_class_id.js +1 -1
  78. package/dest/contract/contract_deployment_data.d.ts +5 -5
  79. package/dest/contract/index.d.ts +1 -3
  80. package/dest/contract/index.d.ts.map +1 -1
  81. package/dest/contract/index.js +0 -2
  82. package/dest/contract/interfaces/contract_instance.d.ts +16 -16
  83. package/dest/contract/private_function.d.ts +1 -1
  84. package/dest/contract/private_function.d.ts.map +1 -1
  85. package/dest/contract/private_function.js +2 -3
  86. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  87. package/dest/contract/private_function_membership_proof.js +1 -1
  88. package/dest/database-version/database_version.d.ts +58 -0
  89. package/dest/database-version/database_version.d.ts.map +1 -0
  90. package/dest/database-version/database_version.js +69 -0
  91. package/dest/database-version/version_manager.d.ts +3 -49
  92. package/dest/database-version/version_manager.d.ts.map +1 -1
  93. package/dest/database-version/version_manager.js +1 -66
  94. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  95. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  96. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  97. package/dest/deserialization/index.d.ts +11 -0
  98. package/dest/deserialization/index.d.ts.map +1 -0
  99. package/dest/deserialization/index.js +10 -0
  100. package/dest/epoch-helpers/index.d.ts +3 -1
  101. package/dest/epoch-helpers/index.d.ts.map +1 -1
  102. package/dest/epoch-helpers/index.js +5 -1
  103. package/dest/errors/proving_error.d.ts +2 -2
  104. package/dest/errors/proving_error.d.ts.map +1 -1
  105. package/dest/hash/hash.js +2 -2
  106. package/dest/hash/map_slot.d.ts +1 -1
  107. package/dest/hash/map_slot.d.ts.map +1 -1
  108. package/dest/hash/map_slot.js +4 -3
  109. package/dest/interfaces/api_limit.d.ts +2 -1
  110. package/dest/interfaces/api_limit.d.ts.map +1 -1
  111. package/dest/interfaces/api_limit.js +1 -0
  112. package/dest/interfaces/archiver.d.ts +1 -1
  113. package/dest/interfaces/archiver.d.ts.map +1 -1
  114. package/dest/interfaces/archiver.js +18 -15
  115. package/dest/interfaces/aztec-node-admin.d.ts +63 -27
  116. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  117. package/dest/interfaces/aztec-node-admin.js +3 -1
  118. package/dest/interfaces/aztec-node.d.ts +65 -68
  119. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  120. package/dest/interfaces/aztec-node.js +10 -16
  121. package/dest/interfaces/block-builder.d.ts +22 -14
  122. package/dest/interfaces/block-builder.d.ts.map +1 -1
  123. package/dest/interfaces/block-builder.js +7 -0
  124. package/dest/interfaces/configs.d.ts +8 -8
  125. package/dest/interfaces/configs.d.ts.map +1 -1
  126. package/dest/interfaces/get_logs_response.d.ts +8 -8
  127. package/dest/interfaces/l2_logs_source.d.ts +14 -5
  128. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  129. package/dest/interfaces/prover-broker.d.ts +16 -1
  130. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  131. package/dest/interfaces/prover-broker.js +4 -1
  132. package/dest/interfaces/prover-client.d.ts +15 -1
  133. package/dest/interfaces/prover-client.d.ts.map +1 -1
  134. package/dest/interfaces/prover-client.js +12 -1
  135. package/dest/interfaces/proving-job.d.ts +48 -48
  136. package/dest/interfaces/tx_provider.d.ts +3 -3
  137. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  138. package/dest/interfaces/validator.d.ts +102 -14
  139. package/dest/interfaces/validator.d.ts.map +1 -1
  140. package/dest/interfaces/validator.js +2 -2
  141. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  142. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  143. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  144. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  145. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  146. package/dest/kernel/hints/build_nullifier_read_request_hints.js +16 -8
  147. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  148. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  149. package/dest/kernel/hints/key_validation_request.d.ts +2 -1
  150. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  151. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +6 -1
  152. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  153. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  154. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  155. package/dest/kernel/hints/read_request.d.ts +7 -1
  156. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  157. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  158. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  159. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  160. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  161. package/dest/kernel/private_call_data.d.ts +25 -1
  162. package/dest/kernel/private_call_data.d.ts.map +1 -1
  163. package/dest/kernel/private_call_request.d.ts +16 -1
  164. package/dest/kernel/private_call_request.d.ts.map +1 -1
  165. package/dest/kernel/private_circuit_public_inputs.d.ts +74 -1
  166. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  167. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +31 -1
  168. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  169. package/dest/kernel/private_kernel_data.d.ts +7 -1
  170. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  171. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  172. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  173. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  174. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  175. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  176. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  177. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  178. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  179. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +23 -1
  180. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  181. package/dest/kernel/private_to_avm_accumulated_data.d.ts +2 -2
  182. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +17 -1
  183. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  184. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +16 -1
  185. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  186. package/dest/kernel/private_validation_requests.d.ts +10 -1
  187. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  188. package/dest/kernel/public_call_request.d.ts +22 -1
  189. package/dest/kernel/public_call_request.d.ts.map +1 -1
  190. package/dest/kernel/utils/optional_number.d.ts +7 -1
  191. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  192. package/dest/keys/derivation.d.ts +3 -3
  193. package/dest/keys/derivation.js +8 -8
  194. package/dest/keys/key_types.d.ts +1 -1
  195. package/dest/keys/public_keys.d.ts +5 -1
  196. package/dest/keys/public_keys.d.ts.map +1 -1
  197. package/dest/keys/utils.d.ts +1 -1
  198. package/dest/keys/utils.d.ts.map +1 -1
  199. package/dest/keys/utils.js +7 -3
  200. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  201. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  202. package/dest/l1-contracts/slash_factory.js +1 -0
  203. package/dest/logs/extended_contract_class_log.d.ts +3 -1
  204. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  205. package/dest/logs/extended_public_log.d.ts +11 -9
  206. package/dest/logs/extended_public_log.d.ts.map +1 -1
  207. package/dest/logs/log_id.d.ts +12 -8
  208. package/dest/logs/log_id.d.ts.map +1 -1
  209. package/dest/logs/log_id.js +6 -5
  210. package/dest/logs/siloed_tag.d.ts +1 -1
  211. package/dest/logs/siloed_tag.d.ts.map +1 -1
  212. package/dest/logs/siloed_tag.js +4 -3
  213. package/dest/messaging/inbox_leaf.d.ts +3 -1
  214. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  215. package/dest/messaging/l1_actor.d.ts +7 -1
  216. package/dest/messaging/l1_actor.d.ts.map +1 -1
  217. package/dest/messaging/l1_to_l2_message.d.ts +6 -1
  218. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  219. package/dest/messaging/l2_actor.d.ts +7 -1
  220. package/dest/messaging/l2_actor.d.ts.map +1 -1
  221. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  222. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  223. package/dest/messaging/l2_to_l1_membership.js +5 -3
  224. package/dest/messaging/out_hash.d.ts +41 -4
  225. package/dest/messaging/out_hash.d.ts.map +1 -1
  226. package/dest/messaging/out_hash.js +52 -26
  227. package/dest/note/note_dao.d.ts +36 -5
  228. package/dest/note/note_dao.d.ts.map +1 -1
  229. package/dest/note/note_dao.js +15 -12
  230. package/dest/p2p/block_proposal.d.ts +23 -8
  231. package/dest/p2p/block_proposal.d.ts.map +1 -1
  232. package/dest/p2p/block_proposal.js +25 -7
  233. package/dest/p2p/checkpoint_attestation.d.ts +5 -1
  234. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  235. package/dest/p2p/checkpoint_proposal.d.ts +20 -7
  236. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  237. package/dest/p2p/checkpoint_proposal.js +17 -5
  238. package/dest/p2p/consensus_payload.d.ts +4 -3
  239. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  240. package/dest/p2p/consensus_payload.js +0 -3
  241. package/dest/p2p/constants.d.ts +3 -0
  242. package/dest/p2p/constants.d.ts.map +1 -0
  243. package/dest/p2p/constants.js +2 -0
  244. package/dest/p2p/index.d.ts +2 -1
  245. package/dest/p2p/index.d.ts.map +1 -1
  246. package/dest/p2p/index.js +1 -0
  247. package/dest/p2p/message_validator.d.ts +18 -3
  248. package/dest/p2p/message_validator.d.ts.map +1 -1
  249. package/dest/p2p/message_validator.js +2 -1
  250. package/dest/p2p/signed_txs.d.ts +3 -1
  251. package/dest/p2p/signed_txs.d.ts.map +1 -1
  252. package/dest/p2p/signed_txs.js +6 -1
  253. package/dest/p2p/topic_type.js +2 -1
  254. package/dest/parity/parity_base_private_inputs.d.ts +3 -1
  255. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  256. package/dest/parity/parity_public_inputs.d.ts +4 -1
  257. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  258. package/dest/parity/parity_root_private_inputs.d.ts +2 -1
  259. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  260. package/dest/proofs/chonk_proof.d.ts +1 -1
  261. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  262. package/dest/proofs/chonk_proof.js +9 -4
  263. package/dest/proofs/proof.d.ts +4 -1
  264. package/dest/proofs/proof.d.ts.map +1 -1
  265. package/dest/proofs/recursive_proof.d.ts +10 -1
  266. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  267. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  268. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  269. package/dest/rollup/block_constant_data.d.ts +12 -1
  270. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  271. package/dest/rollup/block_headers_hash.js +1 -1
  272. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +4 -1
  273. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  274. package/dest/rollup/block_rollup_public_inputs.d.ts +44 -3
  275. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  276. package/dest/rollup/block_rollup_public_inputs.js +2 -2
  277. package/dest/rollup/block_root_rollup_private_inputs.d.ts +64 -1
  278. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  279. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  280. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  281. package/dest/rollup/checkpoint_header.d.ts +29 -2
  282. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  283. package/dest/rollup/checkpoint_header.js +21 -5
  284. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +4 -1
  285. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  286. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +41 -6
  287. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  288. package/dest/rollup/checkpoint_rollup_public_inputs.js +10 -6
  289. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +44 -3
  290. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  291. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  292. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  293. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  294. package/dest/rollup/root_rollup_private_inputs.d.ts +6 -1
  295. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  296. package/dest/rollup/root_rollup_public_inputs.d.ts +12 -2
  297. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  298. package/dest/rollup/root_rollup_public_inputs.js +4 -1
  299. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  300. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  301. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +4 -1
  302. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  303. package/dest/rollup/tx_rollup_public_inputs.d.ts +29 -1
  304. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  305. package/dest/schemas/schemas.d.ts +1 -1
  306. package/dest/stats/stats.d.ts +1 -3
  307. package/dest/stats/stats.d.ts.map +1 -1
  308. package/dest/tests/factories.d.ts +2 -4
  309. package/dest/tests/factories.d.ts.map +1 -1
  310. package/dest/tests/factories.js +6 -15
  311. package/dest/tests/jest.js +1 -1
  312. package/dest/tests/mocks.d.ts +20 -14
  313. package/dest/tests/mocks.d.ts.map +1 -1
  314. package/dest/tests/mocks.js +45 -27
  315. package/dest/trees/append_only_tree_snapshot.d.ts +13 -1
  316. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  317. package/dest/trees/nullifier_leaf.d.ts +13 -1
  318. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  319. package/dest/trees/nullifier_membership_witness.d.ts +10 -1
  320. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  321. package/dest/trees/public_data_leaf.d.ts +16 -1
  322. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  323. package/dest/trees/public_data_witness.d.ts +11 -1
  324. package/dest/trees/public_data_witness.d.ts.map +1 -1
  325. package/dest/tx/block_header.d.ts +14 -2
  326. package/dest/tx/block_header.d.ts.map +1 -1
  327. package/dest/tx/block_header.js +5 -1
  328. package/dest/tx/call_context.d.ts +13 -1
  329. package/dest/tx/call_context.d.ts.map +1 -1
  330. package/dest/tx/capsule.d.ts +4 -1
  331. package/dest/tx/capsule.d.ts.map +1 -1
  332. package/dest/tx/execution_payload.d.ts +9 -1
  333. package/dest/tx/execution_payload.d.ts.map +1 -1
  334. package/dest/tx/function_data.d.ts +4 -2
  335. package/dest/tx/function_data.d.ts.map +1 -1
  336. package/dest/tx/global_variables.d.ts +9 -1
  337. package/dest/tx/global_variables.d.ts.map +1 -1
  338. package/dest/tx/hashed_values.d.ts +7 -1
  339. package/dest/tx/hashed_values.d.ts.map +1 -1
  340. package/dest/tx/in_tx.d.ts +4 -4
  341. package/dest/tx/indexed_tx_effect.d.ts +5 -5
  342. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  343. package/dest/tx/indexed_tx_effect.js +3 -2
  344. package/dest/tx/partial_state_reference.d.ts +4 -1
  345. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  346. package/dest/tx/private_execution_result.d.ts +23 -2
  347. package/dest/tx/private_execution_result.d.ts.map +1 -1
  348. package/dest/tx/private_execution_result.js +1 -1
  349. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  350. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  351. package/dest/tx/profiling.d.ts +149 -26
  352. package/dest/tx/profiling.d.ts.map +1 -1
  353. package/dest/tx/profiling.js +44 -7
  354. package/dest/tx/protocol_contracts.d.ts +1 -1
  355. package/dest/tx/public_call_request_with_calldata.d.ts +7 -1
  356. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  357. package/dest/tx/state_reference.d.ts +3 -1
  358. package/dest/tx/state_reference.d.ts.map +1 -1
  359. package/dest/tx/tx.d.ts +24 -1
  360. package/dest/tx/tx.d.ts.map +1 -1
  361. package/dest/tx/tx.js +6 -3
  362. package/dest/tx/tx_context.d.ts +2 -1
  363. package/dest/tx/tx_context.d.ts.map +1 -1
  364. package/dest/tx/tx_effect.d.ts +32 -6
  365. package/dest/tx/tx_effect.d.ts.map +1 -1
  366. package/dest/tx/tx_effect.js +0 -7
  367. package/dest/tx/tx_execution_request.d.ts +30 -1
  368. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  369. package/dest/tx/tx_hash.d.ts +2 -1
  370. package/dest/tx/tx_hash.d.ts.map +1 -1
  371. package/dest/tx/tx_receipt.d.ts +47 -13
  372. package/dest/tx/tx_receipt.d.ts.map +1 -1
  373. package/dest/tx/tx_receipt.js +46 -15
  374. package/dest/tx/tx_request.d.ts +6 -1
  375. package/dest/tx/tx_request.d.ts.map +1 -1
  376. package/dest/tx/validator/error_texts.d.ts +2 -1
  377. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  378. package/dest/tx/validator/error_texts.js +2 -0
  379. package/dest/types/shared.d.ts +4 -1
  380. package/dest/types/shared.d.ts.map +1 -1
  381. package/dest/validators/schemas.d.ts +8 -8
  382. package/dest/vks/verification_key.d.ts +22 -1
  383. package/dest/vks/verification_key.d.ts.map +1 -1
  384. package/dest/vks/vk_data.d.ts +7 -1
  385. package/dest/vks/vk_data.d.ts.map +1 -1
  386. package/dest/zkpassport/index.d.ts +3 -4
  387. package/dest/zkpassport/index.d.ts.map +1 -1
  388. package/dest/zkpassport/index.js +9 -9
  389. package/package.json +14 -11
  390. package/src/abi/utils.ts +17 -0
  391. package/src/block/block_hash.ts +26 -25
  392. package/src/block/block_parameter.ts +4 -2
  393. package/src/block/body.ts +2 -1
  394. package/src/block/checkpointed_l2_block.ts +8 -58
  395. package/src/block/in_block.ts +5 -5
  396. package/src/block/index.ts +0 -2
  397. package/src/block/l2_block.ts +102 -150
  398. package/src/block/l2_block_source.ts +71 -42
  399. package/src/block/l2_block_stream/interfaces.ts +8 -5
  400. package/src/block/l2_block_stream/l2_block_stream.ts +45 -37
  401. package/src/block/l2_block_stream/l2_tips_store_base.ts +2 -2
  402. package/src/block/test/l2_tips_store_test_suite.ts +4 -9
  403. package/src/block/validate_block_result.ts +5 -4
  404. package/src/checkpoint/checkpoint.ts +33 -11
  405. package/src/checkpoint/published_checkpoint.ts +4 -3
  406. package/src/config/node-rpc-config.ts +1 -1
  407. package/src/contract/contract_address.ts +1 -1
  408. package/src/contract/contract_class_id.ts +1 -1
  409. package/src/contract/index.ts +0 -2
  410. package/src/contract/private_function.ts +2 -3
  411. package/src/contract/private_function_membership_proof.ts +1 -1
  412. package/src/database-version/database_version.ts +87 -0
  413. package/src/database-version/version_manager.ts +1 -77
  414. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  415. package/src/deserialization/index.ts +21 -0
  416. package/src/epoch-helpers/index.ts +10 -1
  417. package/src/hash/hash.ts +2 -2
  418. package/src/hash/map_slot.ts +3 -2
  419. package/src/interfaces/api_limit.ts +1 -0
  420. package/src/interfaces/archiver.ts +18 -24
  421. package/src/interfaces/aztec-node-admin.ts +3 -2
  422. package/src/interfaces/aztec-node.ts +85 -134
  423. package/src/interfaces/block-builder.ts +40 -23
  424. package/src/interfaces/configs.ts +1 -3
  425. package/src/interfaces/l2_logs_source.ts +17 -4
  426. package/src/interfaces/prover-broker.ts +22 -0
  427. package/src/interfaces/prover-client.ts +22 -0
  428. package/src/interfaces/tx_provider.ts +2 -2
  429. package/src/interfaces/validator.ts +9 -11
  430. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  431. package/src/kernel/hints/build_nullifier_read_request_hints.ts +17 -14
  432. package/src/keys/derivation.ts +8 -8
  433. package/src/keys/key_types.ts +1 -1
  434. package/src/keys/utils.ts +7 -3
  435. package/src/l1-contracts/slash_factory.ts +1 -0
  436. package/src/logs/log_id.ts +7 -6
  437. package/src/logs/siloed_tag.ts +3 -2
  438. package/src/messaging/l2_to_l1_membership.ts +5 -3
  439. package/src/messaging/out_hash.ts +60 -29
  440. package/src/note/note_dao.ts +18 -13
  441. package/src/p2p/block_proposal.ts +36 -13
  442. package/src/p2p/checkpoint_proposal.ts +29 -11
  443. package/src/p2p/consensus_payload.ts +0 -5
  444. package/src/p2p/constants.ts +3 -0
  445. package/src/p2p/index.ts +1 -0
  446. package/src/p2p/message_validator.ts +14 -2
  447. package/src/p2p/signed_txs.ts +6 -1
  448. package/src/p2p/topic_type.ts +1 -1
  449. package/src/proofs/chonk_proof.ts +9 -5
  450. package/src/rollup/block_headers_hash.ts +1 -1
  451. package/src/rollup/block_rollup_public_inputs.ts +2 -2
  452. package/src/rollup/checkpoint_header.ts +20 -0
  453. package/src/rollup/checkpoint_rollup_public_inputs.ts +12 -6
  454. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  455. package/src/rollup/root_rollup_public_inputs.ts +4 -1
  456. package/src/stats/stats.ts +0 -2
  457. package/src/tests/factories.ts +6 -26
  458. package/src/tests/jest.ts +1 -1
  459. package/src/tests/mocks.ts +62 -42
  460. package/src/tx/block_header.ts +11 -3
  461. package/src/tx/indexed_tx_effect.ts +3 -2
  462. package/src/tx/private_execution_result.ts +1 -1
  463. package/src/tx/profiling.ts +46 -4
  464. package/src/tx/tx.ts +8 -9
  465. package/src/tx/tx_effect.ts +0 -9
  466. package/src/tx/tx_receipt.ts +75 -18
  467. package/src/tx/validator/error_texts.ts +3 -0
  468. package/src/zkpassport/index.ts +11 -12
  469. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  470. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  471. package/dest/block/l2_block_code_to_purge.js +0 -55
  472. package/dest/block/l2_block_header.d.ts +0 -94
  473. package/dest/block/l2_block_header.d.ts.map +0 -1
  474. package/dest/block/l2_block_header.js +0 -160
  475. package/dest/block/l2_block_new.d.ts +0 -134
  476. package/dest/block/l2_block_new.d.ts.map +0 -1
  477. package/dest/block/l2_block_new.js +0 -155
  478. package/dest/contract/contract_class_metadata.d.ts +0 -8
  479. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  480. package/dest/contract/contract_class_metadata.js +0 -1
  481. package/dest/contract/contract_metadata.d.ts +0 -7
  482. package/dest/contract/contract_metadata.d.ts.map +0 -1
  483. package/dest/contract/contract_metadata.js +0 -1
  484. package/dest/database-version/index.d.ts +0 -2
  485. package/dest/database-version/index.d.ts.map +0 -1
  486. package/dest/database-version/index.js +0 -1
  487. package/src/block/l2_block_code_to_purge.ts +0 -80
  488. package/src/block/l2_block_header.ts +0 -255
  489. package/src/block/l2_block_new.ts +0 -211
  490. package/src/contract/contract_class_metadata.ts +0 -8
  491. package/src/contract/contract_metadata.ts +0 -7
  492. package/src/database-version/index.ts +0 -1
@@ -9,18 +9,47 @@ import { TxHash } from '@aztec/stdlib/tx';
9
9
  * information required to use it during execution and manage its state.
10
10
  */
11
11
  export declare class NoteDao {
12
+ /** The packed content of the note, as will be returned in the getNotes oracle. */
12
13
  note: Note;
14
+ /** The address of the contract that created the note (i.e. the address used by the kernel during siloing). */
13
15
  contractAddress: AztecAddress;
16
+ /** The owner of the note - generally the account that can spend the note. */
14
17
  owner: AztecAddress;
18
+ /**
19
+ * The storage location of the note. This value is not used for anything in PXE, but we do index by storage slot
20
+ * since contracts typically make queries based on it.
21
+ */
15
22
  storageSlot: Fr;
23
+ /**
24
+ * The randomness injected to the note hash preimage.
25
+ */
16
26
  randomness: Fr;
27
+ /** The nonce that was injected into the note hash preimage in order to guarantee uniqueness. */
17
28
  noteNonce: Fr;
29
+ /**
30
+ * The inner hash (non-unique, non-siloed) of the note. Each contract determines how the note is hashed. Can
31
+ * be used alongside contractAddress and nonce to compute the uniqueNoteHash and the siloedNoteHash.
32
+ */
18
33
  noteHash: Fr;
34
+ /**
35
+ * The nullifier of the note, siloed by contract address.
36
+ * Note: Might be set as 0 if the note was added to PXE as nullified.
37
+ */
19
38
  siloedNullifier: Fr;
39
+ /** The hash of the tx in which this note was created. Knowing the tx hash allows for efficient node queries e.g.
40
+ * when searching for txEffects.
41
+ */
20
42
  txHash: TxHash;
43
+ /** The L2 block number in which the tx with this note was included. Used for note management while processing
44
+ * reorgs.*/
21
45
  l2BlockNumber: BlockNumber;
46
+ /** The L2 block hash in which the tx with this note was included. Used for note management while processing
47
+ * reorgs.*/
22
48
  l2BlockHash: string;
23
- index: bigint;
49
+ /** The index of the tx within the block, used for ordering notes. */
50
+ txIndexInBlock: number;
51
+ /** The index of the note within the tx (based on note hash position), used for ordering notes. */
52
+ noteIndexInTx: number;
24
53
  constructor(
25
54
  /** The packed content of the note, as will be returned in the getNotes oracle. */
26
55
  note: Note,
@@ -59,8 +88,10 @@ export declare class NoteDao {
59
88
  /** The L2 block hash in which the tx with this note was included. Used for note management while processing
60
89
  * reorgs.*/
61
90
  l2BlockHash: string,
62
- /** The index of the leaf in the global note hash tree the note is stored at */
63
- index: bigint);
91
+ /** The index of the tx within the block, used for ordering notes. */
92
+ txIndexInBlock: number,
93
+ /** The index of the note within the tx (based on note hash position), used for ordering notes. */
94
+ noteIndexInTx: number);
64
95
  toBuffer(): Buffer;
65
96
  static fromBuffer(buffer: Buffer | BufferReader): NoteDao;
66
97
  toString(): string;
@@ -74,6 +105,6 @@ export declare class NoteDao {
74
105
  * @returns - Its size in bytes.
75
106
  */
76
107
  getSize(): number;
77
- static random({ note, contractAddress, owner, storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, index }?: Partial<NoteDao>): Promise<NoteDao>;
108
+ static random({ note, contractAddress, owner, storageSlot, randomness, noteNonce, noteHash, siloedNullifier, txHash, l2BlockNumber, l2BlockHash, txIndexInBlock, noteIndexInTx }?: Partial<NoteDao>): Promise<NoteDao>;
78
109
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9kYW8uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub3RlL25vdGVfZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxxQkFBYSxPQUFPO0lBS1QsSUFBSSxFQUFFLElBQUk7SUFFVixlQUFlLEVBQUUsWUFBWTtJQUU3QixLQUFLLEVBQUUsWUFBWTtJQUtuQixXQUFXLEVBQUUsRUFBRTtJQUlmLFVBQVUsRUFBRSxFQUFFO0lBRWQsU0FBUyxFQUFFLEVBQUU7SUFPYixRQUFRLEVBQUUsRUFBRTtJQUtaLGVBQWUsRUFBRSxFQUFFO0lBTW5CLE1BQU0sRUFBRSxNQUFNO0lBR2QsYUFBYSxFQUFFLFdBQVc7SUFHMUIsV0FBVyxFQUFFLE1BQU07SUFFbkIsS0FBSyxFQUFFLE1BQU07SUE3Q3RCO0lBR0Usa0ZBQWtGO0lBQzNFLElBQUksRUFBRSxJQUFJO0lBQ2pCLDhHQUE4RztJQUN2RyxlQUFlLEVBQUUsWUFBWTtJQUNwQyw2RUFBNkU7SUFDdEUsS0FBSyxFQUFFLFlBQVk7SUFDMUI7OztPQUdHO0lBQ0ksV0FBVyxFQUFFLEVBQUU7SUFDdEI7O09BRUc7SUFDSSxVQUFVLEVBQUUsRUFBRTtJQUNyQixnR0FBZ0c7SUFDekYsU0FBUyxFQUFFLEVBQUU7SUFHcEI7OztPQUdHO0lBQ0ksUUFBUSxFQUFFLEVBQUU7SUFDbkI7OztPQUdHO0lBQ0ksZUFBZSxFQUFFLEVBQUU7SUFHMUI7O09BRUc7SUFDSSxNQUFNLEVBQUUsTUFBTTtJQUNyQjtnQkFDWTtJQUNMLGFBQWEsRUFBRSxXQUFXO0lBQ2pDO2dCQUNZO0lBQ0wsV0FBVyxFQUFFLE1BQU07SUFDMUIsK0VBQStFO0lBQ3hFLEtBQUssRUFBRSxNQUFNLEVBQ2xCO0lBRUosUUFBUSxJQUFJLE1BQU0sQ0FlakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxXQThCOUM7SUFFRCxRQUFRLFdBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLFdBRzVCO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBZTlCO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxXQU1iO0lBRUQsT0FBYSxNQUFNLENBQUMsRUFDbEIsSUFBb0IsRUFDcEIsZUFBMkIsRUFDM0IsS0FBaUIsRUFDakIsV0FBeUIsRUFDekIsVUFBd0IsRUFDeEIsU0FBdUIsRUFDdkIsUUFBc0IsRUFDdEIsZUFBNkIsRUFDN0IsTUFBd0IsRUFDeEIsYUFBNkQsRUFDN0QsV0FBb0MsRUFDcEMsS0FBOEIsRUFDL0IsR0FBRSxPQUFPLENBQUMsT0FBTyxDQUFNLG9CQWV2QjtDQUNGIn0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9kYW8uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub3RlL25vdGVfZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQzs7O0dBR0c7QUFDSCxxQkFBYSxPQUFPO0lBSWhCLGtGQUFrRjtJQUMzRSxJQUFJLEVBQUUsSUFBSTtJQUNqQiw4R0FBOEc7SUFDdkcsZUFBZSxFQUFFLFlBQVk7SUFDcEMsNkVBQTZFO0lBQ3RFLEtBQUssRUFBRSxZQUFZO0lBQzFCOzs7T0FHRztJQUNJLFdBQVcsRUFBRSxFQUFFO0lBQ3RCOztPQUVHO0lBQ0ksVUFBVSxFQUFFLEVBQUU7SUFDckIsZ0dBQWdHO0lBQ3pGLFNBQVMsRUFBRSxFQUFFO0lBR3BCOzs7T0FHRztJQUNJLFFBQVEsRUFBRSxFQUFFO0lBQ25COzs7T0FHRztJQUNJLGVBQWUsRUFBRSxFQUFFO0lBRzFCOztPQUVHO0lBQ0ksTUFBTSxFQUFFLE1BQU07SUFDckI7Z0JBQ1k7SUFDTCxhQUFhLEVBQUUsV0FBVztJQUNqQztnQkFDWTtJQUNMLFdBQVcsRUFBRSxNQUFNO0lBQzFCLHFFQUFxRTtJQUM5RCxjQUFjLEVBQUUsTUFBTTtJQUM3QixrR0FBa0c7SUFDM0YsYUFBYSxFQUFFLE1BQU07SUEvQzlCO0lBR0Usa0ZBQWtGO0lBQzNFLElBQUksRUFBRSxJQUFJO0lBQ2pCLDhHQUE4RztJQUN2RyxlQUFlLEVBQUUsWUFBWTtJQUNwQyw2RUFBNkU7SUFDdEUsS0FBSyxFQUFFLFlBQVk7SUFDMUI7OztPQUdHO0lBQ0ksV0FBVyxFQUFFLEVBQUU7SUFDdEI7O09BRUc7SUFDSSxVQUFVLEVBQUUsRUFBRTtJQUNyQixnR0FBZ0c7SUFDekYsU0FBUyxFQUFFLEVBQUU7SUFHcEI7OztPQUdHO0lBQ0ksUUFBUSxFQUFFLEVBQUU7SUFDbkI7OztPQUdHO0lBQ0ksZUFBZSxFQUFFLEVBQUU7SUFHMUI7O09BRUc7SUFDSSxNQUFNLEVBQUUsTUFBTTtJQUNyQjtnQkFDWTtJQUNMLGFBQWEsRUFBRSxXQUFXO0lBQ2pDO2dCQUNZO0lBQ0wsV0FBVyxFQUFFLE1BQU07SUFDMUIscUVBQXFFO0lBQzlELGNBQWMsRUFBRSxNQUFNO0lBQzdCLGtHQUFrRztJQUMzRixhQUFhLEVBQUUsTUFBTSxFQUMxQjtJQUVKLFFBQVEsSUFBSSxNQUFNLENBZ0JqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLFdBZ0M5QztJQUVELFFBQVEsV0FFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sV0FHNUI7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FnQjlCO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxXQUliO0lBRUQsT0FBYSxNQUFNLENBQUMsRUFDbEIsSUFBb0IsRUFDcEIsZUFBMkIsRUFDM0IsS0FBaUIsRUFDakIsV0FBeUIsRUFDekIsVUFBd0IsRUFDeEIsU0FBdUIsRUFDdkIsUUFBc0IsRUFDdEIsZUFBNkIsRUFDN0IsTUFBd0IsRUFDeEIsYUFBNkQsRUFDN0QsV0FBb0MsRUFDcEMsY0FBZ0QsRUFDaEQsYUFBK0MsRUFDaEQsR0FBRSxPQUFPLENBQUMsT0FBTyxDQUFNLG9CQWdCdkI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"note_dao.d.ts","sourceRoot":"","sources":["../../src/note/note_dao.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;GAGG;AACH,qBAAa,OAAO;IAKT,IAAI,EAAE,IAAI;IAEV,eAAe,EAAE,YAAY;IAE7B,KAAK,EAAE,YAAY;IAKnB,WAAW,EAAE,EAAE;IAIf,UAAU,EAAE,EAAE;IAEd,SAAS,EAAE,EAAE;IAOb,QAAQ,EAAE,EAAE;IAKZ,eAAe,EAAE,EAAE;IAMnB,MAAM,EAAE,MAAM;IAGd,aAAa,EAAE,WAAW;IAG1B,WAAW,EAAE,MAAM;IAEnB,KAAK,EAAE,MAAM;IA7CtB;IAGE,kFAAkF;IAC3E,IAAI,EAAE,IAAI;IACjB,8GAA8G;IACvG,eAAe,EAAE,YAAY;IACpC,6EAA6E;IACtE,KAAK,EAAE,YAAY;IAC1B;;;OAGG;IACI,WAAW,EAAE,EAAE;IACtB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB,gGAAgG;IACzF,SAAS,EAAE,EAAE;IAGpB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAG1B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;gBACY;IACL,aAAa,EAAE,WAAW;IACjC;gBACY;IACL,WAAW,EAAE,MAAM;IAC1B,+EAA+E;IACxE,KAAK,EAAE,MAAM,EAClB;IAEJ,QAAQ,IAAI,MAAM,CAejB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,WA8B9C;IAED,QAAQ,WAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAG5B;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAe9B;IAED;;;OAGG;IACI,OAAO,WAMb;IAED,OAAa,MAAM,CAAC,EAClB,IAAoB,EACpB,eAA2B,EAC3B,KAAiB,EACjB,WAAyB,EACzB,UAAwB,EACxB,SAAuB,EACvB,QAAsB,EACtB,eAA6B,EAC7B,MAAwB,EACxB,aAA6D,EAC7D,WAAoC,EACpC,KAA8B,EAC/B,GAAE,OAAO,CAAC,OAAO,CAAM,oBAevB;CACF"}
1
+ {"version":3,"file":"note_dao.d.ts","sourceRoot":"","sources":["../../src/note/note_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;GAGG;AACH,qBAAa,OAAO;IAIhB,kFAAkF;IAC3E,IAAI,EAAE,IAAI;IACjB,8GAA8G;IACvG,eAAe,EAAE,YAAY;IACpC,6EAA6E;IACtE,KAAK,EAAE,YAAY;IAC1B;;;OAGG;IACI,WAAW,EAAE,EAAE;IACtB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB,gGAAgG;IACzF,SAAS,EAAE,EAAE;IAGpB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAG1B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;gBACY;IACL,aAAa,EAAE,WAAW;IACjC;gBACY;IACL,WAAW,EAAE,MAAM;IAC1B,qEAAqE;IAC9D,cAAc,EAAE,MAAM;IAC7B,kGAAkG;IAC3F,aAAa,EAAE,MAAM;IA/C9B;IAGE,kFAAkF;IAC3E,IAAI,EAAE,IAAI;IACjB,8GAA8G;IACvG,eAAe,EAAE,YAAY;IACpC,6EAA6E;IACtE,KAAK,EAAE,YAAY;IAC1B;;;OAGG;IACI,WAAW,EAAE,EAAE;IACtB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB,gGAAgG;IACzF,SAAS,EAAE,EAAE;IAGpB;;;OAGG;IACI,QAAQ,EAAE,EAAE;IACnB;;;OAGG;IACI,eAAe,EAAE,EAAE;IAG1B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;gBACY;IACL,aAAa,EAAE,WAAW;IACjC;gBACY;IACL,WAAW,EAAE,MAAM;IAC1B,qEAAqE;IAC9D,cAAc,EAAE,MAAM;IAC7B,kGAAkG;IAC3F,aAAa,EAAE,MAAM,EAC1B;IAEJ,QAAQ,IAAI,MAAM,CAgBjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,WAgC9C;IAED,QAAQ,WAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAG5B;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAgB9B;IAED;;;OAGG;IACI,OAAO,WAIb;IAED,OAAa,MAAM,CAAC,EAClB,IAAoB,EACpB,eAA2B,EAC3B,KAAiB,EACjB,WAAyB,EACzB,UAAwB,EACxB,SAAuB,EACvB,QAAsB,EACtB,eAA6B,EAC7B,MAAwB,EACxB,aAA6D,EAC7D,WAAoC,EACpC,cAAgD,EAChD,aAA+C,EAChD,GAAE,OAAO,CAAC,OAAO,CAAM,oBAgBvB;CACF"}
@@ -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":"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"}
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';
@@ -75,12 +78,23 @@ export class BlockProposalHash extends Buffer32 {
75
78
  static async createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
76
79
  // Create a temporary proposal to get the payload to sign
77
80
  const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty());
81
+ // Create the block signing context
82
+ const blockContext = {
83
+ slot: blockHeader.globalVariables.slotNumber,
84
+ blockNumber: blockHeader.globalVariables.blockNumber,
85
+ blockIndexWithinCheckpoint: indexWithinCheckpoint,
86
+ dutyType: DutyType.BLOCK_PROPOSAL
87
+ };
78
88
  const hashed = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.blockProposal);
79
- const sig = await payloadSigner(hashed);
89
+ const sig = await payloadSigner(hashed, blockContext);
80
90
  // If txs are provided, sign them as well
81
91
  let signedTxs;
82
92
  if (txs) {
83
- signedTxs = await SignedTxs.createFromSigner(txs, payloadSigner);
93
+ const txsSigningContext = {
94
+ dutyType: DutyType.TXS
95
+ };
96
+ const txsSigner = (payload)=>payloadSigner(payload, txsSigningContext);
97
+ signedTxs = await SignedTxs.createFromSigner(txs, txsSigner);
84
98
  }
85
99
  return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signedTxs);
86
100
  }
@@ -128,11 +142,15 @@ export class BlockProposalHash extends Buffer32 {
128
142
  static fromBuffer(buf) {
129
143
  const reader = BufferReader.asReader(buf);
130
144
  const blockHeader = reader.readObject(BlockHeader);
131
- const indexWithinCheckpoint = reader.readNumber();
145
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
132
146
  const inHash = reader.readObject(Fr);
133
147
  const archiveRoot = reader.readObject(Fr);
134
148
  const signature = reader.readObject(Signature);
135
- const txHashes = reader.readArray(reader.readNumber(), TxHash);
149
+ const txHashCount = reader.readNumber();
150
+ if (txHashCount > MAX_TXS_PER_BLOCK) {
151
+ throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
152
+ }
153
+ const txHashes = reader.readArray(txHashCount, TxHash);
136
154
  if (!reader.isEmpty()) {
137
155
  const hasSignedTxs = reader.readNumber();
138
156
  if (hasSignedTxs) {
@@ -146,10 +164,10 @@ export class BlockProposalHash extends Buffer32 {
146
164
  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
165
  }
148
166
  static empty() {
149
- return new BlockProposal(BlockHeader.empty(), 0, Fr.ZERO, Fr.ZERO, [], Signature.empty());
167
+ return new BlockProposal(BlockHeader.empty(), IndexWithinCheckpoint(0), Fr.ZERO, Fr.ZERO, [], Signature.empty());
150
168
  }
151
169
  static random() {
152
- return new BlockProposal(BlockHeader.random(), Math.floor(Math.random() * 5), Fr.random(), Fr.random(), [
170
+ return new BlockProposal(BlockHeader.random(), IndexWithinCheckpoint(Math.floor(Math.random() * 5)), Fr.random(), Fr.random(), [
153
171
  TxHash.random(),
154
172
  TxHash.random()
155
173
  ], Signature.random());
@@ -170,7 +188,7 @@ export class BlockProposalHash extends Buffer32 {
170
188
  * @param block - The L2Block to compare against
171
189
  * @returns True if the proposal matches the block
172
190
  */ matchesBlock(block) {
173
- return this.archiveRoot.equals(block.archive.root) && this.blockHeader.equals(block.getBlockHeader());
191
+ return this.archiveRoot.equals(block.archive.root) && this.blockHeader.equals(block.header);
174
192
  }
175
193
  /**
176
194
  * 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}`;
@@ -74,4 +78,4 @@ export declare class CheckpointAttestation extends Gossipable {
74
78
  proposerSignature: `0x${string}`;
75
79
  };
76
80
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTthQVFqQyxPQUFPLEVBQUUsZ0JBQWdCO2FBR3pCLFNBQVMsRUFBRSxTQUFTO2FBR3BCLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBV3BDO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT25FO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUVyQztJQUVELE9BQU8sSUFBSSxNQUFNLENBRWhCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTVI7Q0FDRiJ9
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTtJQU9qRCxpRUFBaUU7YUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7YUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO2FBQ2pDLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBV3BDO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT25FO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUVyQztJQUVELE9BQU8sSUFBSSxNQUFNLENBRWhCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==
@@ -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,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,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,13 @@ 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 proposer's signature over the checkpoint payload (checkpointHeader + archive) */
51
62
  readonly signature: Signature;
63
+ /** Optional last block info, including its own signature for BlockProposal extraction */
52
64
  readonly lastBlock?: CheckpointLastBlock | undefined;
53
65
  static p2pTopic: TopicType;
54
66
  private sender;
@@ -79,7 +91,7 @@ export declare class CheckpointProposal extends Gossipable {
79
91
  * The signature is over the checkpoint header + archive root (for consensus).
80
92
  */
81
93
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
82
- static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32) => Promise<Signature>): Promise<CheckpointProposal>;
94
+ static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
83
95
  /**
84
96
  * Lazily evaluate the sender of the proposal; result is cached.
85
97
  * If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
@@ -98,6 +110,7 @@ export declare class CheckpointProposal extends Gossipable {
98
110
  blockHeadersHash: `0x${string}`;
99
111
  blobsHash: `0x${string}`;
100
112
  inHash: `0x${string}`;
113
+ epochOutHash: `0x${string}`;
101
114
  slotNumber: SlotNumber;
102
115
  timestamp: bigint;
103
116
  coinbase: `0x${string}`;
@@ -134,7 +147,7 @@ export declare class CheckpointProposal extends Gossipable {
134
147
  totalFees: bigint;
135
148
  totalManaUsed: bigint;
136
149
  };
137
- indexWithinCheckpoint: number;
150
+ indexWithinCheckpoint: IndexWithinCheckpoint;
138
151
  txHashes: `0x${string}`[];
139
152
  signature: `0x${string}`;
140
153
  } | undefined;
@@ -151,4 +164,4 @@ export declare class CheckpointProposal extends Gossipable {
151
164
  * This type makes it clear that lastBlock and getBlockProposal() are not available.
152
165
  */
153
166
  export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVDLHFCQUFhLHNCQUF1QixTQUFRLFFBQVE7SUFDbEQsWUFBWSxJQUFJLEVBQUUsTUFBTSxFQUV2QjtDQUNGO0FBRUQsTUFBTSxNQUFNLHlCQUF5QixHQUFHO0lBQ3RDLGNBQWMsRUFBRSxPQUFPLENBQUM7SUFDeEIsaUdBQWlHO0lBQ2pHLGtDQUFrQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQzlDLENBQUM7QUFFRixnRUFBZ0U7QUFDaEUsTUFBTSxNQUFNLHVCQUF1QixHQUFHO0lBQ3BDLGdFQUFnRTtJQUNoRSxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLGdHQUFnRztJQUNoRyxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIscURBQXFEO0lBQ3JELFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQiw2REFBNkQ7SUFDN0QsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7Q0FDWixDQUFDO0FBRUYsbURBQW1EO0FBQ25ELE1BQU0sTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLEdBQUc7SUFDdkUsd0ZBQXdGO0lBQ3hGLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckIsOEVBQThFO0lBQzlFLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztDQUN2QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHFCQUFhLGtCQUFtQixTQUFRLFVBQVU7YUFPOUIsZ0JBQWdCLEVBQUUsZ0JBQWdCO2FBR2xDLE9BQU8sRUFBRSxFQUFFO2FBR1gsU0FBUyxFQUFFLFNBQVM7YUFHcEIsU0FBUyxDQUFDO0lBZjVCLE9BQWdCLFFBQVEsWUFBaUM7SUFFekQsT0FBTyxDQUFDLE1BQU0sQ0FBeUI7SUFFdkM7SUFDRSxxREFBcUQ7SUFDckMsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBRWxELG9EQUFvRDtJQUNwQyxPQUFPLEVBQUUsRUFBRTtJQUUzQix3RkFBd0Y7SUFDeEUsU0FBUyxFQUFFLFNBQVM7SUFFcEMseUZBQXlGO0lBQ3pFLFNBQVMsQ0FBQyxpQ0FBcUIsRUFHaEQ7SUFFUSw0QkFBNEIsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBRXpEO0lBRUQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUUzQjtJQUVELElBQUksV0FBVyxJQUFJLFdBQVcsQ0FLN0I7SUFFRCxxREFBcUQ7SUFDckQsSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBRXZCO0lBRUQsZ0RBQWdEO0lBQ2hELElBQUksR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FFMUI7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0IsSUFBSSxhQUFhLEdBQUcsU0FBUyxDQWM1QztJQUVELFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQVc5QztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsR0FBRyxNQUFNLENBRWxFO0lBRUQsT0FBYSx3QkFBd0IsQ0FDbkMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFdBQVcsRUFBRSxFQUFFLEVBQ2YsYUFBYSxFQUFFLHVCQUF1QixHQUFHLFNBQVMsRUFDbEQsYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQ3ZELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQTRCN0I7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBbUJsQztJQUVELFVBQVUsNEJBRVQ7SUFFRCxRQUFRLElBQUksTUFBTSxDQXFCakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGtCQUFrQixDQWlDaEU7SUFFRCxPQUFPLElBQUksTUFBTSxDQW1CaEI7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGtCQUFrQixDQUVqQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksa0JBQWtCLENBT2xDO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQWNSO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxJQUFJLHNCQUFzQixDQUUvQjtDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxHQUFHLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxDQUFDIn0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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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
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 { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
11
  import { BlockHeader } from '../tx/block_header.js';
9
12
  import { TxHash } from '../tx/index.js';
@@ -82,10 +85,15 @@ export class CheckpointProposalHash extends Buffer32 {
82
85
  ]);
83
86
  }
84
87
  static async createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, payloadSigner) {
85
- // Sign the checkpoint payload
88
+ // Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
86
89
  const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, Signature.empty(), undefined);
87
90
  const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
88
- const checkpointSignature = await payloadSigner(checkpointHash);
91
+ const checkpointContext = {
92
+ slot: checkpointHeader.slotNumber,
93
+ blockNumber: lastBlockInfo?.blockHeader?.globalVariables.blockNumber ?? BlockNumber(0),
94
+ dutyType: DutyType.CHECKPOINT_PROPOSAL
95
+ };
96
+ const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
89
97
  if (!lastBlockInfo) {
90
98
  return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature);
91
99
  }
@@ -154,9 +162,13 @@ export class CheckpointProposalHash extends Buffer32 {
154
162
  const hasLastBlock = reader.readNumber();
155
163
  if (hasLastBlock) {
156
164
  const blockHeader = reader.readObject(BlockHeader);
157
- const indexWithinCheckpoint = reader.readNumber();
165
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
158
166
  const blockSignature = reader.readObject(Signature);
159
- const txHashes = reader.readArray(reader.readNumber(), TxHash);
167
+ const txHashCount = reader.readNumber();
168
+ if (txHashCount > MAX_TXS_PER_BLOCK) {
169
+ throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
170
+ }
171
+ const txHashes = reader.readArray(txHashCount, TxHash);
160
172
  let signedTxs;
161
173
  if (!reader.isEmpty()) {
162
174
  const hasSignedTxs = reader.readNumber();
@@ -187,7 +199,7 @@ export class CheckpointProposalHash extends Buffer32 {
187
199
  static random() {
188
200
  return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), Signature.random(), {
189
201
  blockHeader: BlockHeader.random(),
190
- indexWithinCheckpoint: Math.floor(Math.random() * 5),
202
+ indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
191
203
  txHashes: [
192
204
  TxHash.random(),
193
205
  TxHash.random()