@aztec/stdlib 0.0.1-commit.7d4e6cd → 0.0.1-commit.808bf7f90

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