@aztec/stdlib 0.0.1-commit.ee80a48 → 0.0.1-commit.f103f88

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 (672) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/authorization_selector.d.ts +3 -6
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/decoder.d.ts +6 -45
  10. package/dest/abi/decoder.d.ts.map +1 -1
  11. package/dest/abi/decoder.js +17 -70
  12. package/dest/abi/encoder.d.ts +1 -1
  13. package/dest/abi/encoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.js +37 -6
  15. package/dest/abi/event_metadata_definition.d.ts +3 -1
  16. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  17. package/dest/abi/event_metadata_definition.js +1 -1
  18. package/dest/abi/event_selector.d.ts +3 -6
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +39 -9
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_call.js +20 -3
  23. package/dest/abi/function_selector.d.ts +3 -6
  24. package/dest/abi/function_selector.d.ts.map +1 -1
  25. package/dest/abi/function_selector.js +2 -4
  26. package/dest/abi/function_signature_decoder.d.ts +43 -0
  27. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  28. package/dest/abi/function_signature_decoder.js +66 -0
  29. package/dest/abi/index.d.ts +2 -1
  30. package/dest/abi/index.d.ts.map +1 -1
  31. package/dest/abi/index.js +1 -0
  32. package/dest/abi/note_selector.d.ts +3 -6
  33. package/dest/abi/note_selector.d.ts.map +1 -1
  34. package/dest/abi/note_selector.js +1 -3
  35. package/dest/abi/selector.d.ts +2 -2
  36. package/dest/abi/selector.d.ts.map +1 -1
  37. package/dest/abi/selector.js +1 -1
  38. package/dest/abi/utils.d.ts +14 -1
  39. package/dest/abi/utils.d.ts.map +1 -1
  40. package/dest/abi/utils.js +15 -0
  41. package/dest/auth_witness/auth_witness.js +3 -3
  42. package/dest/avm/avm.d.ts +300 -300
  43. package/dest/avm/avm_proving_request.d.ts +166 -166
  44. package/dest/avm/revert_code.d.ts +9 -4
  45. package/dest/avm/revert_code.d.ts.map +1 -1
  46. package/dest/avm/revert_code.js +16 -21
  47. package/dest/aztec-address/index.d.ts +3 -6
  48. package/dest/aztec-address/index.d.ts.map +1 -1
  49. package/dest/aztec-address/index.js +2 -4
  50. package/dest/block/block_data.d.ts +52 -0
  51. package/dest/block/block_data.d.ts.map +1 -0
  52. package/dest/block/block_data.js +12 -0
  53. package/dest/block/block_hash.d.ts +11 -10
  54. package/dest/block/block_hash.d.ts.map +1 -1
  55. package/dest/block/block_hash.js +10 -9
  56. package/dest/block/in_block.js +1 -1
  57. package/dest/block/index.d.ts +2 -1
  58. package/dest/block/index.d.ts.map +1 -1
  59. package/dest/block/index.js +1 -0
  60. package/dest/block/l2_block.d.ts +9 -1
  61. package/dest/block/l2_block.d.ts.map +1 -1
  62. package/dest/block/l2_block.js +12 -2
  63. package/dest/block/l2_block_info.d.ts +6 -5
  64. package/dest/block/l2_block_info.d.ts.map +1 -1
  65. package/dest/block/l2_block_info.js +6 -5
  66. package/dest/block/l2_block_source.d.ts +113 -9
  67. package/dest/block/l2_block_source.d.ts.map +1 -1
  68. package/dest/block/l2_block_source.js +1 -0
  69. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  70. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  71. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  72. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  73. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  74. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  75. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  76. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  77. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  78. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  79. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  80. package/dest/checkpoint/checkpoint.d.ts +28 -7
  81. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  82. package/dest/checkpoint/checkpoint.js +41 -17
  83. package/dest/checkpoint/checkpoint_data.d.ts +186 -0
  84. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  85. package/dest/checkpoint/checkpoint_data.js +36 -0
  86. package/dest/checkpoint/index.d.ts +3 -1
  87. package/dest/checkpoint/index.d.ts.map +1 -1
  88. package/dest/checkpoint/index.js +2 -0
  89. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  90. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  91. package/dest/checkpoint/published_checkpoint.js +1 -2
  92. package/dest/checkpoint/validate.d.ts +36 -0
  93. package/dest/checkpoint/validate.d.ts.map +1 -0
  94. package/dest/checkpoint/validate.js +120 -0
  95. package/dest/config/chain-config.d.ts +1 -1
  96. package/dest/config/chain-config.d.ts.map +1 -1
  97. package/dest/config/chain-config.js +7 -1
  98. package/dest/config/index.d.ts +3 -1
  99. package/dest/config/index.d.ts.map +1 -1
  100. package/dest/config/index.js +2 -0
  101. package/dest/config/pipelining-config.d.ts +19 -0
  102. package/dest/config/pipelining-config.d.ts.map +1 -0
  103. package/dest/config/pipelining-config.js +18 -0
  104. package/dest/config/sequencer-config.d.ts +12 -0
  105. package/dest/config/sequencer-config.d.ts.map +1 -0
  106. package/dest/config/sequencer-config.js +31 -0
  107. package/dest/contract/contract_address.d.ts +3 -3
  108. package/dest/contract/contract_address.js +7 -7
  109. package/dest/contract/contract_class.d.ts +2 -3
  110. package/dest/contract/contract_class.d.ts.map +1 -1
  111. package/dest/contract/contract_class_id.d.ts +3 -3
  112. package/dest/contract/contract_class_id.d.ts.map +1 -1
  113. package/dest/contract/contract_class_id.js +7 -6
  114. package/dest/contract/index.d.ts +1 -3
  115. package/dest/contract/index.d.ts.map +1 -1
  116. package/dest/contract/index.js +0 -2
  117. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  118. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  119. package/dest/contract/interfaces/contract_class.js +1 -28
  120. package/dest/contract/interfaces/node-info.d.ts +3 -1
  121. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  122. package/dest/contract/interfaces/node-info.js +2 -1
  123. package/dest/contract/private_function.js +2 -2
  124. package/dest/epoch-helpers/index.d.ts +15 -1
  125. package/dest/epoch-helpers/index.d.ts.map +1 -1
  126. package/dest/epoch-helpers/index.js +18 -2
  127. package/dest/file-store/factory.d.ts +4 -3
  128. package/dest/file-store/factory.d.ts.map +1 -1
  129. package/dest/file-store/factory.js +2 -2
  130. package/dest/file-store/http.d.ts +9 -2
  131. package/dest/file-store/http.d.ts.map +1 -1
  132. package/dest/file-store/http.js +20 -9
  133. package/dest/file-store/index.d.ts +2 -1
  134. package/dest/file-store/index.d.ts.map +1 -1
  135. package/dest/file-store/local.d.ts +3 -3
  136. package/dest/file-store/local.d.ts.map +1 -1
  137. package/dest/file-store/local.js +13 -4
  138. package/dest/file-store/s3.d.ts +1 -1
  139. package/dest/file-store/s3.d.ts.map +1 -1
  140. package/dest/file-store/s3.js +11 -3
  141. package/dest/gas/fee_math.d.ts +49 -0
  142. package/dest/gas/fee_math.d.ts.map +1 -0
  143. package/dest/gas/fee_math.js +80 -0
  144. package/dest/gas/gas_fees.d.ts +1 -1
  145. package/dest/gas/gas_fees.d.ts.map +1 -1
  146. package/dest/gas/gas_fees.js +13 -1
  147. package/dest/gas/gas_settings.d.ts +40 -3
  148. package/dest/gas/gas_settings.d.ts.map +1 -1
  149. package/dest/gas/gas_settings.js +50 -6
  150. package/dest/gas/index.d.ts +2 -1
  151. package/dest/gas/index.d.ts.map +1 -1
  152. package/dest/gas/index.js +1 -0
  153. package/dest/ha-signing/config.d.ts +136 -0
  154. package/dest/ha-signing/config.d.ts.map +1 -0
  155. package/dest/ha-signing/config.js +97 -0
  156. package/dest/ha-signing/index.d.ts +4 -0
  157. package/dest/ha-signing/index.d.ts.map +1 -0
  158. package/dest/ha-signing/index.js +3 -0
  159. package/dest/ha-signing/local_config.d.ts +63 -0
  160. package/dest/ha-signing/local_config.d.ts.map +1 -0
  161. package/dest/ha-signing/local_config.js +24 -0
  162. package/dest/ha-signing/types.d.ts +90 -0
  163. package/dest/ha-signing/types.d.ts.map +1 -0
  164. package/dest/ha-signing/types.js +39 -0
  165. package/dest/hash/hash.d.ts +20 -1
  166. package/dest/hash/hash.d.ts.map +1 -1
  167. package/dest/hash/hash.js +45 -10
  168. package/dest/hash/map_slot.js +2 -2
  169. package/dest/interfaces/allowed_element.d.ts +26 -20
  170. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  171. package/dest/interfaces/allowed_element.js +8 -8
  172. package/dest/interfaces/archiver.d.ts +1 -1
  173. package/dest/interfaces/archiver.d.ts.map +1 -1
  174. package/dest/interfaces/archiver.js +10 -2
  175. package/dest/interfaces/aztec-node-admin.d.ts +123 -44
  176. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  177. package/dest/interfaces/aztec-node-admin.js +12 -6
  178. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  179. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  180. package/dest/interfaces/aztec-node-debug.js +18 -0
  181. package/dest/interfaces/aztec-node.d.ts +22 -7
  182. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  183. package/dest/interfaces/aztec-node.js +7 -2
  184. package/dest/interfaces/block-builder.d.ts +39 -12
  185. package/dest/interfaces/block-builder.d.ts.map +1 -1
  186. package/dest/interfaces/block-builder.js +13 -6
  187. package/dest/interfaces/client.d.ts +2 -1
  188. package/dest/interfaces/client.d.ts.map +1 -1
  189. package/dest/interfaces/client.js +1 -0
  190. package/dest/interfaces/configs.d.ts +77 -32
  191. package/dest/interfaces/configs.d.ts.map +1 -1
  192. package/dest/interfaces/configs.js +10 -3
  193. package/dest/interfaces/get_logs_response.d.ts +8 -1
  194. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  195. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  196. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  197. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  198. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  199. package/dest/interfaces/p2p.d.ts +4 -9
  200. package/dest/interfaces/p2p.d.ts.map +1 -1
  201. package/dest/interfaces/prover-broker.d.ts +16 -1
  202. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  203. package/dest/interfaces/prover-broker.js +4 -1
  204. package/dest/interfaces/prover-client.d.ts +11 -1
  205. package/dest/interfaces/prover-client.d.ts.map +1 -1
  206. package/dest/interfaces/prover-client.js +12 -4
  207. package/dest/interfaces/proving-job.d.ts +36 -36
  208. package/dest/interfaces/slasher.d.ts +9 -10
  209. package/dest/interfaces/slasher.d.ts.map +1 -1
  210. package/dest/interfaces/slasher.js +2 -2
  211. package/dest/interfaces/validator.d.ts +131 -60
  212. package/dest/interfaces/validator.d.ts.map +1 -1
  213. package/dest/interfaces/validator.js +11 -5
  214. package/dest/interfaces/world_state.d.ts +5 -4
  215. package/dest/interfaces/world_state.d.ts.map +1 -1
  216. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  217. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  218. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  219. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  220. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  221. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  222. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  223. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  224. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  225. package/dest/kernel/hints/index.d.ts +2 -2
  226. package/dest/kernel/hints/index.js +2 -2
  227. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  228. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  229. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  230. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  231. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  232. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  233. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  234. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  235. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  236. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  237. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  238. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  239. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  240. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  241. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  242. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  243. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  244. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  245. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  246. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  247. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  248. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  249. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  250. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  251. package/dest/kernel/private_validation_requests.d.ts +3 -3
  252. package/dest/kernel/private_validation_requests.js +9 -9
  253. package/dest/keys/derivation.js +8 -8
  254. package/dest/keys/key_types.d.ts +3 -3
  255. package/dest/keys/key_types.d.ts.map +1 -1
  256. package/dest/keys/public_keys.js +2 -2
  257. package/dest/keys/utils.js +5 -5
  258. package/dest/kv-store/config.d.ts +17 -0
  259. package/dest/kv-store/config.d.ts.map +1 -0
  260. package/dest/kv-store/config.js +26 -0
  261. package/dest/kv-store/index.d.ts +2 -0
  262. package/dest/kv-store/index.d.ts.map +1 -0
  263. package/dest/kv-store/index.js +1 -0
  264. package/dest/l1-contracts/index.d.ts +2 -2
  265. package/dest/l1-contracts/index.d.ts.map +1 -1
  266. package/dest/l1-contracts/index.js +1 -1
  267. package/dest/logs/debug_log_store.d.ts +30 -0
  268. package/dest/logs/debug_log_store.d.ts.map +1 -0
  269. package/dest/logs/debug_log_store.js +30 -0
  270. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  271. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  272. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  273. package/dest/logs/extended_public_log.d.ts +7 -1
  274. package/dest/logs/extended_public_log.d.ts.map +1 -1
  275. package/dest/logs/index.d.ts +4 -2
  276. package/dest/logs/index.d.ts.map +1 -1
  277. package/dest/logs/index.js +3 -1
  278. package/dest/logs/log_filter.d.ts +4 -1
  279. package/dest/logs/log_filter.d.ts.map +1 -1
  280. package/dest/logs/log_filter.js +2 -1
  281. package/dest/logs/log_id.d.ts +10 -7
  282. package/dest/logs/log_id.d.ts.map +1 -1
  283. package/dest/logs/log_id.js +16 -15
  284. package/dest/logs/message_context.d.ts +4 -7
  285. package/dest/logs/message_context.d.ts.map +1 -1
  286. package/dest/logs/message_context.js +23 -9
  287. package/dest/logs/pending_tagged_log.d.ts +2 -3
  288. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  289. package/dest/logs/pending_tagged_log.js +2 -2
  290. package/dest/logs/pre_tag.d.ts +16 -11
  291. package/dest/logs/pre_tag.d.ts.map +1 -1
  292. package/dest/logs/pre_tag.js +2 -2
  293. package/dest/logs/private_log.d.ts +2 -2
  294. package/dest/logs/private_log.d.ts.map +1 -1
  295. package/dest/logs/public_log.d.ts +4 -3
  296. package/dest/logs/public_log.d.ts.map +1 -1
  297. package/dest/logs/public_log.js +2 -1
  298. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  299. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  300. package/dest/logs/shared_secret_derivation.js +15 -9
  301. package/dest/logs/siloed_tag.d.ts +12 -9
  302. package/dest/logs/siloed_tag.d.ts.map +1 -1
  303. package/dest/logs/siloed_tag.js +16 -7
  304. package/dest/logs/tag.d.ts +5 -6
  305. package/dest/logs/tag.d.ts.map +1 -1
  306. package/dest/logs/tag.js +5 -1
  307. package/dest/logs/tagging_index_range.d.ts +40 -0
  308. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  309. package/dest/logs/tagging_index_range.js +8 -0
  310. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  311. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  312. package/dest/logs/tx_scoped_l2_log.js +7 -0
  313. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  314. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  315. package/dest/messaging/l1_to_l2_message.js +11 -13
  316. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  317. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  318. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  319. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  320. package/dest/messaging/l2_to_l1_membership.js +72 -29
  321. package/dest/noir/index.d.ts +3 -3
  322. package/dest/noir/index.d.ts.map +1 -1
  323. package/dest/note/index.d.ts +1 -2
  324. package/dest/note/index.d.ts.map +1 -1
  325. package/dest/note/index.js +0 -1
  326. package/dest/note/note_dao.d.ts +1 -1
  327. package/dest/note/note_dao.d.ts.map +1 -1
  328. package/dest/note/note_dao.js +1 -4
  329. package/dest/p2p/attestation_utils.d.ts +11 -1
  330. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  331. package/dest/p2p/attestation_utils.js +45 -0
  332. package/dest/p2p/block_proposal.d.ts +7 -9
  333. package/dest/p2p/block_proposal.d.ts.map +1 -1
  334. package/dest/p2p/block_proposal.js +6 -13
  335. package/dest/p2p/checkpoint_attestation.d.ts +5 -6
  336. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  337. package/dest/p2p/checkpoint_attestation.js +3 -8
  338. package/dest/p2p/checkpoint_proposal.d.ts +23 -18
  339. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  340. package/dest/p2p/checkpoint_proposal.js +32 -47
  341. package/dest/p2p/client_type.d.ts +2 -5
  342. package/dest/p2p/client_type.d.ts.map +1 -1
  343. package/dest/p2p/client_type.js +0 -7
  344. package/dest/p2p/consensus_payload.d.ts +12 -3
  345. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  346. package/dest/p2p/consensus_payload.js +22 -15
  347. package/dest/p2p/constants.d.ts +3 -1
  348. package/dest/p2p/constants.d.ts.map +1 -1
  349. package/dest/p2p/constants.js +1 -0
  350. package/dest/p2p/gossipable.d.ts +4 -4
  351. package/dest/p2p/gossipable.d.ts.map +1 -1
  352. package/dest/p2p/index.d.ts +1 -2
  353. package/dest/p2p/index.d.ts.map +1 -1
  354. package/dest/p2p/index.js +0 -1
  355. package/dest/p2p/peer_error.d.ts +3 -1
  356. package/dest/p2p/peer_error.d.ts.map +1 -1
  357. package/dest/p2p/peer_error.js +5 -0
  358. package/dest/p2p/topic_type.d.ts +3 -4
  359. package/dest/p2p/topic_type.d.ts.map +1 -1
  360. package/dest/p2p/topic_type.js +7 -24
  361. package/dest/proofs/chonk_proof.d.ts +46 -2
  362. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  363. package/dest/proofs/chonk_proof.js +85 -10
  364. package/dest/rollup/checkpoint_header.d.ts +2 -2
  365. package/dest/rollup/checkpoint_header.js +2 -2
  366. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  367. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  368. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  369. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  370. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  371. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  372. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  373. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  374. package/dest/slashing/helpers.d.ts +2 -2
  375. package/dest/slashing/helpers.d.ts.map +1 -1
  376. package/dest/slashing/helpers.js +6 -0
  377. package/dest/slashing/index.d.ts +2 -3
  378. package/dest/slashing/index.d.ts.map +1 -1
  379. package/dest/slashing/index.js +1 -2
  380. package/dest/slashing/serialization.d.ts +2 -6
  381. package/dest/slashing/serialization.d.ts.map +1 -1
  382. package/dest/slashing/serialization.js +0 -60
  383. package/dest/slashing/types.d.ts +10 -92
  384. package/dest/slashing/types.d.ts.map +1 -1
  385. package/dest/slashing/types.js +13 -15
  386. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  387. package/dest/slashing/votes.d.ts.map +1 -0
  388. package/dest/slashing/{tally.js → votes.js} +35 -3
  389. package/dest/tests/factories.d.ts +4 -4
  390. package/dest/tests/factories.d.ts.map +1 -1
  391. package/dest/tests/factories.js +32 -41
  392. package/dest/tests/mocks.d.ts +8 -3
  393. package/dest/tests/mocks.d.ts.map +1 -1
  394. package/dest/tests/mocks.js +44 -39
  395. package/dest/timetable/index.d.ts +87 -0
  396. package/dest/timetable/index.d.ts.map +1 -0
  397. package/dest/timetable/index.js +229 -0
  398. package/dest/trees/public_data_leaf.d.ts +2 -1
  399. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  400. package/dest/trees/public_data_leaf.js +7 -6
  401. package/dest/tx/block_header.d.ts +4 -2
  402. package/dest/tx/block_header.d.ts.map +1 -1
  403. package/dest/tx/block_header.js +7 -3
  404. package/dest/tx/capsule.d.ts +6 -2
  405. package/dest/tx/capsule.d.ts.map +1 -1
  406. package/dest/tx/capsule.js +9 -3
  407. package/dest/tx/fee_provider.d.ts +10 -0
  408. package/dest/tx/fee_provider.d.ts.map +1 -0
  409. package/dest/tx/fee_provider.js +1 -0
  410. package/dest/tx/global_variable_builder.d.ts +3 -4
  411. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  412. package/dest/tx/global_variables.d.ts +4 -4
  413. package/dest/tx/global_variables.d.ts.map +1 -1
  414. package/dest/tx/index.d.ts +2 -1
  415. package/dest/tx/index.d.ts.map +1 -1
  416. package/dest/tx/index.js +1 -0
  417. package/dest/tx/indexed_tx_effect.d.ts +1 -1
  418. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  419. package/dest/tx/indexed_tx_effect.js +1 -2
  420. package/dest/tx/private_execution_result.d.ts +6 -6
  421. package/dest/tx/private_execution_result.d.ts.map +1 -1
  422. package/dest/tx/private_execution_result.js +6 -6
  423. package/dest/tx/profiling.d.ts +17 -5
  424. package/dest/tx/profiling.d.ts.map +1 -1
  425. package/dest/tx/profiling.js +15 -5
  426. package/dest/tx/protocol_contracts.d.ts +1 -1
  427. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  428. package/dest/tx/protocol_contracts.js +2 -2
  429. package/dest/tx/public_simulation_output.d.ts +4 -2
  430. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  431. package/dest/tx/public_simulation_output.js +7 -3
  432. package/dest/tx/simulated_tx.d.ts +116 -5
  433. package/dest/tx/simulated_tx.d.ts.map +1 -1
  434. package/dest/tx/simulated_tx.js +7 -4
  435. package/dest/tx/tx.d.ts +8 -7
  436. package/dest/tx/tx.d.ts.map +1 -1
  437. package/dest/tx/tx.js +18 -6
  438. package/dest/tx/tx_receipt.d.ts +29 -6
  439. package/dest/tx/tx_receipt.d.ts.map +1 -1
  440. package/dest/tx/tx_receipt.js +23 -19
  441. package/dest/tx/tx_request.js +2 -2
  442. package/dest/tx/validator/empty_validator.d.ts +2 -2
  443. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  444. package/dest/tx/validator/error_texts.d.ts +10 -2
  445. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  446. package/dest/tx/validator/error_texts.js +11 -1
  447. package/dest/tx/validator/tx_validator.d.ts +2 -2
  448. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  449. package/dest/update-checker/index.d.ts +3 -2
  450. package/dest/update-checker/index.d.ts.map +1 -1
  451. package/dest/update-checker/index.js +2 -1
  452. package/dest/update-checker/package_version.d.ts +3 -0
  453. package/dest/update-checker/package_version.d.ts.map +1 -0
  454. package/dest/update-checker/package_version.js +24 -0
  455. package/dest/update-checker/version_checker.d.ts +25 -0
  456. package/dest/update-checker/version_checker.d.ts.map +1 -0
  457. package/dest/update-checker/version_checker.js +50 -0
  458. package/dest/validators/errors.d.ts +6 -1
  459. package/dest/validators/errors.d.ts.map +1 -1
  460. package/dest/validators/errors.js +7 -0
  461. package/dest/validators/schemas.d.ts +30 -30
  462. package/dest/validators/schemas.d.ts.map +1 -1
  463. package/dest/validators/schemas.js +4 -3
  464. package/dest/validators/types.d.ts +3 -3
  465. package/dest/validators/types.d.ts.map +1 -1
  466. package/dest/versioning/versioning.d.ts +4 -2
  467. package/dest/versioning/versioning.d.ts.map +1 -1
  468. package/dest/versioning/versioning.js +4 -1
  469. package/dest/world-state/genesis_data.d.ts +11 -0
  470. package/dest/world-state/genesis_data.d.ts.map +1 -0
  471. package/dest/world-state/genesis_data.js +4 -0
  472. package/dest/world-state/index.d.ts +2 -1
  473. package/dest/world-state/index.d.ts.map +1 -1
  474. package/dest/world-state/index.js +1 -0
  475. package/package.json +24 -12
  476. package/src/abi/abi.ts +25 -2
  477. package/src/abi/authorization_selector.ts +2 -8
  478. package/src/abi/buffer.ts +25 -4
  479. package/src/abi/decoder.ts +36 -82
  480. package/src/abi/encoder.ts +49 -6
  481. package/src/abi/event_metadata_definition.ts +2 -0
  482. package/src/abi/event_selector.ts +2 -8
  483. package/src/abi/function_call.ts +25 -3
  484. package/src/abi/function_selector.ts +4 -13
  485. package/src/abi/function_signature_decoder.ts +77 -0
  486. package/src/abi/index.ts +1 -0
  487. package/src/abi/note_selector.ts +3 -12
  488. package/src/abi/selector.ts +1 -1
  489. package/src/abi/utils.ts +25 -0
  490. package/src/auth_witness/auth_witness.ts +3 -3
  491. package/src/avm/revert_code.ts +26 -25
  492. package/src/aztec-address/index.ts +4 -10
  493. package/src/block/block_data.ts +25 -0
  494. package/src/block/block_hash.ts +21 -14
  495. package/src/block/in_block.ts +1 -1
  496. package/src/block/index.ts +1 -0
  497. package/src/block/l2_block.ts +13 -1
  498. package/src/block/l2_block_info.ts +8 -6
  499. package/src/block/l2_block_source.ts +47 -8
  500. package/src/block/l2_block_stream/interfaces.ts +6 -2
  501. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  502. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  503. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  504. package/src/checkpoint/checkpoint.ts +54 -17
  505. package/src/checkpoint/checkpoint_data.ts +87 -0
  506. package/src/checkpoint/index.ts +2 -0
  507. package/src/checkpoint/published_checkpoint.ts +3 -1
  508. package/src/checkpoint/validate.ts +230 -0
  509. package/src/config/chain-config.ts +7 -1
  510. package/src/config/index.ts +2 -0
  511. package/src/config/pipelining-config.ts +31 -0
  512. package/src/config/sequencer-config.ts +47 -0
  513. package/src/contract/contract_address.ts +7 -7
  514. package/src/contract/contract_class.ts +3 -3
  515. package/src/contract/contract_class_id.ts +7 -6
  516. package/src/contract/index.ts +0 -2
  517. package/src/contract/interfaces/contract_class.ts +2 -82
  518. package/src/contract/interfaces/node-info.ts +3 -0
  519. package/src/contract/private_function.ts +2 -2
  520. package/src/epoch-helpers/index.ts +30 -0
  521. package/src/file-store/factory.ts +13 -4
  522. package/src/file-store/http.ts +29 -10
  523. package/src/file-store/index.ts +1 -0
  524. package/src/file-store/local.ts +15 -5
  525. package/src/file-store/s3.ts +12 -3
  526. package/src/gas/README.md +154 -0
  527. package/src/gas/fee_math.ts +120 -0
  528. package/src/gas/gas_fees.ts +15 -1
  529. package/src/gas/gas_settings.ts +65 -12
  530. package/src/gas/index.ts +1 -0
  531. package/src/ha-signing/config.ts +156 -0
  532. package/src/ha-signing/index.ts +29 -0
  533. package/src/ha-signing/local_config.ts +46 -0
  534. package/src/ha-signing/types.ts +126 -0
  535. package/src/hash/hash.ts +48 -10
  536. package/src/hash/map_slot.ts +2 -2
  537. package/src/interfaces/allowed_element.ts +29 -9
  538. package/src/interfaces/archiver.ts +10 -2
  539. package/src/interfaces/aztec-node-admin.ts +28 -7
  540. package/src/interfaces/aztec-node-debug.ts +40 -0
  541. package/src/interfaces/aztec-node.ts +40 -6
  542. package/src/interfaces/block-builder.ts +61 -14
  543. package/src/interfaces/client.ts +1 -0
  544. package/src/interfaces/configs.ts +36 -8
  545. package/src/interfaces/l2_logs_source.ts +4 -1
  546. package/src/interfaces/merkle_tree_operations.ts +12 -21
  547. package/src/interfaces/p2p.ts +3 -14
  548. package/src/interfaces/prover-broker.ts +22 -0
  549. package/src/interfaces/prover-client.ts +17 -5
  550. package/src/interfaces/slasher.ts +4 -6
  551. package/src/interfaces/validator.ts +71 -36
  552. package/src/interfaces/world_state.ts +4 -3
  553. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  554. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  555. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  556. package/src/kernel/hints/index.ts +2 -2
  557. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  558. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  559. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  560. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  561. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  562. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  563. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  564. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  565. package/src/kernel/private_validation_requests.ts +8 -8
  566. package/src/keys/derivation.ts +8 -8
  567. package/src/keys/key_types.ts +6 -2
  568. package/src/keys/public_keys.ts +2 -2
  569. package/src/keys/utils.ts +5 -5
  570. package/src/kv-store/config.ts +36 -0
  571. package/src/kv-store/index.ts +1 -0
  572. package/src/l1-contracts/index.ts +1 -1
  573. package/src/logs/debug_log_store.ts +54 -0
  574. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  575. package/src/logs/index.ts +3 -1
  576. package/src/logs/log_filter.ts +5 -0
  577. package/src/logs/log_id.ts +16 -14
  578. package/src/logs/message_context.ts +17 -7
  579. package/src/logs/pending_tagged_log.ts +1 -3
  580. package/src/logs/pre_tag.ts +5 -5
  581. package/src/logs/public_log.ts +4 -2
  582. package/src/logs/shared_secret_derivation.ts +21 -10
  583. package/src/logs/siloed_tag.ts +23 -14
  584. package/src/logs/tag.ts +9 -9
  585. package/src/logs/tagging_index_range.ts +24 -0
  586. package/src/logs/tx_scoped_l2_log.ts +16 -0
  587. package/src/messaging/l1_to_l2_message.ts +12 -9
  588. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  589. package/src/messaging/l2_to_l1_membership.ts +101 -36
  590. package/src/noir/index.ts +2 -2
  591. package/src/note/index.ts +0 -1
  592. package/src/note/note_dao.ts +1 -4
  593. package/src/p2p/attestation_utils.ts +56 -0
  594. package/src/p2p/block_proposal.ts +14 -12
  595. package/src/p2p/checkpoint_attestation.ts +11 -10
  596. package/src/p2p/checkpoint_proposal.ts +63 -60
  597. package/src/p2p/client_type.ts +0 -6
  598. package/src/p2p/consensus_payload.ts +25 -12
  599. package/src/p2p/constants.ts +3 -0
  600. package/src/p2p/gossipable.ts +4 -4
  601. package/src/p2p/index.ts +0 -1
  602. package/src/p2p/peer_error.ts +7 -0
  603. package/src/p2p/topic_type.ts +8 -15
  604. package/src/proofs/chonk_proof.ts +91 -5
  605. package/src/rollup/checkpoint_header.ts +2 -2
  606. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  607. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  608. package/src/slashing/helpers.ts +8 -0
  609. package/src/slashing/index.ts +1 -2
  610. package/src/slashing/serialization.ts +1 -81
  611. package/src/slashing/types.ts +17 -35
  612. package/src/slashing/{tally.ts → votes.ts} +41 -2
  613. package/src/tests/factories.ts +31 -51
  614. package/src/tests/mocks.ts +60 -30
  615. package/src/timetable/index.ts +346 -0
  616. package/src/trees/public_data_leaf.ts +11 -5
  617. package/src/tx/block_header.ts +10 -4
  618. package/src/tx/capsule.ts +10 -2
  619. package/src/tx/fee_provider.ts +10 -0
  620. package/src/tx/global_variable_builder.ts +2 -3
  621. package/src/tx/global_variables.ts +3 -3
  622. package/src/tx/index.ts +1 -0
  623. package/src/tx/indexed_tx_effect.ts +1 -2
  624. package/src/tx/private_execution_result.ts +5 -5
  625. package/src/tx/profiling.ts +14 -5
  626. package/src/tx/protocol_contracts.ts +2 -2
  627. package/src/tx/public_simulation_output.ts +4 -0
  628. package/src/tx/simulated_tx.ts +14 -3
  629. package/src/tx/tx.ts +22 -13
  630. package/src/tx/tx_receipt.ts +28 -16
  631. package/src/tx/tx_request.ts +2 -2
  632. package/src/tx/validator/empty_validator.ts +1 -1
  633. package/src/tx/validator/error_texts.ts +13 -1
  634. package/src/tx/validator/tx_validator.ts +1 -1
  635. package/src/update-checker/index.ts +2 -1
  636. package/src/update-checker/package_version.ts +30 -0
  637. package/src/update-checker/version_checker.ts +65 -0
  638. package/src/validators/errors.ts +9 -0
  639. package/src/validators/schemas.ts +8 -1
  640. package/src/validators/types.ts +5 -4
  641. package/src/versioning/versioning.ts +4 -1
  642. package/src/world-state/genesis_data.ts +15 -0
  643. package/src/world-state/index.ts +1 -0
  644. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  645. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  646. package/dest/contract/private_function_membership_proof.js +0 -124
  647. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  648. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  649. package/dest/contract/utility_function_membership_proof.js +0 -87
  650. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  651. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  652. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  653. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  654. package/dest/l1-contracts/slash_factory.js +0 -158
  655. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  656. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  657. package/dest/note/notes_filter.d.ts +0 -27
  658. package/dest/note/notes_filter.d.ts.map +0 -1
  659. package/dest/note/notes_filter.js +0 -11
  660. package/dest/slashing/empire.d.ts +0 -31
  661. package/dest/slashing/empire.d.ts.map +0 -1
  662. package/dest/slashing/empire.js +0 -85
  663. package/dest/slashing/tally.d.ts.map +0 -1
  664. package/dest/update-checker/update-checker.d.ts +0 -49
  665. package/dest/update-checker/update-checker.d.ts.map +0 -1
  666. package/dest/update-checker/update-checker.js +0 -130
  667. package/src/contract/private_function_membership_proof.ts +0 -167
  668. package/src/contract/utility_function_membership_proof.ts +0 -118
  669. package/src/l1-contracts/slash_factory.ts +0 -180
  670. package/src/note/notes_filter.ts +0 -38
  671. package/src/slashing/empire.ts +0 -102
  672. package/src/update-checker/update-checker.ts +0 -166
@@ -19,3 +19,48 @@ import { CommitteeAttestation } from '../block/index.js';
19
19
  });
20
20
  return orderedAttestations;
21
21
  }
22
+ /**
23
+ * Trims attestations to the minimum required number to save L1 calldata gas.
24
+ * Each signature costs 65 bytes of calldata vs 20 bytes for just an address.
25
+ *
26
+ * Priority order for keeping attestations:
27
+ * 1. The proposer's attestation (required by L1 contract - MissingProposerSignature revert)
28
+ * 2. Attestations from the local node's validator keys
29
+ * 3. Remaining attestations filled to reach the required count
30
+ */ export function trimAttestations(attestations, required, proposerAddress, localAddresses) {
31
+ if (attestations.length <= required) {
32
+ return attestations;
33
+ }
34
+ const proposerAttestation = [];
35
+ const localAttestations = [];
36
+ const otherAttestations = [];
37
+ for (const attestation of attestations){
38
+ const sender = attestation.getSender();
39
+ if (!sender) {
40
+ continue;
41
+ }
42
+ if (sender.equals(proposerAddress)) {
43
+ proposerAttestation.push(attestation);
44
+ } else if (localAddresses.some((addr)=>addr.equals(sender))) {
45
+ localAttestations.push(attestation);
46
+ } else {
47
+ otherAttestations.push(attestation);
48
+ }
49
+ }
50
+ const result = [
51
+ ...proposerAttestation
52
+ ];
53
+ for (const att of localAttestations){
54
+ if (result.length >= required) {
55
+ break;
56
+ }
57
+ result.push(att);
58
+ }
59
+ for (const att of otherAttestations){
60
+ if (result.length >= required) {
61
+ break;
62
+ }
63
+ result.push(att);
64
+ }
65
+ return result;
66
+ }
@@ -1,12 +1,12 @@
1
- import { BlockNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { BlockNumber, type CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { type BaseBuffer32, 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';
8
7
  import type { L2Block } from '../block/l2_block.js';
9
8
  import type { L2BlockInfo } from '../block/l2_block_info.js';
9
+ import { type SigningContext } from '../ha-signing/index.js';
10
10
  import { BlockHeader } from '../tx/block_header.js';
11
11
  import { TxHash } from '../tx/index.js';
12
12
  import type { Tx } from '../tx/tx.js';
@@ -14,9 +14,7 @@ import { Gossipable } from './gossipable.js';
14
14
  import { SignatureDomainSeparator } from './signature_utils.js';
15
15
  import { SignedTxs } from './signed_txs.js';
16
16
  import { TopicType } from './topic_type.js';
17
- export declare class BlockProposalHash extends Buffer32 {
18
- constructor(hash: Buffer);
19
- }
17
+ export type { BlockProposalHash } from '@aztec/foundation/branded-types';
20
18
  export type BlockProposalOptions = {
21
19
  /**
22
20
  * Whether to include the tx objects along with the block proposal.
@@ -66,7 +64,7 @@ export declare class BlockProposal extends Gossipable {
66
64
  signature: Signature,
67
65
  /** The signed transactions in the block (optional, for DA guarantees) */
68
66
  signedTxs?: SignedTxs | undefined);
69
- generateP2PMessageIdentifier(): Promise<Buffer32>;
67
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
70
68
  get archive(): Fr;
71
69
  get slotNumber(): SlotNumber;
72
70
  get blockNumber(): BlockNumber;
@@ -78,7 +76,7 @@ export declare class BlockProposal extends Gossipable {
78
76
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
79
77
  */
80
78
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
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>;
79
+ static createProposalFromSigner(blockHeader: BlockHeader, checkpointNumber: CheckpointNumber, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
82
80
  /**
83
81
  * Lazily evaluate the sender of the proposal; result is cached.
84
82
  * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
@@ -134,4 +132,4 @@ export declare class BlockProposal extends Gossipable {
134
132
  */
135
133
  withoutSignedTxs(): BlockProposal;
136
134
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBWSxLQUFLLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpGLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSxpQkFBa0IsU0FBUSxRQUFRO0lBQzdDLFlB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
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxLQUFLLGdCQUFnQixFQUNyQixxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHdCQUF3QixFQUd6QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFF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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,23 +1,17 @@
1
- import { IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { BlockProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
3
2
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
4
3
  import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
5
4
  import { Fr } from '@aztec/foundation/curves/bn254';
6
5
  import { Signature } from '@aztec/foundation/eth-signature';
7
6
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
8
- import { DutyType } from '@aztec/validator-ha-signer/types';
9
7
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
8
+ import { DutyType } from '../ha-signing/index.js';
10
9
  import { BlockHeader } from '../tx/block_header.js';
11
10
  import { TxHash } from '../tx/index.js';
12
11
  import { Gossipable } from './gossipable.js';
13
12
  import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
14
13
  import { SignedTxs } from './signed_txs.js';
15
14
  import { TopicType } from './topic_type.js';
16
- export class BlockProposalHash extends Buffer32 {
17
- constructor(hash){
18
- super(hash);
19
- }
20
- }
21
15
  /**
22
16
  * A block proposal is created by the leader of the chain proposing a sequence of transactions
23
17
  * to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
@@ -32,13 +26,11 @@ export class BlockProposalHash extends Buffer32 {
32
26
  signedTxs;
33
27
  static p2pTopic = TopicType.block_proposal;
34
28
  sender;
35
- 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?
36
- // 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.
37
- /** 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){
29
+ 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){
38
30
  super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
39
31
  }
40
32
  generateP2PMessageIdentifier() {
41
- return Promise.resolve(new BlockProposalHash(keccak256(this.signature.toBuffer())));
33
+ return Promise.resolve(BlockProposalHash.fromBuffer(keccak256(this.signature.toBuffer())));
42
34
  }
43
35
  get archive() {
44
36
  return this.archiveRoot;
@@ -75,13 +67,14 @@ export class BlockProposalHash extends Buffer32 {
75
67
  this.txHashes
76
68
  ]);
77
69
  }
78
- static async createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
70
+ static async createProposalFromSigner(blockHeader, checkpointNumber, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
79
71
  // Create a temporary proposal to get the payload to sign
80
72
  const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty());
81
73
  // Create the block signing context
82
74
  const blockContext = {
83
75
  slot: blockHeader.globalVariables.slotNumber,
84
76
  blockNumber: blockHeader.globalVariables.blockNumber,
77
+ checkpointNumber,
85
78
  blockIndexWithinCheckpoint: indexWithinCheckpoint,
86
79
  dutyType: DutyType.BLOCK_PROPOSAL
87
80
  };
@@ -1,5 +1,5 @@
1
1
  import { SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
2
+ import type { BaseBuffer32 } from '@aztec/foundation/buffer';
3
3
  import type { 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';
@@ -8,9 +8,7 @@ import type { ZodFor } from '../schemas/index.js';
8
8
  import { ConsensusPayload } from './consensus_payload.js';
9
9
  import { Gossipable } from './gossipable.js';
10
10
  import { TopicType } from './topic_type.js';
11
- export declare class CheckpointAttestationHash extends Buffer32 {
12
- constructor(hash: Buffer);
13
- }
11
+ export type { CheckpointAttestationHash } from '@aztec/foundation/branded-types';
14
12
  /**
15
13
  * CheckpointAttestation
16
14
  *
@@ -35,7 +33,7 @@ export declare class CheckpointAttestation extends Gossipable {
35
33
  /** The signature from the checkpoint proposer */
36
34
  proposerSignature: Signature);
37
35
  static get schema(): ZodFor<CheckpointAttestation>;
38
- generateP2PMessageIdentifier(): Promise<Buffer32>;
36
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
39
37
  get archive(): Fr;
40
38
  get slotNumber(): SlotNumber;
41
39
  /**
@@ -73,9 +71,10 @@ export declare class CheckpointAttestation extends Gossipable {
73
71
  totalManaUsed: bigint;
74
72
  };
75
73
  archive: `0x${string}`;
74
+ feeAssetPriceModifier: string;
76
75
  };
77
76
  signature: `0x${string}`;
78
77
  proposerSignature: `0x${string}`;
79
78
  };
80
79
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTtJQU9qRCxpRUFBaUU7YUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7YUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO2FBQ2pDLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBV3BDO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT25FO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUVyQztJQUVELE9BQU8sSUFBSSxNQUFNLENBRWhCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRjs7Ozs7R0FLRztBQUNILHFCQUFhLHFCQUFzQixTQUFRLFVBQVU7SUFPakQsaUVBQWlFO2FBQ2pELE9BQU8sRUFBRSxnQkFBZ0I7SUFFekMsK0NBQStDO2FBQy9CLFNBQVMsRUFBRSxTQUFTO0lBRXBDLGlEQUFpRDthQUNqQyxpQkFBaUIsRUFBRSxTQUFTO0lBYjlDLE9BQWdCLFFBQVEsWUFBb0M7SUFFNUQsT0FBTyxDQUFDLE1BQU0sQ0FBeUI7SUFDdkMsT0FBTyxDQUFDLFFBQVEsQ0FBeUI7SUFFekM7SUFDRSxpRUFBaUU7SUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7SUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO0lBQ2pDLGlCQUFpQixFQUFFLFNBQVMsRUFHN0M7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQVFqRDtJQUVRLDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFN0Q7SUFFRCxJQUFJLE9BQU8sSUFBSSxFQUFFLENBRWhCO0lBRUQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUUzQjtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQVlsQztJQUVEOzs7T0FHRztJQUNILFdBQVcsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQWdCcEM7SUFFRCxVQUFVLElBQUksTUFBTSxDQUVuQjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsQ0FPbkU7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUVwQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBRXJDO0lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FFaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==
@@ -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;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
+ {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,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,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF;;;;;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,YAAY,CAAC,CAE7D;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"}
@@ -1,4 +1,4 @@
1
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { CheckpointAttestationHash } from '@aztec/foundation/branded-types';
2
2
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
3
  import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
4
4
  import { Signature } from '@aztec/foundation/eth-signature';
@@ -9,11 +9,6 @@ import { ConsensusPayload } from './consensus_payload.js';
9
9
  import { Gossipable } from './gossipable.js';
10
10
  import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
11
11
  import { TopicType } from './topic_type.js';
12
- export class CheckpointAttestationHash extends Buffer32 {
13
- constructor(hash){
14
- super(hash);
15
- }
16
- }
17
12
  /**
18
13
  * CheckpointAttestation
19
14
  *
@@ -37,7 +32,7 @@ export class CheckpointAttestationHash extends Buffer32 {
37
32
  }).transform((obj)=>new CheckpointAttestation(obj.payload, obj.signature, obj.proposerSignature));
38
33
  }
39
34
  generateP2PMessageIdentifier() {
40
- return Promise.resolve(new CheckpointAttestationHash(keccak256(this.signature.toBuffer())));
35
+ return Promise.resolve(CheckpointAttestationHash.fromBuffer(keccak256(this.signature.toBuffer())));
41
36
  }
42
37
  get archive() {
43
38
  return this.payload.archive;
@@ -65,7 +60,7 @@ export class CheckpointAttestationHash extends Buffer32 {
65
60
  // Create a temporary CheckpointProposal to recover the proposer address.
66
61
  // We need to use CheckpointProposal because it has a different getPayloadToSign()
67
62
  // implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
68
- const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.proposerSignature);
63
+ const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.payload.feeAssetPriceModifier, this.proposerSignature);
69
64
  // Cache the proposer for later use
70
65
  this.proposer = proposal.getSender();
71
66
  }
@@ -1,11 +1,11 @@
1
- import { BlockNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { type CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { type BaseBuffer32, 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';
8
7
  import type { L2BlockInfo } from '../block/l2_block_info.js';
8
+ import { type SigningContext } from '../ha-signing/index.js';
9
9
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
10
10
  import { BlockHeader } from '../tx/block_header.js';
11
11
  import { TxHash } from '../tx/index.js';
@@ -15,9 +15,7 @@ import { Gossipable } from './gossipable.js';
15
15
  import { SignatureDomainSeparator } from './signature_utils.js';
16
16
  import { SignedTxs } from './signed_txs.js';
17
17
  import { TopicType } from './topic_type.js';
18
- export declare class CheckpointProposalHash extends Buffer32 {
19
- constructor(hash: Buffer);
20
- }
18
+ export type { CheckpointProposalHash } from '@aztec/foundation/branded-types';
21
19
  export type CheckpointProposalOptions = {
22
20
  /**
23
21
  * Whether to include the tx objects along with the block proposal.
@@ -58,7 +56,9 @@ export declare class CheckpointProposal extends Gossipable {
58
56
  readonly checkpointHeader: CheckpointHeader;
59
57
  /** Archive root after this checkpoint is applied */
60
58
  readonly archive: Fr;
61
- /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */
59
+ /** The fee asset price modifier in basis points (from oracle) */
60
+ readonly feeAssetPriceModifier: bigint;
61
+ /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
62
62
  readonly signature: Signature;
63
63
  /** Optional last block info, including its own signature for BlockProposal extraction */
64
64
  readonly lastBlock?: CheckpointLastBlock | undefined;
@@ -69,29 +69,33 @@ export declare class CheckpointProposal extends Gossipable {
69
69
  checkpointHeader: CheckpointHeader,
70
70
  /** Archive root after this checkpoint is applied */
71
71
  archive: Fr,
72
- /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */
72
+ /** The fee asset price modifier in basis points (from oracle) */
73
+ feeAssetPriceModifier: bigint,
74
+ /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
73
75
  signature: Signature,
74
76
  /** Optional last block info, including its own signature for BlockProposal extraction */
75
77
  lastBlock?: CheckpointLastBlock | undefined);
76
- generateP2PMessageIdentifier(): Promise<Buffer32>;
78
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
77
79
  get slotNumber(): SlotNumber;
78
- get blockNumber(): BlockNumber;
79
- /** Convenience getter for txHashes from lastBlock */
80
- get txHashes(): TxHash[];
81
- /** Convenience getter for txs from lastBlock */
82
- get txs(): Tx[] | undefined;
83
80
  /**
84
81
  * Extract a BlockProposal from the last block info.
85
82
  * Uses inHash from checkpointHeader.contentCommitment.inHash
86
83
  */
87
84
  getBlockProposal(): BlockProposal | undefined;
88
85
  toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'>;
86
+ toCheckpointInfo(): {
87
+ slotNumber: SlotNumber;
88
+ archive: Fr;
89
+ lastBlockNumber: import("@aztec/foundation/branded-types").BlockNumber | undefined;
90
+ lastBlockIndex: IndexWithinCheckpoint | undefined;
91
+ blockHeadersHash: Fr;
92
+ };
89
93
  /**
90
94
  * Get the payload to sign for this checkpoint proposal.
91
- * The signature is over the checkpoint header + archive root (for consensus).
95
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
92
96
  */
93
97
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
94
- static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
98
+ static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, checkpointNumber: CheckpointNumber, feeAssetPriceModifier: bigint, lastBlockProposal: BlockProposal | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
95
99
  /**
96
100
  * Lazily evaluate the sender of the proposal; result is cached.
97
101
  * If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
@@ -123,6 +127,7 @@ export declare class CheckpointProposal extends Gossipable {
123
127
  };
124
128
  archive: `0x${string}`;
125
129
  signature: `0x${string}`;
130
+ feeAssetPriceModifier: string;
126
131
  lastBlock: {
127
132
  blockHeader: {
128
133
  lastArchive: `0x${string}`;
@@ -136,7 +141,7 @@ export declare class CheckpointProposal extends Gossipable {
136
141
  globalVariables: {
137
142
  chainId: number;
138
143
  version: number;
139
- blockNumber: BlockNumber;
144
+ blockNumber: import("@aztec/foundation/branded-types").BlockNumber;
140
145
  slotNumber: SlotNumber;
141
146
  timestamp: bigint;
142
147
  coinbase: `0x${string}`;
@@ -164,4 +169,4 @@ export declare class CheckpointProposal extends Gossipable {
164
169
  * This type makes it clear that lastBlock and getBlockProposal() are not available.
165
170
  */
166
171
  export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUVyQixxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMs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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,12 +1,11 @@
1
- import { BlockNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { CheckpointProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
3
2
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
4
3
  import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
5
4
  import { Fr } from '@aztec/foundation/curves/bn254';
6
5
  import { Signature } from '@aztec/foundation/eth-signature';
7
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
8
- import { DutyType } from '@aztec/validator-ha-signer/types';
6
+ import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
9
7
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
8
+ import { DutyType } from '../ha-signing/index.js';
10
9
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
11
10
  import { BlockHeader } from '../tx/block_header.js';
12
11
  import { TxHash } from '../tx/index.js';
@@ -15,12 +14,6 @@ import { Gossipable } from './gossipable.js';
15
14
  import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
16
15
  import { SignedTxs } from './signed_txs.js';
17
16
  import { TopicType } from './topic_type.js';
18
- // REFACTOR(palla): Use a branded type instead of a subclass of Buffer32
19
- export class CheckpointProposalHash extends Buffer32 {
20
- constructor(hash){
21
- super(hash);
22
- }
23
- }
24
17
  /**
25
18
  * A checkpoint proposal is created by the leader of the chain for the last block in a checkpoint.
26
19
  * It includes the aggregated checkpoint header that validators will attest to, plus optionally
@@ -28,31 +21,20 @@ export class CheckpointProposalHash extends Buffer32 {
28
21
  */ export class CheckpointProposal extends Gossipable {
29
22
  checkpointHeader;
30
23
  archive;
24
+ feeAssetPriceModifier;
31
25
  signature;
32
26
  lastBlock;
33
27
  static p2pTopic = TopicType.checkpoint_proposal;
34
28
  sender;
35
- constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
36
- super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.signature = signature, this.lastBlock = lastBlock;
29
+ constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The fee asset price modifier in basis points (from oracle) */ feeAssetPriceModifier, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
30
+ super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.feeAssetPriceModifier = feeAssetPriceModifier, this.signature = signature, this.lastBlock = lastBlock;
37
31
  }
38
32
  generateP2PMessageIdentifier() {
39
- return Promise.resolve(new CheckpointProposalHash(keccak256(this.signature.toBuffer())));
33
+ return Promise.resolve(CheckpointProposalHash.fromBuffer(keccak256(this.signature.toBuffer())));
40
34
  }
41
35
  get slotNumber() {
42
36
  return this.checkpointHeader.slotNumber;
43
37
  }
44
- get blockNumber() {
45
- if (!this.lastBlock) {
46
- throw new Error('Cannot get blockNumber without lastBlock');
47
- }
48
- return this.lastBlock.blockHeader.getBlockNumber();
49
- }
50
- /** Convenience getter for txHashes from lastBlock */ get txHashes() {
51
- return this.lastBlock?.txHashes ?? [];
52
- }
53
- /** Convenience getter for txs from lastBlock */ get txs() {
54
- return this.lastBlock?.signedTxs?.txs;
55
- }
56
38
  /**
57
39
  * Extract a BlockProposal from the last block info.
58
40
  * Uses inHash from checkpointHeader.contentCommitment.inHash
@@ -74,37 +56,37 @@ export class CheckpointProposalHash extends Buffer32 {
74
56
  txCount: this.lastBlock.txHashes.length
75
57
  };
76
58
  }
59
+ toCheckpointInfo() {
60
+ return {
61
+ slotNumber: this.slotNumber,
62
+ archive: this.archive,
63
+ lastBlockNumber: this.lastBlock?.blockHeader.getBlockNumber(),
64
+ lastBlockIndex: this.lastBlock?.indexWithinCheckpoint,
65
+ blockHeadersHash: this.checkpointHeader.blockHeadersHash
66
+ };
67
+ }
77
68
  /**
78
69
  * Get the payload to sign for this checkpoint proposal.
79
- * The signature is over the checkpoint header + archive root (for consensus).
70
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
80
71
  */ getPayloadToSign(domainSeparator) {
81
72
  return serializeToBuffer([
82
73
  domainSeparator,
83
74
  this.checkpointHeader,
84
- this.archive
75
+ this.archive,
76
+ serializeSignedBigInt(this.feeAssetPriceModifier)
85
77
  ]);
86
78
  }
87
- static async createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, payloadSigner) {
79
+ static async createProposalFromSigner(checkpointHeader, archiveRoot, checkpointNumber, feeAssetPriceModifier, lastBlockProposal, payloadSigner) {
88
80
  // Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
89
- const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, Signature.empty(), undefined);
81
+ const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
90
82
  const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
91
83
  const checkpointContext = {
92
84
  slot: checkpointHeader.slotNumber,
93
- blockNumber: lastBlockInfo?.blockHeader?.globalVariables.blockNumber ?? BlockNumber(0),
85
+ checkpointNumber,
94
86
  dutyType: DutyType.CHECKPOINT_PROPOSAL
95
87
  };
96
88
  const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
97
- if (!lastBlockInfo) {
98
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature);
99
- }
100
- const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
101
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature, {
102
- blockHeader: lastBlockInfo.blockHeader,
103
- indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
104
- txHashes: lastBlockInfo.txHashes,
105
- signature: lastBlockProposal.signature,
106
- signedTxs: lastBlockProposal.signedTxs
107
- });
89
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, lastBlockProposal);
108
90
  }
109
91
  /**
110
92
  * Lazily evaluate the sender of the proposal; result is cached.
@@ -134,6 +116,7 @@ export class CheckpointProposalHash extends Buffer32 {
134
116
  const buffer = [
135
117
  this.checkpointHeader,
136
118
  this.archive,
119
+ serializeSignedBigInt(this.feeAssetPriceModifier),
137
120
  this.signature
138
121
  ];
139
122
  if (this.lastBlock) {
@@ -158,6 +141,7 @@ export class CheckpointProposalHash extends Buffer32 {
158
141
  const reader = BufferReader.asReader(buf);
159
142
  const checkpointHeader = reader.readObject(CheckpointHeader);
160
143
  const archive = reader.readObject(Fr);
144
+ const feeAssetPriceModifier = reader.readInt256();
161
145
  const signature = reader.readObject(Signature);
162
146
  const hasLastBlock = reader.readNumber();
163
147
  if (hasLastBlock) {
@@ -176,7 +160,7 @@ export class CheckpointProposalHash extends Buffer32 {
176
160
  signedTxs = SignedTxs.fromBuffer(reader);
177
161
  }
178
162
  }
179
- return new CheckpointProposal(checkpointHeader, archive, signature, {
163
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
180
164
  blockHeader,
181
165
  indexWithinCheckpoint,
182
166
  txHashes,
@@ -184,20 +168,20 @@ export class CheckpointProposalHash extends Buffer32 {
184
168
  signedTxs
185
169
  });
186
170
  }
187
- return new CheckpointProposal(checkpointHeader, archive, signature);
171
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
188
172
  }
189
173
  getSize() {
190
- let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 4; /* hasLastBlock flag */
174
+ let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4; /* hasLastBlock flag */
191
175
  if (this.lastBlock) {
192
176
  size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0);
193
177
  }
194
178
  return size;
195
179
  }
196
180
  static empty() {
197
- return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, Signature.empty());
181
+ return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty());
198
182
  }
199
183
  static random() {
200
- return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), Signature.random(), {
184
+ return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), {
201
185
  blockHeader: BlockHeader.random(),
202
186
  indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
203
187
  txHashes: [
@@ -212,6 +196,7 @@ export class CheckpointProposalHash extends Buffer32 {
212
196
  checkpointHeader: this.checkpointHeader.toInspect(),
213
197
  archive: this.archive.toString(),
214
198
  signature: this.signature.toString(),
199
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
215
200
  lastBlock: this.lastBlock ? {
216
201
  blockHeader: this.lastBlock.blockHeader.toInspect(),
217
202
  indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
@@ -224,6 +209,6 @@ export class CheckpointProposalHash extends Buffer32 {
224
209
  * Returns a copy of this proposal without lastBlock info, as a CheckpointProposalCore.
225
210
  * Used when the lastBlock has been extracted and stored separately.
226
211
  */ toCore() {
227
- return new CheckpointProposal(this.checkpointHeader, this.archive, this.signature);
212
+ return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature);
228
213
  }
229
214
  }
@@ -1,5 +1,2 @@
1
- export declare enum P2PClientType {
2
- Full = 0,
3
- Prover = 1
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQVksYUFBYTtJQUV2QixJQUFJLElBQUE7SUFFSixNQUFNLElBQUE7Q0FDUCJ9
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IAEvB,IAAI,IAAA;IAEJ,MAAM,IAAA;CACP"}
1
+ {"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- export var P2PClientType = /*#__PURE__*/ function(P2PClientType) {
2
- // Full p2p clients will subscribe to all gossip topics
3
- P2PClientType[P2PClientType["Full"] = 0] = "Full";
4
- // Prove p2p clients will only subscribe to transaction and proving topics
5
- P2PClientType[P2PClientType["Prover"] = 1] = "Prover";
6
- return P2PClientType;
7
- }({});