@aztec/stdlib 0.0.1-commit.e558bd1c → 0.0.1-commit.e5a3663dd

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 (739) 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 +64 -7
  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_proving_request.d.ts +166 -166
  43. package/dest/avm/revert_code.d.ts +9 -4
  44. package/dest/avm/revert_code.d.ts.map +1 -1
  45. package/dest/avm/revert_code.js +16 -21
  46. package/dest/aztec-address/index.d.ts +3 -6
  47. package/dest/aztec-address/index.d.ts.map +1 -1
  48. package/dest/aztec-address/index.js +2 -4
  49. package/dest/block/attestation_info.d.ts +3 -2
  50. package/dest/block/attestation_info.d.ts.map +1 -1
  51. package/dest/block/attestation_info.js +7 -5
  52. package/dest/block/block_data.d.ts +341 -0
  53. package/dest/block/block_data.d.ts.map +1 -0
  54. package/dest/block/block_data.js +26 -0
  55. package/dest/block/block_hash.d.ts +11 -10
  56. package/dest/block/block_hash.d.ts.map +1 -1
  57. package/dest/block/block_hash.js +10 -9
  58. package/dest/block/block_parameter.d.ts +30 -3
  59. package/dest/block/block_parameter.d.ts.map +1 -1
  60. package/dest/block/block_parameter.js +36 -2
  61. package/dest/block/index.d.ts +2 -1
  62. package/dest/block/index.d.ts.map +1 -1
  63. package/dest/block/index.js +1 -0
  64. package/dest/block/l2_block.d.ts +9 -1
  65. package/dest/block/l2_block.d.ts.map +1 -1
  66. package/dest/block/l2_block.js +12 -2
  67. package/dest/block/l2_block_info.d.ts +6 -5
  68. package/dest/block/l2_block_info.d.ts.map +1 -1
  69. package/dest/block/l2_block_info.js +6 -5
  70. package/dest/block/l2_block_source.d.ts +149 -10
  71. package/dest/block/l2_block_source.d.ts.map +1 -1
  72. package/dest/block/l2_block_source.js +1 -0
  73. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  74. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  75. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  76. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  77. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  78. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  79. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  80. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  81. package/dest/block/proposal/attestations_and_signers.d.ts +13 -6
  82. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  83. package/dest/block/proposal/attestations_and_signers.js +26 -18
  84. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  85. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  86. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  87. package/dest/checkpoint/checkpoint.d.ts +28 -7
  88. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  89. package/dest/checkpoint/checkpoint.js +41 -17
  90. package/dest/checkpoint/checkpoint_data.d.ts +192 -0
  91. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  92. package/dest/checkpoint/checkpoint_data.js +38 -0
  93. package/dest/checkpoint/index.d.ts +3 -1
  94. package/dest/checkpoint/index.d.ts.map +1 -1
  95. package/dest/checkpoint/index.js +2 -0
  96. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  97. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  98. package/dest/checkpoint/published_checkpoint.js +1 -2
  99. package/dest/checkpoint/validate.d.ts +36 -0
  100. package/dest/checkpoint/validate.d.ts.map +1 -0
  101. package/dest/checkpoint/validate.js +120 -0
  102. package/dest/config/chain-config.d.ts +2 -2
  103. package/dest/config/chain-config.d.ts.map +1 -1
  104. package/dest/config/chain-config.js +9 -3
  105. package/dest/config/index.d.ts +3 -1
  106. package/dest/config/index.d.ts.map +1 -1
  107. package/dest/config/index.js +2 -0
  108. package/dest/config/pipelining-config.d.ts +19 -0
  109. package/dest/config/pipelining-config.d.ts.map +1 -0
  110. package/dest/config/pipelining-config.js +18 -0
  111. package/dest/config/sequencer-config.d.ts +14 -0
  112. package/dest/config/sequencer-config.d.ts.map +1 -0
  113. package/dest/config/sequencer-config.js +38 -0
  114. package/dest/contract/contract_address.d.ts +3 -3
  115. package/dest/contract/contract_address.js +7 -7
  116. package/dest/contract/contract_class.d.ts +2 -3
  117. package/dest/contract/contract_class.d.ts.map +1 -1
  118. package/dest/contract/contract_class_id.d.ts +3 -3
  119. package/dest/contract/contract_class_id.d.ts.map +1 -1
  120. package/dest/contract/contract_class_id.js +7 -6
  121. package/dest/contract/index.d.ts +1 -3
  122. package/dest/contract/index.d.ts.map +1 -1
  123. package/dest/contract/index.js +0 -2
  124. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  125. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  126. package/dest/contract/interfaces/contract_class.js +1 -28
  127. package/dest/contract/interfaces/node-info.d.ts +3 -1
  128. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  129. package/dest/contract/interfaces/node-info.js +2 -1
  130. package/dest/contract/private_function.d.ts +1 -1
  131. package/dest/contract/private_function.d.ts.map +1 -1
  132. package/dest/contract/private_function.js +4 -6
  133. package/dest/epoch-helpers/index.d.ts +15 -1
  134. package/dest/epoch-helpers/index.d.ts.map +1 -1
  135. package/dest/epoch-helpers/index.js +18 -2
  136. package/dest/file-store/factory.d.ts +4 -3
  137. package/dest/file-store/factory.d.ts.map +1 -1
  138. package/dest/file-store/factory.js +2 -2
  139. package/dest/file-store/http.d.ts +9 -2
  140. package/dest/file-store/http.d.ts.map +1 -1
  141. package/dest/file-store/http.js +20 -9
  142. package/dest/file-store/index.d.ts +2 -1
  143. package/dest/file-store/index.d.ts.map +1 -1
  144. package/dest/file-store/local.d.ts +3 -3
  145. package/dest/file-store/local.d.ts.map +1 -1
  146. package/dest/file-store/local.js +13 -4
  147. package/dest/file-store/s3.d.ts +1 -1
  148. package/dest/file-store/s3.d.ts.map +1 -1
  149. package/dest/file-store/s3.js +11 -3
  150. package/dest/gas/fee_math.d.ts +49 -0
  151. package/dest/gas/fee_math.d.ts.map +1 -0
  152. package/dest/gas/fee_math.js +80 -0
  153. package/dest/gas/gas_fees.d.ts +5 -1
  154. package/dest/gas/gas_fees.d.ts.map +1 -1
  155. package/dest/gas/gas_fees.js +13 -1
  156. package/dest/gas/gas_settings.d.ts +40 -3
  157. package/dest/gas/gas_settings.d.ts.map +1 -1
  158. package/dest/gas/gas_settings.js +50 -6
  159. package/dest/gas/index.d.ts +2 -1
  160. package/dest/gas/index.d.ts.map +1 -1
  161. package/dest/gas/index.js +1 -0
  162. package/dest/ha-signing/config.d.ts +136 -0
  163. package/dest/ha-signing/config.d.ts.map +1 -0
  164. package/dest/ha-signing/config.js +98 -0
  165. package/dest/ha-signing/index.d.ts +4 -0
  166. package/dest/ha-signing/index.d.ts.map +1 -0
  167. package/dest/ha-signing/index.js +3 -0
  168. package/dest/ha-signing/local_config.d.ts +63 -0
  169. package/dest/ha-signing/local_config.d.ts.map +1 -0
  170. package/dest/ha-signing/local_config.js +24 -0
  171. package/dest/ha-signing/types.d.ts +90 -0
  172. package/dest/ha-signing/types.d.ts.map +1 -0
  173. package/dest/ha-signing/types.js +39 -0
  174. package/dest/hash/hash.d.ts +35 -1
  175. package/dest/hash/hash.d.ts.map +1 -1
  176. package/dest/hash/hash.js +77 -10
  177. package/dest/hash/map_slot.js +2 -2
  178. package/dest/interfaces/allowed_element.d.ts +26 -20
  179. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  180. package/dest/interfaces/allowed_element.js +8 -8
  181. package/dest/interfaces/archiver.d.ts +11 -1
  182. package/dest/interfaces/archiver.d.ts.map +1 -1
  183. package/dest/interfaces/archiver.js +17 -3
  184. package/dest/interfaces/aztec-node-admin.d.ts +132 -47
  185. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  186. package/dest/interfaces/aztec-node-admin.js +14 -7
  187. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  188. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  189. package/dest/interfaces/aztec-node-debug.js +18 -0
  190. package/dest/interfaces/aztec-node.d.ts +59 -54
  191. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  192. package/dest/interfaces/aztec-node.js +23 -16
  193. package/dest/interfaces/block-builder.d.ts +39 -12
  194. package/dest/interfaces/block-builder.d.ts.map +1 -1
  195. package/dest/interfaces/block-builder.js +13 -6
  196. package/dest/interfaces/block_response.d.ts +156 -0
  197. package/dest/interfaces/block_response.d.ts.map +1 -0
  198. package/dest/interfaces/block_response.js +24 -0
  199. package/dest/interfaces/chain_tips.d.ts +304 -0
  200. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  201. package/dest/interfaces/chain_tips.js +11 -0
  202. package/dest/interfaces/checkpoint_parameter.d.ts +27 -0
  203. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  204. package/dest/interfaces/checkpoint_parameter.js +20 -0
  205. package/dest/interfaces/checkpoint_response.d.ts +312 -0
  206. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  207. package/dest/interfaces/checkpoint_response.js +26 -0
  208. package/dest/interfaces/client.d.ts +7 -1
  209. package/dest/interfaces/client.d.ts.map +1 -1
  210. package/dest/interfaces/client.js +6 -0
  211. package/dest/interfaces/configs.d.ts +87 -32
  212. package/dest/interfaces/configs.d.ts.map +1 -1
  213. package/dest/interfaces/configs.js +12 -3
  214. package/dest/interfaces/l1_publish_info.d.ts +43 -0
  215. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  216. package/dest/interfaces/l1_publish_info.js +26 -0
  217. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  218. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  219. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  220. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  221. package/dest/interfaces/p2p.d.ts +3 -8
  222. package/dest/interfaces/p2p.d.ts.map +1 -1
  223. package/dest/interfaces/prover-client.d.ts +6 -1
  224. package/dest/interfaces/prover-client.d.ts.map +1 -1
  225. package/dest/interfaces/prover-client.js +7 -4
  226. package/dest/interfaces/proving-job.d.ts +202 -202
  227. package/dest/interfaces/server.d.ts +6 -1
  228. package/dest/interfaces/server.d.ts.map +1 -1
  229. package/dest/interfaces/server.js +5 -0
  230. package/dest/interfaces/slasher.d.ts +5 -10
  231. package/dest/interfaces/slasher.d.ts.map +1 -1
  232. package/dest/interfaces/slasher.js +1 -2
  233. package/dest/interfaces/validator.d.ts +138 -64
  234. package/dest/interfaces/validator.d.ts.map +1 -1
  235. package/dest/interfaces/validator.js +12 -5
  236. package/dest/interfaces/world_state.d.ts +5 -4
  237. package/dest/interfaces/world_state.d.ts.map +1 -1
  238. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  239. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  240. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  241. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  242. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  243. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  244. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  245. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  246. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  247. package/dest/kernel/hints/index.d.ts +2 -2
  248. package/dest/kernel/hints/index.js +2 -2
  249. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  250. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  251. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  252. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  253. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  254. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  255. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  256. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  257. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  258. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  259. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  260. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  261. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  262. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  263. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  264. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  265. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  266. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  267. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  268. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  269. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  270. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  271. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  272. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  273. package/dest/kernel/private_validation_requests.d.ts +3 -3
  274. package/dest/kernel/private_validation_requests.js +9 -9
  275. package/dest/keys/derivation.js +8 -8
  276. package/dest/keys/key_types.d.ts +3 -3
  277. package/dest/keys/key_types.d.ts.map +1 -1
  278. package/dest/keys/public_keys.js +2 -2
  279. package/dest/keys/utils.js +5 -5
  280. package/dest/kv-store/config.d.ts +17 -0
  281. package/dest/kv-store/config.d.ts.map +1 -0
  282. package/dest/kv-store/config.js +26 -0
  283. package/dest/kv-store/index.d.ts +2 -0
  284. package/dest/kv-store/index.d.ts.map +1 -0
  285. package/dest/kv-store/index.js +1 -0
  286. package/dest/l1-contracts/index.d.ts +2 -2
  287. package/dest/l1-contracts/index.d.ts.map +1 -1
  288. package/dest/l1-contracts/index.js +1 -1
  289. package/dest/logs/debug_log_store.d.ts +30 -0
  290. package/dest/logs/debug_log_store.d.ts.map +1 -0
  291. package/dest/logs/debug_log_store.js +30 -0
  292. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  293. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  294. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  295. package/dest/logs/index.d.ts +4 -2
  296. package/dest/logs/index.d.ts.map +1 -1
  297. package/dest/logs/index.js +3 -1
  298. package/dest/logs/log_filter.d.ts +4 -1
  299. package/dest/logs/log_filter.d.ts.map +1 -1
  300. package/dest/logs/log_filter.js +2 -1
  301. package/dest/logs/log_id.d.ts +1 -1
  302. package/dest/logs/log_id.d.ts.map +1 -1
  303. package/dest/logs/log_id.js +1 -2
  304. package/dest/logs/message_context.d.ts +4 -7
  305. package/dest/logs/message_context.d.ts.map +1 -1
  306. package/dest/logs/message_context.js +23 -9
  307. package/dest/logs/pending_tagged_log.d.ts +2 -3
  308. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  309. package/dest/logs/pending_tagged_log.js +2 -2
  310. package/dest/logs/pre_tag.d.ts +16 -11
  311. package/dest/logs/pre_tag.d.ts.map +1 -1
  312. package/dest/logs/pre_tag.js +2 -2
  313. package/dest/logs/private_log.d.ts +2 -2
  314. package/dest/logs/private_log.d.ts.map +1 -1
  315. package/dest/logs/public_log.d.ts +4 -3
  316. package/dest/logs/public_log.d.ts.map +1 -1
  317. package/dest/logs/public_log.js +2 -1
  318. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  319. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  320. package/dest/logs/shared_secret_derivation.js +15 -9
  321. package/dest/logs/siloed_tag.d.ts +12 -9
  322. package/dest/logs/siloed_tag.d.ts.map +1 -1
  323. package/dest/logs/siloed_tag.js +16 -7
  324. package/dest/logs/tag.d.ts +5 -6
  325. package/dest/logs/tag.d.ts.map +1 -1
  326. package/dest/logs/tag.js +5 -1
  327. package/dest/logs/tagging_index_range.d.ts +40 -0
  328. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  329. package/dest/logs/tagging_index_range.js +8 -0
  330. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  331. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  332. package/dest/logs/tx_scoped_l2_log.js +7 -0
  333. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  334. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  335. package/dest/messaging/l1_to_l2_message.js +11 -13
  336. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  337. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  338. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  339. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  340. package/dest/messaging/l2_to_l1_membership.js +72 -29
  341. package/dest/noir/index.d.ts +3 -3
  342. package/dest/noir/index.d.ts.map +1 -1
  343. package/dest/note/index.d.ts +1 -2
  344. package/dest/note/index.d.ts.map +1 -1
  345. package/dest/note/index.js +0 -1
  346. package/dest/note/note_dao.d.ts +1 -1
  347. package/dest/note/note_dao.d.ts.map +1 -1
  348. package/dest/note/note_dao.js +1 -4
  349. package/dest/p2p/attestation_utils.d.ts +11 -1
  350. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  351. package/dest/p2p/attestation_utils.js +45 -0
  352. package/dest/p2p/block_proposal.d.ts +23 -15
  353. package/dest/p2p/block_proposal.d.ts.map +1 -1
  354. package/dest/p2p/block_proposal.js +46 -43
  355. package/dest/p2p/checkpoint_attestation.d.ts +11 -8
  356. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  357. package/dest/p2p/checkpoint_attestation.js +17 -24
  358. package/dest/p2p/checkpoint_proposal.d.ts +29 -23
  359. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  360. package/dest/p2p/checkpoint_proposal.js +43 -65
  361. package/dest/p2p/client_type.d.ts +2 -5
  362. package/dest/p2p/client_type.d.ts.map +1 -1
  363. package/dest/p2p/client_type.js +0 -7
  364. package/dest/p2p/consensus_payload.d.ts +27 -7
  365. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  366. package/dest/p2p/consensus_payload.js +40 -21
  367. package/dest/p2p/constants.d.ts +3 -1
  368. package/dest/p2p/constants.d.ts.map +1 -1
  369. package/dest/p2p/constants.js +1 -0
  370. package/dest/p2p/gossipable.d.ts +4 -4
  371. package/dest/p2p/gossipable.d.ts.map +1 -1
  372. package/dest/p2p/index.d.ts +1 -2
  373. package/dest/p2p/index.d.ts.map +1 -1
  374. package/dest/p2p/index.js +0 -1
  375. package/dest/p2p/peer_error.d.ts +3 -1
  376. package/dest/p2p/peer_error.d.ts.map +1 -1
  377. package/dest/p2p/peer_error.js +5 -0
  378. package/dest/p2p/signature_utils.d.ts +28 -19
  379. package/dest/p2p/signature_utils.d.ts.map +1 -1
  380. package/dest/p2p/signature_utils.js +118 -21
  381. package/dest/p2p/signed_txs.d.ts +15 -13
  382. package/dest/p2p/signed_txs.d.ts.map +1 -1
  383. package/dest/p2p/signed_txs.js +26 -24
  384. package/dest/p2p/topic_type.d.ts +3 -4
  385. package/dest/p2p/topic_type.d.ts.map +1 -1
  386. package/dest/p2p/topic_type.js +7 -24
  387. package/dest/parity/parity_base_private_inputs.d.ts +7 -3
  388. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  389. package/dest/parity/parity_base_private_inputs.js +7 -5
  390. package/dest/parity/parity_public_inputs.d.ts +7 -3
  391. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  392. package/dest/parity/parity_public_inputs.js +6 -3
  393. package/dest/proofs/chonk_proof.d.ts +46 -2
  394. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  395. package/dest/proofs/chonk_proof.js +85 -10
  396. package/dest/rollup/block_headers_hash.d.ts +1 -1
  397. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  398. package/dest/rollup/block_headers_hash.js +8 -2
  399. package/dest/rollup/checkpoint_header.d.ts +2 -2
  400. package/dest/rollup/checkpoint_header.js +2 -2
  401. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  402. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  403. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  404. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  405. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  406. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  407. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  408. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  409. package/dest/slashing/helpers.d.ts +2 -2
  410. package/dest/slashing/helpers.d.ts.map +1 -1
  411. package/dest/slashing/helpers.js +3 -0
  412. package/dest/slashing/index.d.ts +2 -3
  413. package/dest/slashing/index.d.ts.map +1 -1
  414. package/dest/slashing/index.js +1 -2
  415. package/dest/slashing/serialization.d.ts +2 -6
  416. package/dest/slashing/serialization.d.ts.map +1 -1
  417. package/dest/slashing/serialization.js +0 -60
  418. package/dest/slashing/types.d.ts +8 -92
  419. package/dest/slashing/types.d.ts.map +1 -1
  420. package/dest/slashing/types.js +7 -15
  421. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  422. package/dest/slashing/votes.d.ts.map +1 -0
  423. package/dest/slashing/{tally.js → votes.js} +30 -2
  424. package/dest/tests/factories.d.ts +5 -10
  425. package/dest/tests/factories.d.ts.map +1 -1
  426. package/dest/tests/factories.js +37 -56
  427. package/dest/tests/mocks.d.ts +14 -3
  428. package/dest/tests/mocks.d.ts.map +1 -1
  429. package/dest/tests/mocks.js +65 -46
  430. package/dest/timetable/index.d.ts +87 -0
  431. package/dest/timetable/index.d.ts.map +1 -0
  432. package/dest/timetable/index.js +243 -0
  433. package/dest/trees/nullifier_leaf.d.ts +2 -1
  434. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  435. package/dest/trees/nullifier_leaf.js +3 -0
  436. package/dest/trees/public_data_leaf.d.ts +2 -1
  437. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  438. package/dest/trees/public_data_leaf.js +7 -6
  439. package/dest/tx/block_header.d.ts +4 -2
  440. package/dest/tx/block_header.d.ts.map +1 -1
  441. package/dest/tx/block_header.js +7 -3
  442. package/dest/tx/capsule.d.ts +6 -2
  443. package/dest/tx/capsule.d.ts.map +1 -1
  444. package/dest/tx/capsule.js +9 -3
  445. package/dest/tx/fee_provider.d.ts +10 -0
  446. package/dest/tx/fee_provider.d.ts.map +1 -0
  447. package/dest/tx/fee_provider.js +1 -0
  448. package/dest/tx/global_variable_builder.d.ts +3 -4
  449. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  450. package/dest/tx/global_variables.d.ts +4 -4
  451. package/dest/tx/global_variables.d.ts.map +1 -1
  452. package/dest/tx/index.d.ts +2 -1
  453. package/dest/tx/index.d.ts.map +1 -1
  454. package/dest/tx/index.js +1 -0
  455. package/dest/tx/indexed_tx_effect.d.ts +1 -1
  456. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  457. package/dest/tx/indexed_tx_effect.js +1 -2
  458. package/dest/tx/private_execution_result.d.ts +6 -6
  459. package/dest/tx/private_execution_result.d.ts.map +1 -1
  460. package/dest/tx/private_execution_result.js +6 -6
  461. package/dest/tx/profiling.d.ts +17 -5
  462. package/dest/tx/profiling.d.ts.map +1 -1
  463. package/dest/tx/profiling.js +19 -9
  464. package/dest/tx/protocol_contracts.d.ts +1 -1
  465. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  466. package/dest/tx/protocol_contracts.js +2 -2
  467. package/dest/tx/public_simulation_output.d.ts +4 -2
  468. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  469. package/dest/tx/public_simulation_output.js +7 -3
  470. package/dest/tx/simulated_tx.d.ts +116 -5
  471. package/dest/tx/simulated_tx.d.ts.map +1 -1
  472. package/dest/tx/simulated_tx.js +7 -4
  473. package/dest/tx/tx.d.ts +8 -7
  474. package/dest/tx/tx.d.ts.map +1 -1
  475. package/dest/tx/tx.js +18 -6
  476. package/dest/tx/tx_receipt.d.ts +29 -6
  477. package/dest/tx/tx_receipt.d.ts.map +1 -1
  478. package/dest/tx/tx_receipt.js +23 -19
  479. package/dest/tx/tx_request.js +2 -2
  480. package/dest/tx/validator/empty_validator.d.ts +2 -2
  481. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  482. package/dest/tx/validator/error_texts.d.ts +10 -2
  483. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  484. package/dest/tx/validator/error_texts.js +11 -1
  485. package/dest/tx/validator/tx_validator.d.ts +2 -2
  486. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  487. package/dest/types/shared.d.ts +1 -10
  488. package/dest/types/shared.d.ts.map +1 -1
  489. package/dest/types/shared.js +0 -9
  490. package/dest/update-checker/index.d.ts +3 -2
  491. package/dest/update-checker/index.d.ts.map +1 -1
  492. package/dest/update-checker/index.js +2 -1
  493. package/dest/update-checker/package_version.d.ts +3 -0
  494. package/dest/update-checker/package_version.d.ts.map +1 -0
  495. package/dest/update-checker/package_version.js +24 -0
  496. package/dest/update-checker/version_checker.d.ts +25 -0
  497. package/dest/update-checker/version_checker.d.ts.map +1 -0
  498. package/dest/update-checker/version_checker.js +50 -0
  499. package/dest/validators/errors.d.ts +6 -1
  500. package/dest/validators/errors.d.ts.map +1 -1
  501. package/dest/validators/errors.js +7 -0
  502. package/dest/validators/schemas.d.ts +30 -30
  503. package/dest/validators/schemas.d.ts.map +1 -1
  504. package/dest/validators/schemas.js +4 -3
  505. package/dest/validators/types.d.ts +3 -3
  506. package/dest/validators/types.d.ts.map +1 -1
  507. package/dest/versioning/versioning.d.ts +4 -2
  508. package/dest/versioning/versioning.d.ts.map +1 -1
  509. package/dest/versioning/versioning.js +4 -1
  510. package/dest/vks/verification_key.d.ts +2 -137
  511. package/dest/vks/verification_key.d.ts.map +1 -1
  512. package/dest/vks/verification_key.js +5 -126
  513. package/dest/world-state/genesis_data.d.ts +11 -0
  514. package/dest/world-state/genesis_data.d.ts.map +1 -0
  515. package/dest/world-state/genesis_data.js +4 -0
  516. package/dest/world-state/index.d.ts +2 -1
  517. package/dest/world-state/index.d.ts.map +1 -1
  518. package/dest/world-state/index.js +1 -0
  519. package/dest/world-state/world_state_revision.d.ts +8 -1
  520. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  521. package/dest/world-state/world_state_revision.js +7 -1
  522. package/package.json +13 -11
  523. package/src/abi/abi.ts +25 -2
  524. package/src/abi/authorization_selector.ts +2 -8
  525. package/src/abi/buffer.ts +25 -4
  526. package/src/abi/decoder.ts +36 -82
  527. package/src/abi/encoder.ts +85 -6
  528. package/src/abi/event_metadata_definition.ts +2 -0
  529. package/src/abi/event_selector.ts +2 -8
  530. package/src/abi/function_call.ts +25 -3
  531. package/src/abi/function_selector.ts +4 -13
  532. package/src/abi/function_signature_decoder.ts +77 -0
  533. package/src/abi/index.ts +1 -0
  534. package/src/abi/note_selector.ts +3 -12
  535. package/src/abi/selector.ts +1 -1
  536. package/src/abi/utils.ts +25 -0
  537. package/src/auth_witness/auth_witness.ts +3 -3
  538. package/src/avm/revert_code.ts +26 -25
  539. package/src/aztec-address/index.ts +4 -10
  540. package/src/block/attestation_info.ts +11 -11
  541. package/src/block/block_data.ts +42 -0
  542. package/src/block/block_hash.ts +21 -14
  543. package/src/block/block_parameter.ts +35 -2
  544. package/src/block/index.ts +1 -0
  545. package/src/block/l2_block.ts +13 -1
  546. package/src/block/l2_block_info.ts +8 -6
  547. package/src/block/l2_block_source.ts +88 -9
  548. package/src/block/l2_block_stream/interfaces.ts +6 -2
  549. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  550. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  551. package/src/block/proposal/attestations_and_signers.ts +32 -17
  552. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  553. package/src/checkpoint/checkpoint.ts +54 -17
  554. package/src/checkpoint/checkpoint_data.ts +91 -0
  555. package/src/checkpoint/index.ts +2 -0
  556. package/src/checkpoint/published_checkpoint.ts +3 -1
  557. package/src/checkpoint/validate.ts +230 -0
  558. package/src/config/chain-config.ts +9 -4
  559. package/src/config/index.ts +2 -0
  560. package/src/config/pipelining-config.ts +31 -0
  561. package/src/config/sequencer-config.ts +65 -0
  562. package/src/contract/contract_address.ts +7 -7
  563. package/src/contract/contract_class.ts +3 -3
  564. package/src/contract/contract_class_id.ts +7 -6
  565. package/src/contract/index.ts +0 -2
  566. package/src/contract/interfaces/contract_class.ts +2 -82
  567. package/src/contract/interfaces/node-info.ts +3 -0
  568. package/src/contract/private_function.ts +5 -3
  569. package/src/epoch-helpers/index.ts +30 -0
  570. package/src/file-store/factory.ts +13 -4
  571. package/src/file-store/http.ts +29 -10
  572. package/src/file-store/index.ts +1 -0
  573. package/src/file-store/local.ts +15 -5
  574. package/src/file-store/s3.ts +12 -3
  575. package/src/gas/README.md +154 -0
  576. package/src/gas/fee_math.ts +120 -0
  577. package/src/gas/gas_fees.ts +20 -1
  578. package/src/gas/gas_settings.ts +65 -12
  579. package/src/gas/index.ts +1 -0
  580. package/src/ha-signing/config.ts +159 -0
  581. package/src/ha-signing/index.ts +29 -0
  582. package/src/ha-signing/local_config.ts +46 -0
  583. package/src/ha-signing/types.ts +126 -0
  584. package/src/hash/hash.ts +75 -10
  585. package/src/hash/map_slot.ts +2 -2
  586. package/src/interfaces/allowed_element.ts +29 -9
  587. package/src/interfaces/archiver.ts +28 -2
  588. package/src/interfaces/aztec-node-admin.ts +31 -8
  589. package/src/interfaces/aztec-node-debug.ts +40 -0
  590. package/src/interfaces/aztec-node.ts +129 -85
  591. package/src/interfaces/block-builder.ts +61 -14
  592. package/src/interfaces/block_response.ts +79 -0
  593. package/src/interfaces/chain_tips.ts +24 -0
  594. package/src/interfaces/checkpoint_parameter.ts +22 -0
  595. package/src/interfaces/checkpoint_response.ts +84 -0
  596. package/src/interfaces/client.ts +6 -0
  597. package/src/interfaces/configs.ts +43 -8
  598. package/src/interfaces/l1_publish_info.ts +40 -0
  599. package/src/interfaces/l2_logs_source.ts +4 -1
  600. package/src/interfaces/merkle_tree_operations.ts +12 -21
  601. package/src/interfaces/p2p.ts +2 -13
  602. package/src/interfaces/prover-client.ts +10 -5
  603. package/src/interfaces/server.ts +5 -0
  604. package/src/interfaces/slasher.ts +2 -6
  605. package/src/interfaces/validator.ts +76 -36
  606. package/src/interfaces/world_state.ts +4 -3
  607. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  608. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  609. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  610. package/src/kernel/hints/index.ts +2 -2
  611. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  612. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  613. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  614. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  615. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  616. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  617. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  618. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  619. package/src/kernel/private_validation_requests.ts +8 -8
  620. package/src/keys/derivation.ts +8 -8
  621. package/src/keys/key_types.ts +6 -2
  622. package/src/keys/public_keys.ts +2 -2
  623. package/src/keys/utils.ts +5 -5
  624. package/src/kv-store/config.ts +36 -0
  625. package/src/kv-store/index.ts +1 -0
  626. package/src/l1-contracts/index.ts +1 -1
  627. package/src/logs/debug_log_store.ts +54 -0
  628. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  629. package/src/logs/index.ts +3 -1
  630. package/src/logs/log_filter.ts +5 -0
  631. package/src/logs/log_id.ts +1 -2
  632. package/src/logs/message_context.ts +17 -7
  633. package/src/logs/pending_tagged_log.ts +1 -3
  634. package/src/logs/pre_tag.ts +5 -5
  635. package/src/logs/public_log.ts +4 -2
  636. package/src/logs/shared_secret_derivation.ts +21 -10
  637. package/src/logs/siloed_tag.ts +23 -14
  638. package/src/logs/tag.ts +9 -9
  639. package/src/logs/tagging_index_range.ts +24 -0
  640. package/src/logs/tx_scoped_l2_log.ts +16 -0
  641. package/src/messaging/l1_to_l2_message.ts +12 -9
  642. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  643. package/src/messaging/l2_to_l1_membership.ts +101 -36
  644. package/src/noir/index.ts +2 -2
  645. package/src/note/index.ts +0 -1
  646. package/src/note/note_dao.ts +1 -4
  647. package/src/p2p/attestation_utils.ts +56 -0
  648. package/src/p2p/block_proposal.ts +97 -39
  649. package/src/p2p/checkpoint_attestation.ts +26 -30
  650. package/src/p2p/checkpoint_proposal.ts +109 -84
  651. package/src/p2p/client_type.ts +0 -6
  652. package/src/p2p/consensus_payload.ts +59 -24
  653. package/src/p2p/constants.ts +3 -0
  654. package/src/p2p/gossipable.ts +4 -4
  655. package/src/p2p/index.ts +0 -1
  656. package/src/p2p/peer_error.ts +7 -0
  657. package/src/p2p/signature_utils.ts +110 -25
  658. package/src/p2p/signed_txs.ts +46 -28
  659. package/src/p2p/topic_type.ts +8 -15
  660. package/src/parity/parity_base_private_inputs.ts +10 -4
  661. package/src/parity/parity_public_inputs.ts +9 -2
  662. package/src/proofs/chonk_proof.ts +91 -5
  663. package/src/rollup/block_headers_hash.ts +11 -2
  664. package/src/rollup/checkpoint_header.ts +2 -2
  665. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  666. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  667. package/src/slashing/helpers.ts +4 -0
  668. package/src/slashing/index.ts +1 -2
  669. package/src/slashing/serialization.ts +1 -81
  670. package/src/slashing/types.ts +10 -35
  671. package/src/slashing/{tally.ts → votes.ts} +34 -1
  672. package/src/tests/factories.ts +42 -68
  673. package/src/tests/mocks.ts +103 -53
  674. package/src/timetable/index.ts +361 -0
  675. package/src/trees/nullifier_leaf.ts +4 -0
  676. package/src/trees/public_data_leaf.ts +11 -5
  677. package/src/tx/block_header.ts +10 -4
  678. package/src/tx/capsule.ts +10 -2
  679. package/src/tx/fee_provider.ts +10 -0
  680. package/src/tx/global_variable_builder.ts +2 -3
  681. package/src/tx/global_variables.ts +3 -3
  682. package/src/tx/index.ts +1 -0
  683. package/src/tx/indexed_tx_effect.ts +1 -2
  684. package/src/tx/private_execution_result.ts +5 -5
  685. package/src/tx/profiling.ts +18 -9
  686. package/src/tx/protocol_contracts.ts +2 -2
  687. package/src/tx/public_simulation_output.ts +4 -0
  688. package/src/tx/simulated_tx.ts +14 -3
  689. package/src/tx/tx.ts +22 -13
  690. package/src/tx/tx_receipt.ts +28 -16
  691. package/src/tx/tx_request.ts +2 -2
  692. package/src/tx/validator/empty_validator.ts +1 -1
  693. package/src/tx/validator/error_texts.ts +13 -1
  694. package/src/tx/validator/tx_validator.ts +1 -1
  695. package/src/types/shared.ts +0 -10
  696. package/src/update-checker/index.ts +2 -1
  697. package/src/update-checker/package_version.ts +30 -0
  698. package/src/update-checker/version_checker.ts +65 -0
  699. package/src/validators/errors.ts +9 -0
  700. package/src/validators/schemas.ts +8 -1
  701. package/src/validators/types.ts +5 -4
  702. package/src/versioning/versioning.ts +4 -1
  703. package/src/vks/verification_key.ts +5 -184
  704. package/src/world-state/genesis_data.ts +15 -0
  705. package/src/world-state/index.ts +1 -0
  706. package/src/world-state/world_state_revision.ts +9 -1
  707. package/dest/abi/mocked_keys.d.ts +0 -2
  708. package/dest/abi/mocked_keys.d.ts.map +0 -1
  709. package/dest/abi/mocked_keys.js +0 -1
  710. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  711. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  712. package/dest/contract/private_function_membership_proof.js +0 -124
  713. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  714. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  715. package/dest/contract/utility_function_membership_proof.js +0 -87
  716. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  717. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  718. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  719. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  720. package/dest/l1-contracts/slash_factory.js +0 -158
  721. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  722. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  723. package/dest/note/notes_filter.d.ts +0 -27
  724. package/dest/note/notes_filter.d.ts.map +0 -1
  725. package/dest/note/notes_filter.js +0 -11
  726. package/dest/slashing/empire.d.ts +0 -31
  727. package/dest/slashing/empire.d.ts.map +0 -1
  728. package/dest/slashing/empire.js +0 -86
  729. package/dest/slashing/tally.d.ts.map +0 -1
  730. package/dest/update-checker/update-checker.d.ts +0 -49
  731. package/dest/update-checker/update-checker.d.ts.map +0 -1
  732. package/dest/update-checker/update-checker.js +0 -130
  733. package/src/abi/mocked_keys.ts +0 -2
  734. package/src/contract/private_function_membership_proof.ts +0 -167
  735. package/src/contract/utility_function_membership_proof.ts +0 -118
  736. package/src/l1-contracts/slash_factory.ts +0 -180
  737. package/src/note/notes_filter.ts +0 -38
  738. package/src/slashing/empire.ts +0 -103
  739. package/src/update-checker/update-checker.ts +0 -166
@@ -1,15 +1,21 @@
1
- import { BlockNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import {
2
+ type CheckpointNumber,
3
+ CheckpointProposalHash,
4
+ IndexWithinCheckpoint,
5
+ SlotNumber,
6
+ } from '@aztec/foundation/branded-types';
7
+ import type { BaseBuffer32 } from '@aztec/foundation/buffer';
3
8
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
4
- import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
5
9
  import { Fr } from '@aztec/foundation/curves/bn254';
6
10
  import type { EthAddress } from '@aztec/foundation/eth-address';
7
11
  import { Signature } from '@aztec/foundation/eth-signature';
8
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
9
- import { DutyType, type SigningContext } from '@aztec/validator-ha-signer/types';
12
+ import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
13
+
14
+ import type { TypedDataDefinition } from 'viem';
10
15
 
11
16
  import type { L2BlockInfo } from '../block/l2_block_info.js';
12
17
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
18
+ import { DutyType, type SigningContext } from '../ha-signing/index.js';
13
19
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
14
20
  import { BlockHeader } from '../tx/block_header.js';
15
21
  import { TxHash } from '../tx/index.js';
@@ -17,19 +23,19 @@ import type { Tx } from '../tx/tx.js';
17
23
  import { BlockProposal } from './block_proposal.js';
18
24
  import { Gossipable } from './gossipable.js';
19
25
  import {
20
- SignatureDomainSeparator,
21
- getHashedSignaturePayload,
22
- getHashedSignaturePayloadEthSignedMessage,
26
+ type CoordinationSignatureContext,
27
+ type CoordinationSignatureType,
28
+ EMPTY_COORDINATION_SIGNATURE_CONTEXT,
29
+ type Signable,
30
+ getCoordinationSignatureTypedData,
31
+ readCoordinationSignatureContext,
32
+ recoverCoordinationSigner,
33
+ serializeCoordinationSignatureContext,
23
34
  } from './signature_utils.js';
24
35
  import { SignedTxs } from './signed_txs.js';
25
36
  import { TopicType } from './topic_type.js';
26
37
 
27
- // REFACTOR(palla): Use a branded type instead of a subclass of Buffer32
28
- export class CheckpointProposalHash extends Buffer32 {
29
- constructor(hash: Buffer) {
30
- super(hash);
31
- }
32
- }
38
+ export type { CheckpointProposalHash } from '@aztec/foundation/branded-types';
33
39
 
34
40
  export type CheckpointProposalOptions = {
35
41
  /**
@@ -69,10 +75,12 @@ export type CheckpointLastBlock = Omit<CheckpointLastBlockData, 'txs'> & {
69
75
  * It includes the aggregated checkpoint header that validators will attest to, plus optionally
70
76
  * the last block's info for nodes to re-execute. This marks the completion of a slot's worth of blocks.
71
77
  */
72
- export class CheckpointProposal extends Gossipable {
78
+ export class CheckpointProposal extends Gossipable implements Signable {
73
79
  static override p2pTopic = TopicType.checkpoint_proposal;
74
80
 
75
- private sender: EthAddress | undefined;
81
+ readonly primaryType: CoordinationSignatureType = 'CheckpointProposal';
82
+
83
+ private cachedSender: EthAddress | undefined | null = undefined;
76
84
 
77
85
  constructor(
78
86
  /** The aggregated checkpoint header for consensus */
@@ -81,40 +89,29 @@ export class CheckpointProposal extends Gossipable {
81
89
  /** Archive root after this checkpoint is applied */
82
90
  public readonly archive: Fr,
83
91
 
84
- /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */
92
+ /** The fee asset price modifier in basis points (from oracle) */
93
+ public readonly feeAssetPriceModifier: bigint,
94
+
95
+ /** The proposer's signature over the checkpoint payload (checkpointHeader + archive + feeAssetPriceModifier) */
85
96
  public readonly signature: Signature,
86
97
 
98
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
99
+ public readonly signatureContext: CoordinationSignatureContext,
100
+
87
101
  /** Optional last block info, including its own signature for BlockProposal extraction */
88
102
  public readonly lastBlock?: CheckpointLastBlock,
89
103
  ) {
90
104
  super();
91
105
  }
92
106
 
93
- override generateP2PMessageIdentifier(): Promise<Buffer32> {
94
- return Promise.resolve(new CheckpointProposalHash(keccak256(this.signature.toBuffer())));
107
+ override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
108
+ return Promise.resolve(CheckpointProposalHash.fromBuffer(keccak256(this.signature.toBuffer())));
95
109
  }
96
110
 
97
111
  get slotNumber(): SlotNumber {
98
112
  return this.checkpointHeader.slotNumber;
99
113
  }
100
114
 
101
- get blockNumber(): BlockNumber {
102
- if (!this.lastBlock) {
103
- throw new Error('Cannot get blockNumber without lastBlock');
104
- }
105
- return this.lastBlock.blockHeader.getBlockNumber();
106
- }
107
-
108
- /** Convenience getter for txHashes from lastBlock */
109
- get txHashes(): TxHash[] {
110
- return this.lastBlock?.txHashes ?? [];
111
- }
112
-
113
- /** Convenience getter for txs from lastBlock */
114
- get txs(): Tx[] | undefined {
115
- return this.lastBlock?.signedTxs?.txs;
116
- }
117
-
118
115
  /**
119
116
  * Extract a BlockProposal from the last block info.
120
117
  * Uses inHash from checkpointHeader.contentCommitment.inHash
@@ -131,6 +128,7 @@ export class CheckpointProposal extends Gossipable {
131
128
  this.archive,
132
129
  this.lastBlock.txHashes,
133
130
  this.lastBlock.signature,
131
+ this.signatureContext,
134
132
  this.lastBlock.signedTxs,
135
133
  );
136
134
  }
@@ -160,50 +158,46 @@ export class CheckpointProposal extends Gossipable {
160
158
 
161
159
  /**
162
160
  * Get the payload to sign for this checkpoint proposal.
163
- * The signature is over the checkpoint header + archive root (for consensus).
161
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
164
162
  */
165
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
166
- return serializeToBuffer([domainSeparator, this.checkpointHeader, this.archive]);
163
+ getPayloadToSign(): Buffer {
164
+ return serializeToBuffer([this.checkpointHeader, this.archive, serializeSignedBigInt(this.feeAssetPriceModifier)]);
167
165
  }
168
166
 
169
167
  static async createProposalFromSigner(
170
168
  checkpointHeader: CheckpointHeader,
171
169
  archiveRoot: Fr,
172
- lastBlockInfo: CheckpointLastBlockData | undefined,
173
- payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>,
170
+ checkpointNumber: CheckpointNumber,
171
+ feeAssetPriceModifier: bigint,
172
+ lastBlockProposal: BlockProposal | undefined,
173
+ signatureContext: CoordinationSignatureContext,
174
+ payloadSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>,
174
175
  ): Promise<CheckpointProposal> {
175
176
  // Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
176
- const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, Signature.empty(), undefined);
177
- const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
178
-
177
+ const tempProposal = new CheckpointProposal(
178
+ checkpointHeader,
179
+ archiveRoot,
180
+ feeAssetPriceModifier,
181
+ Signature.empty(),
182
+ signatureContext,
183
+ );
179
184
  const checkpointContext: SigningContext = {
180
185
  slot: checkpointHeader.slotNumber,
181
- blockNumber: lastBlockInfo?.blockHeader?.globalVariables.blockNumber ?? BlockNumber(0),
186
+ checkpointNumber,
182
187
  dutyType: DutyType.CHECKPOINT_PROPOSAL,
183
188
  };
184
- const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
185
189
 
186
- if (!lastBlockInfo) {
187
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature);
188
- }
190
+ const typedData = getCoordinationSignatureTypedData(tempProposal);
191
+ const checkpointSignature = await payloadSigner(typedData, checkpointContext);
189
192
 
190
- const lastBlockProposal = await BlockProposal.createProposalFromSigner(
191
- lastBlockInfo.blockHeader,
192
- lastBlockInfo.indexWithinCheckpoint,
193
- checkpointHeader.inHash,
193
+ return new CheckpointProposal(
194
+ checkpointHeader,
194
195
  archiveRoot,
195
- lastBlockInfo.txHashes,
196
- lastBlockInfo.txs,
197
- payloadSigner,
196
+ feeAssetPriceModifier,
197
+ checkpointSignature,
198
+ signatureContext,
199
+ lastBlockProposal,
198
200
  );
199
-
200
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature, {
201
- blockHeader: lastBlockInfo.blockHeader,
202
- indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
203
- txHashes: lastBlockInfo.txHashes,
204
- signature: lastBlockProposal.signature,
205
- signedTxs: lastBlockProposal.signedTxs,
206
- });
207
201
  }
208
202
 
209
203
  /**
@@ -212,32 +206,36 @@ export class CheckpointProposal extends Gossipable {
212
206
  * @returns The sender address, or undefined if signature recovery fails or senders don't match
213
207
  */
214
208
  getSender(): EthAddress | undefined {
215
- if (!this.sender) {
216
- const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.checkpointProposal);
217
- const checkpointSender = tryRecoverAddress(hashed, this.signature);
209
+ if (this.cachedSender === undefined) {
210
+ const checkpointSender = recoverCoordinationSigner(this, this.signature);
218
211
 
219
- // If there's a lastBlock, verify the block proposal sender matches
220
212
  if (checkpointSender && this.lastBlock) {
221
213
  const blockProposal = this.getBlockProposal();
222
214
  const blockSender = blockProposal?.getSender();
223
215
  if (!blockSender || !blockSender.equals(checkpointSender)) {
224
- return undefined; // Sender mismatch - fail
216
+ this.cachedSender = null;
217
+ return undefined;
225
218
  }
226
219
  }
227
220
 
228
- // Cache the sender for later use
229
- this.sender = checkpointSender;
221
+ this.cachedSender = checkpointSender ?? null;
230
222
  }
231
223
 
232
- return this.sender;
224
+ return this.cachedSender ?? undefined;
233
225
  }
234
226
 
235
227
  getPayload() {
236
- return this.getPayloadToSign(SignatureDomainSeparator.checkpointProposal);
228
+ return this.getPayloadToSign();
237
229
  }
238
230
 
239
231
  toBuffer(): Buffer {
240
- const buffer: any[] = [this.checkpointHeader, this.archive, this.signature];
232
+ const buffer: any[] = [
233
+ this.checkpointHeader,
234
+ this.archive,
235
+ serializeSignedBigInt(this.feeAssetPriceModifier),
236
+ this.signature,
237
+ serializeCoordinationSignatureContext(this.signatureContext),
238
+ ];
241
239
 
242
240
  if (this.lastBlock) {
243
241
  buffer.push(1); // hasLastBlock = true
@@ -264,7 +262,9 @@ export class CheckpointProposal extends Gossipable {
264
262
 
265
263
  const checkpointHeader = reader.readObject(CheckpointHeader);
266
264
  const archive = reader.readObject(Fr);
265
+ const feeAssetPriceModifier = reader.readInt256();
267
266
  const signature = reader.readObject(Signature);
267
+ const signatureContext = readCoordinationSignatureContext(reader);
268
268
 
269
269
  const hasLastBlock = reader.readNumber();
270
270
 
@@ -286,7 +286,7 @@ export class CheckpointProposal extends Gossipable {
286
286
  }
287
287
  }
288
288
 
289
- return new CheckpointProposal(checkpointHeader, archive, signature, {
289
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext, {
290
290
  blockHeader,
291
291
  indexWithinCheckpoint,
292
292
  txHashes,
@@ -295,7 +295,7 @@ export class CheckpointProposal extends Gossipable {
295
295
  });
296
296
  }
297
297
 
298
- return new CheckpointProposal(checkpointHeader, archive, signature);
298
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, signatureContext);
299
299
  }
300
300
 
301
301
  getSize(): number {
@@ -303,6 +303,9 @@ export class CheckpointProposal extends Gossipable {
303
303
  this.checkpointHeader.toBuffer().length +
304
304
  this.archive.size +
305
305
  this.signature.getSize() +
306
+ 8 /* feeAssetPriceModifier */ +
307
+ 4 /* chainId */ +
308
+ 20 /* rollupAddress */ +
306
309
  4; /* hasLastBlock flag */
307
310
 
308
311
  if (this.lastBlock) {
@@ -320,16 +323,29 @@ export class CheckpointProposal extends Gossipable {
320
323
  }
321
324
 
322
325
  static empty(): CheckpointProposal {
323
- return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, Signature.empty());
326
+ return new CheckpointProposal(
327
+ CheckpointHeader.empty(),
328
+ Fr.ZERO,
329
+ 0n,
330
+ Signature.empty(),
331
+ EMPTY_COORDINATION_SIGNATURE_CONTEXT,
332
+ );
324
333
  }
325
334
 
326
335
  static random(): CheckpointProposal {
327
- return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), Signature.random(), {
328
- blockHeader: BlockHeader.random(),
329
- indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
330
- txHashes: [TxHash.random(), TxHash.random()],
331
- signature: Signature.random(),
332
- });
336
+ return new CheckpointProposal(
337
+ CheckpointHeader.random(),
338
+ Fr.random(),
339
+ 0n,
340
+ Signature.random(),
341
+ EMPTY_COORDINATION_SIGNATURE_CONTEXT,
342
+ {
343
+ blockHeader: BlockHeader.random(),
344
+ indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
345
+ txHashes: [TxHash.random(), TxHash.random()],
346
+ signature: Signature.random(),
347
+ },
348
+ );
333
349
  }
334
350
 
335
351
  toInspect() {
@@ -337,6 +353,9 @@ export class CheckpointProposal extends Gossipable {
337
353
  checkpointHeader: this.checkpointHeader.toInspect(),
338
354
  archive: this.archive.toString(),
339
355
  signature: this.signature.toString(),
356
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
357
+ chainId: this.signatureContext.chainId,
358
+ rollupAddress: this.signatureContext.rollupAddress.toString(),
340
359
  lastBlock: this.lastBlock
341
360
  ? {
342
361
  blockHeader: this.lastBlock.blockHeader.toInspect(),
@@ -353,7 +372,13 @@ export class CheckpointProposal extends Gossipable {
353
372
  * Used when the lastBlock has been extracted and stored separately.
354
373
  */
355
374
  toCore(): CheckpointProposalCore {
356
- return new CheckpointProposal(this.checkpointHeader, this.archive, this.signature);
375
+ return new CheckpointProposal(
376
+ this.checkpointHeader,
377
+ this.archive,
378
+ this.feeAssetPriceModifier,
379
+ this.signature,
380
+ this.signatureContext,
381
+ );
357
382
  }
358
383
  }
359
384
 
@@ -1,6 +0,0 @@
1
- export enum P2PClientType {
2
- // Full p2p clients will subscribe to all gossip topics
3
- Full,
4
- // Prove p2p clients will only subscribe to transaction and proving topics
5
- Prover,
6
- }
@@ -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 type { FieldsOf } from '@aztec/foundation/types';
6
6
 
@@ -10,10 +10,21 @@ import { z } from 'zod';
10
10
  import type { Checkpoint } from '../checkpoint/checkpoint.js';
11
11
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
12
12
  import type { CheckpointProposal, CheckpointProposalCore } from './checkpoint_proposal.js';
13
- import type { Signable, SignatureDomainSeparator } from './signature_utils.js';
13
+ import {
14
+ type CoordinationSignatureContext,
15
+ type CoordinationSignatureType,
16
+ EMPTY_COORDINATION_SIGNATURE_CONTEXT,
17
+ type Signable,
18
+ coordinationSignatureContextEquals,
19
+ coordinationSignatureContextSchema,
20
+ readCoordinationSignatureContext,
21
+ serializeCoordinationSignatureContext,
22
+ } from './signature_utils.js';
14
23
 
15
24
  /** Checkpoint consensus payload as signed by validators and verified on L1. */
16
25
  export class ConsensusPayload implements Signable {
26
+ readonly primaryType: CoordinationSignatureType = 'CheckpointAttestation';
27
+
17
28
  private size: number | undefined;
18
29
 
19
30
  constructor(
@@ -21,6 +32,10 @@ export class ConsensusPayload implements Signable {
21
32
  public readonly header: CheckpointHeader,
22
33
  /** The archive root after the block is added */
23
34
  public readonly archive: Fr,
35
+ /** The fee asset price modifier in basis points (from oracle) */
36
+ public readonly feeAssetPriceModifier: bigint,
37
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
38
+ public readonly signatureContext: CoordinationSignatureContext,
24
39
  ) {}
25
40
 
26
41
  static get schema() {
@@ -28,63 +43,80 @@ export class ConsensusPayload implements Signable {
28
43
  .object({
29
44
  header: CheckpointHeader.schema,
30
45
  archive: schemas.Fr,
46
+ feeAssetPriceModifier: schemas.BigInt,
47
+ signatureContext: coordinationSignatureContextSchema,
31
48
  })
32
- .transform(obj => new ConsensusPayload(obj.header, obj.archive));
49
+ .transform(obj => new ConsensusPayload(obj.header, obj.archive, obj.feeAssetPriceModifier, obj.signatureContext));
33
50
  }
34
51
 
35
- static getFields(fields: FieldsOf<ConsensusPayload>) {
36
- return [fields.header, fields.archive] as const;
52
+ static getFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>) {
53
+ return [fields.header, fields.archive, fields.feeAssetPriceModifier, fields.signatureContext] as const;
37
54
  }
38
55
 
39
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
56
+ getPayloadToSign(): Buffer {
57
+ // Matches the L1 ProposePayload struct in ProposeLib.sol.
40
58
  const abi = parseAbiParameters(
41
- 'uint8, ' + //domainSeperator
42
- '(' +
59
+ '(' +
43
60
  'bytes32, ' + // archive
44
61
  '(int256), ' + // oracleInput
45
62
  'bytes32' + // headerHash
46
63
  ')',
47
64
  );
48
65
  const archiveRoot = this.archive.toString();
49
-
50
66
  const headerHash = this.header.hash().toString();
51
- const encodedData = encodeAbiParameters(abi, [
52
- domainSeparator,
53
- [archiveRoot, [0n] /* @todo See #9963 */, headerHash],
54
- ] as const);
67
+ const encodedData = encodeAbiParameters(abi, [[archiveRoot, [this.feeAssetPriceModifier], headerHash]] as const);
55
68
 
56
69
  return hexToBuffer(encodedData);
57
70
  }
58
71
 
59
72
  toBuffer(): Buffer {
60
- return serializeToBuffer([this.header, this.archive]);
73
+ return serializeToBuffer([
74
+ this.header,
75
+ this.archive,
76
+ serializeSignedBigInt(this.feeAssetPriceModifier),
77
+ serializeCoordinationSignatureContext(this.signatureContext),
78
+ ]);
61
79
  }
62
80
 
63
81
  public equals(other: ConsensusPayload | CheckpointProposal | CheckpointProposalCore): boolean {
64
82
  const otherHeader = 'checkpointHeader' in other ? other.checkpointHeader : other.header;
65
- return this.header.equals(otherHeader) && this.archive.equals(other.archive);
83
+ const otherModifier = 'feeAssetPriceModifier' in other ? other.feeAssetPriceModifier : 0n;
84
+ return (
85
+ this.header.equals(otherHeader) &&
86
+ this.archive.equals(other.archive) &&
87
+ this.feeAssetPriceModifier === otherModifier &&
88
+ coordinationSignatureContextEquals(this.signatureContext, other.signatureContext)
89
+ );
66
90
  }
67
91
 
68
92
  static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload {
69
93
  const reader = BufferReader.asReader(buf);
70
- const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr));
71
- return payload;
94
+ const header = reader.readObject(CheckpointHeader);
95
+ const archive = reader.readObject(Fr);
96
+ const feeAssetPriceModifier = reader.readInt256();
97
+ const signatureContext = readCoordinationSignatureContext(reader);
98
+ return new ConsensusPayload(header, archive, feeAssetPriceModifier, signatureContext);
72
99
  }
73
100
 
74
- static fromFields(fields: FieldsOf<ConsensusPayload>): ConsensusPayload {
75
- return new ConsensusPayload(fields.header, fields.archive);
101
+ static fromFields(fields: Omit<FieldsOf<ConsensusPayload>, 'primaryType'>): ConsensusPayload {
102
+ return new ConsensusPayload(fields.header, fields.archive, fields.feeAssetPriceModifier, fields.signatureContext);
76
103
  }
77
104
 
78
- static fromCheckpoint(checkpoint: Checkpoint): ConsensusPayload {
79
- return new ConsensusPayload(checkpoint.header, checkpoint.archive.root);
105
+ static fromCheckpoint(checkpoint: Checkpoint, signatureContext: CoordinationSignatureContext): ConsensusPayload {
106
+ return new ConsensusPayload(
107
+ checkpoint.header,
108
+ checkpoint.archive.root,
109
+ checkpoint.feeAssetPriceModifier,
110
+ signatureContext,
111
+ );
80
112
  }
81
113
 
82
114
  static empty(): ConsensusPayload {
83
- return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO);
115
+ return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, 0n, EMPTY_COORDINATION_SIGNATURE_CONTEXT);
84
116
  }
85
117
 
86
118
  static random(): ConsensusPayload {
87
- return new ConsensusPayload(CheckpointHeader.random(), Fr.random());
119
+ return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), 0n, EMPTY_COORDINATION_SIGNATURE_CONTEXT);
88
120
  }
89
121
 
90
122
  /**
@@ -104,10 +136,13 @@ export class ConsensusPayload implements Signable {
104
136
  return {
105
137
  header: this.header.toInspect(),
106
138
  archive: this.archive.toString(),
139
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
140
+ chainId: this.signatureContext.chainId,
141
+ rollupAddress: this.signatureContext.rollupAddress.toString(),
107
142
  };
108
143
  }
109
144
 
110
145
  toString() {
111
- return `header: ${this.header.toString()}, archive: ${this.archive.toString()}}`;
146
+ return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, feeAssetPriceModifier: ${this.feeAssetPriceModifier}, chainId: ${this.signatureContext.chainId}, rollupAddress: ${this.signatureContext.rollupAddress.toString()}`;
112
147
  }
113
148
  }
@@ -1,3 +1,6 @@
1
1
  export const MAX_TX_SIZE_KB: number = 512;
2
2
 
3
3
  export const MAX_MESSAGE_SIZE_KB: number = 10 * 1024;
4
+
5
+ /** Maximum size for L2Block response (contains TxEffects, not full Txs with proofs) */
6
+ export const MAX_L2_BLOCK_SIZE_KB: number = 3 * 1024; // 3 MB
@@ -1,4 +1,4 @@
1
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { BaseBuffer32 } from '@aztec/foundation/buffer';
2
2
  import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
 
4
4
  import type { TopicType } from './topic_type.js';
@@ -46,7 +46,7 @@ export class P2PMessage {
46
46
  * Any class which extends gossipable will be able to be Gossiped over the p2p network
47
47
  */
48
48
  export abstract class Gossipable {
49
- private cachedId: Buffer32 | undefined;
49
+ private cachedId: BaseBuffer32 | undefined;
50
50
  /** The p2p topic identifier, this determines how the message is handled */
51
51
  static p2pTopic: TopicType;
52
52
 
@@ -54,7 +54,7 @@ export abstract class Gossipable {
54
54
  * A digest of the message information **used for logging only**.
55
55
  * The identifier used for deduplication is `getMsgIdFn` as defined in `encoding.ts` which is a hash over topic and data.
56
56
  */
57
- async p2pMessageLoggingIdentifier(): Promise<Buffer32> {
57
+ async p2pMessageLoggingIdentifier(): Promise<BaseBuffer32> {
58
58
  if (this.cachedId) {
59
59
  return this.cachedId;
60
60
  }
@@ -62,7 +62,7 @@ export abstract class Gossipable {
62
62
  return this.cachedId;
63
63
  }
64
64
 
65
- abstract generateP2PMessageIdentifier(): Promise<Buffer32>;
65
+ abstract generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
66
66
 
67
67
  abstract toBuffer(): Buffer;
68
68
 
package/src/p2p/index.ts CHANGED
@@ -8,7 +8,6 @@ export * from './interface.js';
8
8
  export * from './signature_utils.js';
9
9
  export * from './signed_txs.js';
10
10
  export * from './topic_type.js';
11
- export * from './client_type.js';
12
11
  export * from './message_validator.js';
13
12
  export * from './peer_error.js';
14
13
  export * from './constants.js';
@@ -15,3 +15,10 @@ export enum PeerErrorSeverity {
15
15
  */
16
16
  HighToleranceError = 'HighToleranceError',
17
17
  }
18
+
19
+ /** Severities ordered from mildest to harshest. */
20
+ export const PeerErrorSeverityByHarshness = [
21
+ PeerErrorSeverity.HighToleranceError,
22
+ PeerErrorSeverity.MidToleranceError,
23
+ PeerErrorSeverity.LowToleranceError,
24
+ ] as const;