@aztec/stdlib 0.0.1-commit.a072138 → 0.0.1-commit.a89ec08

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 (552) hide show
  1. package/dest/abi/abi.d.ts +57 -85
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +55 -6
  4. package/dest/abi/buffer.d.ts +14 -4
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +25 -4
  7. package/dest/abi/decoder.d.ts +6 -45
  8. package/dest/abi/decoder.d.ts.map +1 -1
  9. package/dest/abi/decoder.js +17 -70
  10. package/dest/abi/encoder.d.ts +1 -1
  11. package/dest/abi/encoder.d.ts.map +1 -1
  12. package/dest/abi/encoder.js +37 -6
  13. package/dest/abi/event_metadata_definition.d.ts +3 -1
  14. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  15. package/dest/abi/event_metadata_definition.js +1 -1
  16. package/dest/abi/function_call.d.ts +39 -9
  17. package/dest/abi/function_call.d.ts.map +1 -1
  18. package/dest/abi/function_call.js +20 -3
  19. package/dest/abi/function_selector.js +1 -1
  20. package/dest/abi/function_signature_decoder.d.ts +43 -0
  21. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  22. package/dest/abi/function_signature_decoder.js +66 -0
  23. package/dest/abi/index.d.ts +2 -1
  24. package/dest/abi/index.d.ts.map +1 -1
  25. package/dest/abi/index.js +1 -0
  26. package/dest/abi/selector.d.ts +2 -2
  27. package/dest/abi/selector.d.ts.map +1 -1
  28. package/dest/abi/selector.js +1 -1
  29. package/dest/abi/utils.d.ts +14 -1
  30. package/dest/abi/utils.d.ts.map +1 -1
  31. package/dest/abi/utils.js +15 -0
  32. package/dest/auth_witness/auth_witness.js +3 -3
  33. package/dest/avm/avm.d.ts +300 -300
  34. package/dest/avm/avm_accumulated_data.js +2 -2
  35. package/dest/avm/avm_circuit_public_inputs.js +2 -2
  36. package/dest/avm/avm_proving_request.d.ts +166 -166
  37. package/dest/avm/revert_code.d.ts +9 -4
  38. package/dest/avm/revert_code.d.ts.map +1 -1
  39. package/dest/avm/revert_code.js +16 -21
  40. package/dest/block/block_data.d.ts +52 -0
  41. package/dest/block/block_data.d.ts.map +1 -0
  42. package/dest/block/block_data.js +12 -0
  43. package/dest/block/in_block.js +1 -1
  44. package/dest/block/index.d.ts +2 -1
  45. package/dest/block/index.d.ts.map +1 -1
  46. package/dest/block/index.js +1 -0
  47. package/dest/block/l2_block.d.ts +9 -1
  48. package/dest/block/l2_block.d.ts.map +1 -1
  49. package/dest/block/l2_block.js +12 -2
  50. package/dest/block/l2_block_source.d.ts +35 -8
  51. package/dest/block/l2_block_source.d.ts.map +1 -1
  52. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  53. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  54. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  55. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  56. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  57. package/dest/checkpoint/checkpoint.d.ts +22 -7
  58. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  59. package/dest/checkpoint/checkpoint.js +32 -16
  60. package/dest/checkpoint/checkpoint_data.d.ts +120 -0
  61. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  62. package/dest/checkpoint/checkpoint_data.js +26 -0
  63. package/dest/checkpoint/index.d.ts +3 -1
  64. package/dest/checkpoint/index.d.ts.map +1 -1
  65. package/dest/checkpoint/index.js +2 -0
  66. package/dest/checkpoint/published_checkpoint.d.ts +17 -2
  67. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  68. package/dest/checkpoint/published_checkpoint.js +1 -2
  69. package/dest/checkpoint/validate.d.ts +36 -0
  70. package/dest/checkpoint/validate.d.ts.map +1 -0
  71. package/dest/checkpoint/validate.js +120 -0
  72. package/dest/config/index.d.ts +2 -1
  73. package/dest/config/index.d.ts.map +1 -1
  74. package/dest/config/index.js +1 -0
  75. package/dest/config/sequencer-config.d.ts +10 -0
  76. package/dest/config/sequencer-config.d.ts.map +1 -0
  77. package/dest/config/sequencer-config.js +23 -0
  78. package/dest/contract/contract_address.js +4 -4
  79. package/dest/contract/contract_class.d.ts +2 -3
  80. package/dest/contract/contract_class.d.ts.map +1 -1
  81. package/dest/contract/contract_class_id.d.ts +1 -1
  82. package/dest/contract/contract_class_id.d.ts.map +1 -1
  83. package/dest/contract/contract_class_id.js +5 -4
  84. package/dest/contract/interfaces/node-info.d.ts +3 -1
  85. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  86. package/dest/contract/interfaces/node-info.js +2 -1
  87. package/dest/contract/private_function.js +2 -2
  88. package/dest/epoch-helpers/index.d.ts +13 -1
  89. package/dest/epoch-helpers/index.d.ts.map +1 -1
  90. package/dest/epoch-helpers/index.js +15 -2
  91. package/dest/file-store/local.d.ts +3 -3
  92. package/dest/file-store/local.d.ts.map +1 -1
  93. package/dest/file-store/local.js +13 -4
  94. package/dest/file-store/s3.d.ts +1 -1
  95. package/dest/file-store/s3.d.ts.map +1 -1
  96. package/dest/file-store/s3.js +11 -3
  97. package/dest/gas/gas_fees.d.ts +1 -1
  98. package/dest/gas/gas_fees.d.ts.map +1 -1
  99. package/dest/gas/gas_fees.js +4 -1
  100. package/dest/gas/gas_settings.d.ts +40 -3
  101. package/dest/gas/gas_settings.d.ts.map +1 -1
  102. package/dest/gas/gas_settings.js +50 -6
  103. package/dest/hash/hash.d.ts +20 -1
  104. package/dest/hash/hash.d.ts.map +1 -1
  105. package/dest/hash/hash.js +45 -10
  106. package/dest/hash/map_slot.js +2 -2
  107. package/dest/interfaces/allowed_element.d.ts +26 -20
  108. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  109. package/dest/interfaces/allowed_element.js +8 -8
  110. package/dest/interfaces/archiver.d.ts +1 -1
  111. package/dest/interfaces/archiver.d.ts.map +1 -1
  112. package/dest/interfaces/archiver.js +8 -2
  113. package/dest/interfaces/aztec-node-admin.d.ts +109 -29
  114. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  115. package/dest/interfaces/aztec-node-admin.js +12 -4
  116. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  117. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  118. package/dest/interfaces/aztec-node-debug.js +18 -0
  119. package/dest/interfaces/aztec-node.d.ts +13 -7
  120. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  121. package/dest/interfaces/aztec-node.js +5 -2
  122. package/dest/interfaces/block-builder.d.ts +39 -12
  123. package/dest/interfaces/block-builder.d.ts.map +1 -1
  124. package/dest/interfaces/block-builder.js +13 -6
  125. package/dest/interfaces/client.d.ts +2 -1
  126. package/dest/interfaces/client.d.ts.map +1 -1
  127. package/dest/interfaces/client.js +1 -0
  128. package/dest/interfaces/configs.d.ts +77 -32
  129. package/dest/interfaces/configs.d.ts.map +1 -1
  130. package/dest/interfaces/configs.js +10 -3
  131. package/dest/interfaces/get_logs_response.d.ts +8 -1
  132. package/dest/interfaces/get_logs_response.d.ts.map +1 -1
  133. package/dest/interfaces/merkle_tree_operations.d.ts +10 -20
  134. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  135. package/dest/interfaces/p2p.d.ts +4 -9
  136. package/dest/interfaces/p2p.d.ts.map +1 -1
  137. package/dest/interfaces/prover-broker.d.ts +16 -1
  138. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  139. package/dest/interfaces/prover-broker.js +4 -1
  140. package/dest/interfaces/prover-client.d.ts +11 -1
  141. package/dest/interfaces/prover-client.d.ts.map +1 -1
  142. package/dest/interfaces/prover-client.js +12 -1
  143. package/dest/interfaces/proving-job.d.ts +202 -202
  144. package/dest/interfaces/slasher.d.ts +9 -1
  145. package/dest/interfaces/slasher.d.ts.map +1 -1
  146. package/dest/interfaces/slasher.js +2 -0
  147. package/dest/interfaces/validator.d.ts +114 -26
  148. package/dest/interfaces/validator.d.ts.map +1 -1
  149. package/dest/interfaces/validator.js +9 -2
  150. package/dest/interfaces/world_state.d.ts +5 -4
  151. package/dest/interfaces/world_state.d.ts.map +1 -1
  152. package/dest/kernel/claimed_length_array.js +1 -1
  153. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  154. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  155. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  156. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  157. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  158. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  159. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  160. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  161. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  162. package/dest/kernel/hints/index.d.ts +2 -2
  163. package/dest/kernel/hints/index.js +2 -2
  164. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  165. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  166. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  167. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -1
  168. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  169. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  170. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  171. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  172. package/dest/kernel/padded_side_effects.js +1 -1
  173. package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
  174. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  175. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  176. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  177. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  178. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  179. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  180. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  181. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  182. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +4 -3
  183. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  184. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +11 -7
  185. package/dest/kernel/private_to_avm_accumulated_data.js +2 -2
  186. package/dest/kernel/private_to_public_accumulated_data.js +2 -2
  187. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
  188. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  189. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
  190. package/dest/kernel/private_to_rollup_accumulated_data.js +1 -1
  191. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
  192. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  193. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
  194. package/dest/kernel/private_validation_requests.d.ts +3 -3
  195. package/dest/kernel/private_validation_requests.js +9 -9
  196. package/dest/keys/derivation.js +8 -8
  197. package/dest/keys/key_types.d.ts +3 -3
  198. package/dest/keys/key_types.d.ts.map +1 -1
  199. package/dest/keys/public_keys.js +2 -2
  200. package/dest/keys/utils.js +5 -5
  201. package/dest/logs/debug_log_store.d.ts +30 -0
  202. package/dest/logs/debug_log_store.d.ts.map +1 -0
  203. package/dest/logs/debug_log_store.js +30 -0
  204. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  205. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  206. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +35 -20
  207. package/dest/logs/extended_public_log.d.ts +7 -1
  208. package/dest/logs/extended_public_log.d.ts.map +1 -1
  209. package/dest/logs/index.d.ts +4 -2
  210. package/dest/logs/index.d.ts.map +1 -1
  211. package/dest/logs/index.js +3 -1
  212. package/dest/logs/log_filter.d.ts +4 -1
  213. package/dest/logs/log_filter.d.ts.map +1 -1
  214. package/dest/logs/log_filter.js +2 -1
  215. package/dest/logs/log_id.d.ts +10 -7
  216. package/dest/logs/log_id.d.ts.map +1 -1
  217. package/dest/logs/log_id.js +15 -13
  218. package/dest/logs/message_context.d.ts +4 -7
  219. package/dest/logs/message_context.d.ts.map +1 -1
  220. package/dest/logs/message_context.js +23 -9
  221. package/dest/logs/pending_tagged_log.d.ts +2 -3
  222. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  223. package/dest/logs/pending_tagged_log.js +2 -2
  224. package/dest/logs/pre_tag.d.ts +16 -11
  225. package/dest/logs/pre_tag.d.ts.map +1 -1
  226. package/dest/logs/pre_tag.js +2 -2
  227. package/dest/logs/private_log.d.ts +2 -2
  228. package/dest/logs/private_log.d.ts.map +1 -1
  229. package/dest/logs/private_log.js +1 -1
  230. package/dest/logs/public_log.d.ts +4 -3
  231. package/dest/logs/public_log.d.ts.map +1 -1
  232. package/dest/logs/public_log.js +9 -2
  233. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  234. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  235. package/dest/logs/shared_secret_derivation.js +15 -9
  236. package/dest/logs/siloed_tag.d.ts +8 -3
  237. package/dest/logs/siloed_tag.d.ts.map +1 -1
  238. package/dest/logs/siloed_tag.js +12 -7
  239. package/dest/logs/tag.js +1 -1
  240. package/dest/logs/tagging_index_range.d.ts +40 -0
  241. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  242. package/dest/logs/tagging_index_range.js +8 -0
  243. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  244. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  245. package/dest/logs/tx_scoped_l2_log.js +7 -0
  246. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  247. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  248. package/dest/messaging/l1_to_l2_message.js +11 -13
  249. package/dest/messaging/l2_to_l1_membership.d.ts +34 -8
  250. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  251. package/dest/messaging/l2_to_l1_membership.js +72 -29
  252. package/dest/noir/index.d.ts +3 -3
  253. package/dest/noir/index.d.ts.map +1 -1
  254. package/dest/note/index.d.ts +1 -2
  255. package/dest/note/index.d.ts.map +1 -1
  256. package/dest/note/index.js +0 -1
  257. package/dest/note/note_dao.d.ts +1 -1
  258. package/dest/note/note_dao.d.ts.map +1 -1
  259. package/dest/note/note_dao.js +1 -4
  260. package/dest/p2p/attestation_utils.d.ts +11 -1
  261. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  262. package/dest/p2p/attestation_utils.js +45 -0
  263. package/dest/p2p/block_proposal.d.ts +1 -1
  264. package/dest/p2p/block_proposal.d.ts.map +1 -1
  265. package/dest/p2p/block_proposal.js +1 -3
  266. package/dest/p2p/checkpoint_attestation.d.ts +2 -1
  267. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  268. package/dest/p2p/checkpoint_attestation.js +1 -1
  269. package/dest/p2p/checkpoint_proposal.d.ts +17 -10
  270. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  271. package/dest/p2p/checkpoint_proposal.js +40 -36
  272. package/dest/p2p/client_type.d.ts +2 -5
  273. package/dest/p2p/client_type.d.ts.map +1 -1
  274. package/dest/p2p/client_type.js +0 -7
  275. package/dest/p2p/consensus_payload.d.ts +12 -3
  276. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  277. package/dest/p2p/consensus_payload.js +22 -15
  278. package/dest/p2p/constants.d.ts +3 -1
  279. package/dest/p2p/constants.d.ts.map +1 -1
  280. package/dest/p2p/constants.js +1 -0
  281. package/dest/p2p/index.d.ts +1 -2
  282. package/dest/p2p/index.d.ts.map +1 -1
  283. package/dest/p2p/index.js +0 -1
  284. package/dest/p2p/peer_error.d.ts +3 -1
  285. package/dest/p2p/peer_error.d.ts.map +1 -1
  286. package/dest/p2p/peer_error.js +5 -0
  287. package/dest/p2p/topic_type.d.ts +3 -4
  288. package/dest/p2p/topic_type.d.ts.map +1 -1
  289. package/dest/p2p/topic_type.js +7 -24
  290. package/dest/parity/parity_base_private_inputs.js +1 -1
  291. package/dest/proofs/chonk_proof.d.ts +1 -1
  292. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  293. package/dest/proofs/chonk_proof.js +7 -1
  294. package/dest/rollup/base_rollup_hints.js +2 -2
  295. package/dest/rollup/block_root_rollup_private_inputs.js +5 -5
  296. package/dest/rollup/checkpoint_header.d.ts +2 -2
  297. package/dest/rollup/checkpoint_header.js +2 -2
  298. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
  299. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  300. package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
  301. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
  302. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  303. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +3 -3
  304. package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
  305. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  306. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  307. package/dest/rollup/tree_snapshot_diff_hints.js +2 -2
  308. package/dest/slashing/empire.d.ts +1 -1
  309. package/dest/slashing/empire.d.ts.map +1 -1
  310. package/dest/slashing/empire.js +2 -0
  311. package/dest/slashing/helpers.d.ts +2 -2
  312. package/dest/slashing/helpers.d.ts.map +1 -1
  313. package/dest/slashing/helpers.js +6 -0
  314. package/dest/slashing/tally.d.ts +8 -2
  315. package/dest/slashing/tally.d.ts.map +1 -1
  316. package/dest/slashing/tally.js +35 -3
  317. package/dest/slashing/types.d.ts +7 -3
  318. package/dest/slashing/types.d.ts.map +1 -1
  319. package/dest/slashing/types.js +13 -1
  320. package/dest/tests/factories.d.ts +3 -1
  321. package/dest/tests/factories.d.ts.map +1 -1
  322. package/dest/tests/factories.js +22 -14
  323. package/dest/tests/mocks.d.ts +8 -3
  324. package/dest/tests/mocks.d.ts.map +1 -1
  325. package/dest/tests/mocks.js +33 -23
  326. package/dest/timetable/index.d.ts +37 -0
  327. package/dest/timetable/index.d.ts.map +1 -0
  328. package/dest/timetable/index.js +39 -0
  329. package/dest/trees/public_data_leaf.d.ts +2 -1
  330. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  331. package/dest/trees/public_data_leaf.js +7 -6
  332. package/dest/tx/block_header.d.ts +3 -1
  333. package/dest/tx/block_header.d.ts.map +1 -1
  334. package/dest/tx/block_header.js +6 -2
  335. package/dest/tx/capsule.d.ts +6 -2
  336. package/dest/tx/capsule.d.ts.map +1 -1
  337. package/dest/tx/capsule.js +9 -3
  338. package/dest/tx/global_variables.d.ts +4 -4
  339. package/dest/tx/global_variables.d.ts.map +1 -1
  340. package/dest/tx/private_execution_result.d.ts +6 -6
  341. package/dest/tx/private_execution_result.d.ts.map +1 -1
  342. package/dest/tx/private_execution_result.js +6 -6
  343. package/dest/tx/profiling.d.ts +17 -5
  344. package/dest/tx/profiling.d.ts.map +1 -1
  345. package/dest/tx/profiling.js +15 -5
  346. package/dest/tx/protocol_contracts.d.ts +1 -1
  347. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  348. package/dest/tx/protocol_contracts.js +4 -4
  349. package/dest/tx/public_simulation_output.d.ts +4 -2
  350. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  351. package/dest/tx/public_simulation_output.js +7 -3
  352. package/dest/tx/simulated_tx.d.ts +63 -77
  353. package/dest/tx/simulated_tx.d.ts.map +1 -1
  354. package/dest/tx/simulated_tx.js +7 -4
  355. package/dest/tx/tx.d.ts +6 -5
  356. package/dest/tx/tx.d.ts.map +1 -1
  357. package/dest/tx/tx.js +18 -6
  358. package/dest/tx/tx_receipt.d.ts +29 -6
  359. package/dest/tx/tx_receipt.d.ts.map +1 -1
  360. package/dest/tx/tx_receipt.js +23 -19
  361. package/dest/tx/tx_request.js +2 -2
  362. package/dest/tx/validator/empty_validator.d.ts +2 -2
  363. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  364. package/dest/tx/validator/error_texts.d.ts +10 -2
  365. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  366. package/dest/tx/validator/error_texts.js +11 -1
  367. package/dest/tx/validator/tx_validator.d.ts +2 -2
  368. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  369. package/dest/update-checker/index.d.ts +3 -2
  370. package/dest/update-checker/index.d.ts.map +1 -1
  371. package/dest/update-checker/index.js +2 -1
  372. package/dest/update-checker/package_version.d.ts +3 -0
  373. package/dest/update-checker/package_version.d.ts.map +1 -0
  374. package/dest/update-checker/package_version.js +24 -0
  375. package/dest/update-checker/version_checker.d.ts +25 -0
  376. package/dest/update-checker/version_checker.d.ts.map +1 -0
  377. package/dest/update-checker/version_checker.js +50 -0
  378. package/dest/validators/errors.d.ts +6 -1
  379. package/dest/validators/errors.d.ts.map +1 -1
  380. package/dest/validators/errors.js +7 -0
  381. package/dest/validators/schemas.d.ts +30 -30
  382. package/dest/validators/schemas.d.ts.map +1 -1
  383. package/dest/validators/schemas.js +4 -3
  384. package/dest/validators/types.d.ts +3 -3
  385. package/dest/validators/types.d.ts.map +1 -1
  386. package/dest/versioning/versioning.d.ts +4 -2
  387. package/dest/versioning/versioning.d.ts.map +1 -1
  388. package/dest/versioning/versioning.js +4 -1
  389. package/dest/vks/vk_data.js +1 -1
  390. package/package.json +23 -12
  391. package/src/abi/abi.ts +78 -2
  392. package/src/abi/buffer.ts +25 -4
  393. package/src/abi/decoder.ts +36 -82
  394. package/src/abi/encoder.ts +49 -6
  395. package/src/abi/event_metadata_definition.ts +2 -0
  396. package/src/abi/function_call.ts +25 -3
  397. package/src/abi/function_selector.ts +1 -1
  398. package/src/abi/function_signature_decoder.ts +77 -0
  399. package/src/abi/index.ts +1 -0
  400. package/src/abi/selector.ts +1 -1
  401. package/src/abi/utils.ts +25 -0
  402. package/src/auth_witness/auth_witness.ts +3 -3
  403. package/src/avm/avm_accumulated_data.ts +6 -6
  404. package/src/avm/avm_circuit_public_inputs.ts +4 -4
  405. package/src/avm/revert_code.ts +26 -25
  406. package/src/block/block_data.ts +26 -0
  407. package/src/block/in_block.ts +1 -1
  408. package/src/block/index.ts +1 -0
  409. package/src/block/l2_block.ts +13 -1
  410. package/src/block/l2_block_source.ts +38 -7
  411. package/src/block/l2_block_stream/interfaces.ts +6 -2
  412. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  413. package/src/checkpoint/checkpoint.ts +43 -16
  414. package/src/checkpoint/checkpoint_data.ts +51 -0
  415. package/src/checkpoint/index.ts +2 -0
  416. package/src/checkpoint/published_checkpoint.ts +3 -1
  417. package/src/checkpoint/validate.ts +230 -0
  418. package/src/config/index.ts +1 -0
  419. package/src/config/sequencer-config.ts +34 -0
  420. package/src/contract/contract_address.ts +4 -4
  421. package/src/contract/contract_class.ts +3 -3
  422. package/src/contract/contract_class_id.ts +5 -4
  423. package/src/contract/interfaces/node-info.ts +3 -0
  424. package/src/contract/private_function.ts +2 -2
  425. package/src/epoch-helpers/index.ts +25 -0
  426. package/src/file-store/local.ts +15 -5
  427. package/src/file-store/s3.ts +12 -3
  428. package/src/gas/README.md +123 -0
  429. package/src/gas/gas_fees.ts +7 -1
  430. package/src/gas/gas_settings.ts +65 -12
  431. package/src/hash/hash.ts +48 -10
  432. package/src/hash/map_slot.ts +2 -2
  433. package/src/interfaces/allowed_element.ts +29 -9
  434. package/src/interfaces/archiver.ts +8 -2
  435. package/src/interfaces/aztec-node-admin.ts +26 -2
  436. package/src/interfaces/aztec-node-debug.ts +40 -0
  437. package/src/interfaces/aztec-node.ts +25 -6
  438. package/src/interfaces/block-builder.ts +61 -14
  439. package/src/interfaces/client.ts +1 -0
  440. package/src/interfaces/configs.ts +36 -8
  441. package/src/interfaces/merkle_tree_operations.ts +9 -19
  442. package/src/interfaces/p2p.ts +3 -14
  443. package/src/interfaces/prover-broker.ts +22 -0
  444. package/src/interfaces/prover-client.ts +15 -0
  445. package/src/interfaces/slasher.ts +4 -0
  446. package/src/interfaces/validator.ts +29 -3
  447. package/src/interfaces/world_state.ts +4 -3
  448. package/src/kernel/claimed_length_array.ts +2 -2
  449. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  450. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  451. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  452. package/src/kernel/hints/index.ts +2 -2
  453. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  454. package/src/kernel/hints/private_kernel_reset_hints.ts +5 -2
  455. package/src/kernel/hints/read_request_hints.ts +3 -3
  456. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  457. package/src/kernel/padded_side_effects.ts +3 -3
  458. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  459. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  460. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  461. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +14 -5
  462. package/src/kernel/private_to_avm_accumulated_data.ts +4 -4
  463. package/src/kernel/private_to_public_accumulated_data.ts +10 -10
  464. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
  465. package/src/kernel/private_to_rollup_accumulated_data.ts +5 -5
  466. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
  467. package/src/kernel/private_validation_requests.ts +8 -8
  468. package/src/keys/derivation.ts +8 -8
  469. package/src/keys/key_types.ts +6 -2
  470. package/src/keys/public_keys.ts +2 -2
  471. package/src/keys/utils.ts +5 -5
  472. package/src/logs/debug_log_store.ts +54 -0
  473. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +41 -22
  474. package/src/logs/index.ts +3 -1
  475. package/src/logs/log_filter.ts +5 -0
  476. package/src/logs/log_id.ts +15 -12
  477. package/src/logs/message_context.ts +17 -7
  478. package/src/logs/pending_tagged_log.ts +1 -3
  479. package/src/logs/pre_tag.ts +5 -5
  480. package/src/logs/private_log.ts +1 -1
  481. package/src/logs/public_log.ts +15 -3
  482. package/src/logs/shared_secret_derivation.ts +21 -10
  483. package/src/logs/siloed_tag.ts +15 -5
  484. package/src/logs/tag.ts +1 -1
  485. package/src/logs/tagging_index_range.ts +24 -0
  486. package/src/logs/tx_scoped_l2_log.ts +16 -0
  487. package/src/messaging/l1_to_l2_message.ts +12 -9
  488. package/src/messaging/l2_to_l1_membership.ts +101 -36
  489. package/src/noir/index.ts +2 -2
  490. package/src/note/index.ts +0 -1
  491. package/src/note/note_dao.ts +1 -4
  492. package/src/p2p/attestation_utils.ts +56 -0
  493. package/src/p2p/block_proposal.ts +0 -2
  494. package/src/p2p/checkpoint_attestation.ts +6 -1
  495. package/src/p2p/checkpoint_proposal.ts +66 -48
  496. package/src/p2p/client_type.ts +0 -6
  497. package/src/p2p/consensus_payload.ts +25 -12
  498. package/src/p2p/constants.ts +3 -0
  499. package/src/p2p/index.ts +0 -1
  500. package/src/p2p/peer_error.ts +7 -0
  501. package/src/p2p/topic_type.ts +8 -15
  502. package/src/parity/parity_base_private_inputs.ts +1 -1
  503. package/src/proofs/chonk_proof.ts +9 -1
  504. package/src/rollup/base_rollup_hints.ts +2 -2
  505. package/src/rollup/block_root_rollup_private_inputs.ts +8 -8
  506. package/src/rollup/checkpoint_header.ts +2 -2
  507. package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
  508. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +4 -4
  509. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  510. package/src/rollup/tree_snapshot_diff_hints.ts +5 -5
  511. package/src/slashing/empire.ts +3 -1
  512. package/src/slashing/helpers.ts +8 -0
  513. package/src/slashing/tally.ts +41 -2
  514. package/src/slashing/types.ts +14 -0
  515. package/src/tests/factories.ts +27 -18
  516. package/src/tests/mocks.ts +47 -21
  517. package/src/timetable/index.ts +66 -0
  518. package/src/trees/public_data_leaf.ts +11 -5
  519. package/src/tx/block_header.ts +8 -2
  520. package/src/tx/capsule.ts +10 -2
  521. package/src/tx/global_variables.ts +3 -3
  522. package/src/tx/private_execution_result.ts +5 -5
  523. package/src/tx/profiling.ts +14 -5
  524. package/src/tx/protocol_contracts.ts +4 -4
  525. package/src/tx/public_simulation_output.ts +4 -0
  526. package/src/tx/simulated_tx.ts +14 -3
  527. package/src/tx/tx.ts +20 -11
  528. package/src/tx/tx_receipt.ts +28 -16
  529. package/src/tx/tx_request.ts +2 -2
  530. package/src/tx/validator/empty_validator.ts +1 -1
  531. package/src/tx/validator/error_texts.ts +13 -1
  532. package/src/tx/validator/tx_validator.ts +1 -1
  533. package/src/update-checker/index.ts +2 -1
  534. package/src/update-checker/package_version.ts +30 -0
  535. package/src/update-checker/version_checker.ts +65 -0
  536. package/src/validators/errors.ts +9 -0
  537. package/src/validators/schemas.ts +8 -1
  538. package/src/validators/types.ts +5 -4
  539. package/src/versioning/versioning.ts +4 -1
  540. package/src/vks/vk_data.ts +1 -1
  541. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  542. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  543. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  544. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  545. package/dest/note/notes_filter.d.ts +0 -27
  546. package/dest/note/notes_filter.d.ts.map +0 -1
  547. package/dest/note/notes_filter.js +0 -11
  548. package/dest/update-checker/update-checker.d.ts +0 -49
  549. package/dest/update-checker/update-checker.d.ts.map +0 -1
  550. package/dest/update-checker/update-checker.js +0 -130
  551. package/src/note/notes_filter.ts +0 -38
  552. package/src/update-checker/update-checker.ts +0 -166
@@ -73,9 +73,10 @@ export declare class CheckpointAttestation extends Gossipable {
73
73
  totalManaUsed: bigint;
74
74
  };
75
75
  archive: `0x${string}`;
76
+ feeAssetPriceModifier: string;
76
77
  };
77
78
  signature: `0x${string}`;
78
79
  proposerSignature: `0x${string}`;
79
80
  };
80
81
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTtJQU9qRCxpRUFBaUU7YUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7YUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO2FBQ2pDLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBV3BDO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT25FO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUVyQztJQUVELE9BQU8sSUFBSSxNQUFNLENBRWhCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTtJQU9qRCxpRUFBaUU7YUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7YUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO2FBQ2pDLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBZ0JwQztJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixDQU9uRTtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUkscUJBQXFCLENBRXBDO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxxQkFBcUIsQ0FFckM7SUFFRCxPQUFPLElBQUksTUFBTSxDQUVoQjtJQUVELFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTVI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,QAAQ;IACrD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;IAEzC;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzD;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAYlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAWpC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
1
+ {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,QAAQ;IACrD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;IAEzC;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzD;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAYlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAgBpC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
@@ -65,7 +65,7 @@ export class CheckpointAttestationHash extends Buffer32 {
65
65
  // Create a temporary CheckpointProposal to recover the proposer address.
66
66
  // We need to use CheckpointProposal because it has a different getPayloadToSign()
67
67
  // implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
68
- const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.proposerSignature);
68
+ const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.payload.feeAssetPriceModifier, this.proposerSignature);
69
69
  // Cache the proposer for later use
70
70
  this.proposer = proposal.getSender();
71
71
  }
@@ -58,7 +58,9 @@ export declare class CheckpointProposal extends Gossipable {
58
58
  readonly checkpointHeader: CheckpointHeader;
59
59
  /** Archive root after this checkpoint is applied */
60
60
  readonly archive: Fr;
61
- /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */
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) */
62
64
  readonly signature: Signature;
63
65
  /** Optional last block info, including its own signature for BlockProposal extraction */
64
66
  readonly lastBlock?: CheckpointLastBlock | undefined;
@@ -69,29 +71,33 @@ export declare class CheckpointProposal extends Gossipable {
69
71
  checkpointHeader: CheckpointHeader,
70
72
  /** Archive root after this checkpoint is applied */
71
73
  archive: Fr,
72
- /** 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) */
73
77
  signature: Signature,
74
78
  /** Optional last block info, including its own signature for BlockProposal extraction */
75
79
  lastBlock?: CheckpointLastBlock | undefined);
76
80
  generateP2PMessageIdentifier(): Promise<Buffer32>;
77
81
  get slotNumber(): SlotNumber;
78
- get blockNumber(): BlockNumber;
79
- /** Convenience getter for txHashes from lastBlock */
80
- get txHashes(): TxHash[];
81
- /** Convenience getter for txs from lastBlock */
82
- get txs(): Tx[] | undefined;
83
82
  /**
84
83
  * Extract a BlockProposal from the last block info.
85
84
  * Uses inHash from checkpointHeader.contentCommitment.inHash
86
85
  */
87
86
  getBlockProposal(): BlockProposal | undefined;
88
87
  toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'>;
88
+ toCheckpointInfo(): {
89
+ slotNumber: SlotNumber;
90
+ archive: Fr;
91
+ lastBlockNumber: BlockNumber | undefined;
92
+ lastBlockIndex: IndexWithinCheckpoint | undefined;
93
+ blockHeadersHash: Fr;
94
+ };
89
95
  /**
90
96
  * Get the payload to sign for this checkpoint proposal.
91
- * The signature is over the checkpoint header + archive root (for consensus).
97
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
92
98
  */
93
99
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
94
- static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
100
+ static createProposalFromSigner(checkpointHeader: CheckpointHeader, archiveRoot: Fr, feeAssetPriceModifier: bigint, lastBlockInfo: CheckpointLastBlockData | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<CheckpointProposal>;
95
101
  /**
96
102
  * Lazily evaluate the sender of the proposal; result is cached.
97
103
  * If there's a lastBlock, also verifies the block proposal sender matches the checkpoint sender.
@@ -123,6 +129,7 @@ export declare class CheckpointProposal extends Gossipable {
123
129
  };
124
130
  archive: `0x${string}`;
125
131
  signature: `0x${string}`;
132
+ feeAssetPriceModifier: string;
126
133
  lastBlock: {
127
134
  blockHeader: {
128
135
  lastArchive: `0x${string}`;
@@ -164,4 +171,4 @@ export declare class CheckpointProposal extends Gossipable {
164
171
  * This type makes it clear that lastBlock and getBlockProposal() are not available.
165
172
  */
166
173
  export type CheckpointProposalCore = Omit<CheckpointProposal, 'lastBlock' | 'getBlockProposal' | 'toCore'>;
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RSxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X3Byb3Bvc2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3BELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx3QkFBd0IsRUFHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_proposal.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { keccak256 } from '@aztec/foundation/crypto/keccak';
4
4
  import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
5
5
  import { Fr } from '@aztec/foundation/curves/bn254';
6
6
  import { Signature } from '@aztec/foundation/eth-signature';
7
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
7
+ import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
8
8
  import { DutyType } from '@aztec/validator-ha-signer/types';
9
9
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
10
10
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
@@ -28,12 +28,13 @@ export class CheckpointProposalHash extends Buffer32 {
28
28
  */ export class CheckpointProposal extends Gossipable {
29
29
  checkpointHeader;
30
30
  archive;
31
+ feeAssetPriceModifier;
31
32
  signature;
32
33
  lastBlock;
33
34
  static p2pTopic = TopicType.checkpoint_proposal;
34
35
  sender;
35
- constructor(/** The aggregated checkpoint header for consensus */ checkpointHeader, /** Archive root after this checkpoint is applied */ archive, /** The proposer's signature over the checkpoint payload (checkpointHeader + archive) */ signature, /** Optional last block info, including its own signature for BlockProposal extraction */ lastBlock){
36
- super(), this.checkpointHeader = checkpointHeader, this.archive = archive, this.signature = signature, this.lastBlock = lastBlock;
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;
37
38
  }
38
39
  generateP2PMessageIdentifier() {
39
40
  return Promise.resolve(new CheckpointProposalHash(keccak256(this.signature.toBuffer())));
@@ -41,18 +42,6 @@ export class CheckpointProposalHash extends Buffer32 {
41
42
  get slotNumber() {
42
43
  return this.checkpointHeader.slotNumber;
43
44
  }
44
- get blockNumber() {
45
- if (!this.lastBlock) {
46
- throw new Error('Cannot get blockNumber without lastBlock');
47
- }
48
- return this.lastBlock.blockHeader.getBlockNumber();
49
- }
50
- /** Convenience getter for txHashes from lastBlock */ get txHashes() {
51
- return this.lastBlock?.txHashes ?? [];
52
- }
53
- /** Convenience getter for txs from lastBlock */ get txs() {
54
- return this.lastBlock?.signedTxs?.txs;
55
- }
56
45
  /**
57
46
  * Extract a BlockProposal from the last block info.
58
47
  * Uses inHash from checkpointHeader.contentCommitment.inHash
@@ -74,37 +63,49 @@ export class CheckpointProposalHash extends Buffer32 {
74
63
  txCount: this.lastBlock.txHashes.length
75
64
  };
76
65
  }
66
+ toCheckpointInfo() {
67
+ return {
68
+ slotNumber: this.slotNumber,
69
+ archive: this.archive,
70
+ lastBlockNumber: this.lastBlock?.blockHeader.getBlockNumber(),
71
+ lastBlockIndex: this.lastBlock?.indexWithinCheckpoint,
72
+ blockHeadersHash: this.checkpointHeader.blockHeadersHash
73
+ };
74
+ }
77
75
  /**
78
76
  * Get the payload to sign for this checkpoint proposal.
79
- * The signature is over the checkpoint header + archive root (for consensus).
77
+ * The signature is over the checkpoint header + archive root + feeAssetPriceModifier (for consensus).
80
78
  */ getPayloadToSign(domainSeparator) {
81
79
  return serializeToBuffer([
82
80
  domainSeparator,
83
81
  this.checkpointHeader,
84
- this.archive
82
+ this.archive,
83
+ serializeSignedBigInt(this.feeAssetPriceModifier)
85
84
  ]);
86
85
  }
87
- static async createProposalFromSigner(checkpointHeader, archiveRoot, lastBlockInfo, payloadSigner) {
86
+ static async createProposalFromSigner(checkpointHeader, archiveRoot, feeAssetPriceModifier, lastBlockInfo, payloadSigner) {
88
87
  // Sign the checkpoint payload with CHECKPOINT_PROPOSAL duty type
89
- const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, Signature.empty(), undefined);
88
+ const tempProposal = new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, Signature.empty());
90
89
  const checkpointHash = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.checkpointProposal);
91
90
  const checkpointContext = {
92
91
  slot: checkpointHeader.slotNumber,
93
92
  blockNumber: lastBlockInfo?.blockHeader?.globalVariables.blockNumber ?? BlockNumber(0),
94
93
  dutyType: DutyType.CHECKPOINT_PROPOSAL
95
94
  };
96
- const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
97
- if (!lastBlockInfo) {
98
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature);
95
+ if (lastBlockInfo) {
96
+ // Sign block proposal before signing checkpoint proposal to ensure HA protection
97
+ const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
98
+ const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
99
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature, {
100
+ blockHeader: lastBlockInfo.blockHeader,
101
+ indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
102
+ txHashes: lastBlockInfo.txHashes,
103
+ signature: lastBlockProposal.signature,
104
+ signedTxs: lastBlockProposal.signedTxs
105
+ });
99
106
  }
100
- const lastBlockProposal = await BlockProposal.createProposalFromSigner(lastBlockInfo.blockHeader, lastBlockInfo.indexWithinCheckpoint, checkpointHeader.inHash, archiveRoot, lastBlockInfo.txHashes, lastBlockInfo.txs, payloadSigner);
101
- return new CheckpointProposal(checkpointHeader, archiveRoot, checkpointSignature, {
102
- blockHeader: lastBlockInfo.blockHeader,
103
- indexWithinCheckpoint: lastBlockInfo.indexWithinCheckpoint,
104
- txHashes: lastBlockInfo.txHashes,
105
- signature: lastBlockProposal.signature,
106
- signedTxs: lastBlockProposal.signedTxs
107
- });
107
+ const checkpointSignature = await payloadSigner(checkpointHash, checkpointContext);
108
+ return new CheckpointProposal(checkpointHeader, archiveRoot, feeAssetPriceModifier, checkpointSignature);
108
109
  }
109
110
  /**
110
111
  * Lazily evaluate the sender of the proposal; result is cached.
@@ -134,6 +135,7 @@ export class CheckpointProposalHash extends Buffer32 {
134
135
  const buffer = [
135
136
  this.checkpointHeader,
136
137
  this.archive,
138
+ serializeSignedBigInt(this.feeAssetPriceModifier),
137
139
  this.signature
138
140
  ];
139
141
  if (this.lastBlock) {
@@ -158,6 +160,7 @@ export class CheckpointProposalHash extends Buffer32 {
158
160
  const reader = BufferReader.asReader(buf);
159
161
  const checkpointHeader = reader.readObject(CheckpointHeader);
160
162
  const archive = reader.readObject(Fr);
163
+ const feeAssetPriceModifier = reader.readInt256();
161
164
  const signature = reader.readObject(Signature);
162
165
  const hasLastBlock = reader.readNumber();
163
166
  if (hasLastBlock) {
@@ -176,7 +179,7 @@ export class CheckpointProposalHash extends Buffer32 {
176
179
  signedTxs = SignedTxs.fromBuffer(reader);
177
180
  }
178
181
  }
179
- return new CheckpointProposal(checkpointHeader, archive, signature, {
182
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature, {
180
183
  blockHeader,
181
184
  indexWithinCheckpoint,
182
185
  txHashes,
@@ -184,20 +187,20 @@ export class CheckpointProposalHash extends Buffer32 {
184
187
  signedTxs
185
188
  });
186
189
  }
187
- return new CheckpointProposal(checkpointHeader, archive, signature);
190
+ return new CheckpointProposal(checkpointHeader, archive, feeAssetPriceModifier, signature);
188
191
  }
189
192
  getSize() {
190
- let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 4; /* hasLastBlock flag */
193
+ let size = this.checkpointHeader.toBuffer().length + this.archive.size + this.signature.getSize() + 8 /* feeAssetPriceModifier */ + 4; /* hasLastBlock flag */
191
194
  if (this.lastBlock) {
192
195
  size += this.lastBlock.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.lastBlock.signature.getSize() + 4 /* txHashes.length */ + this.lastBlock.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.lastBlock.signedTxs ? this.lastBlock.signedTxs.getSize() : 0);
193
196
  }
194
197
  return size;
195
198
  }
196
199
  static empty() {
197
- return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, Signature.empty());
200
+ return new CheckpointProposal(CheckpointHeader.empty(), Fr.ZERO, 0n, Signature.empty());
198
201
  }
199
202
  static random() {
200
- return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), Signature.random(), {
203
+ return new CheckpointProposal(CheckpointHeader.random(), Fr.random(), 0n, Signature.random(), {
201
204
  blockHeader: BlockHeader.random(),
202
205
  indexWithinCheckpoint: IndexWithinCheckpoint(Math.floor(Math.random() * 5)),
203
206
  txHashes: [
@@ -212,6 +215,7 @@ export class CheckpointProposalHash extends Buffer32 {
212
215
  checkpointHeader: this.checkpointHeader.toInspect(),
213
216
  archive: this.archive.toString(),
214
217
  signature: this.signature.toString(),
218
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString(),
215
219
  lastBlock: this.lastBlock ? {
216
220
  blockHeader: this.lastBlock.blockHeader.toInspect(),
217
221
  indexWithinCheckpoint: this.lastBlock.indexWithinCheckpoint,
@@ -224,6 +228,6 @@ export class CheckpointProposalHash extends Buffer32 {
224
228
  * Returns a copy of this proposal without lastBlock info, as a CheckpointProposalCore.
225
229
  * Used when the lastBlock has been extracted and stored separately.
226
230
  */ toCore() {
227
- return new CheckpointProposal(this.checkpointHeader, this.archive, this.signature);
231
+ return new CheckpointProposal(this.checkpointHeader, this.archive, this.feeAssetPriceModifier, this.signature);
228
232
  }
229
233
  }
@@ -1,5 +1,2 @@
1
- export declare enum P2PClientType {
2
- Full = 0,
3
- Prover = 1
4
- }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQVksYUFBYTtJQUV2QixJQUFJLElBQUE7SUFFSixNQUFNLElBQUE7Q0FDUCJ9
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X3R5cGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY2xpZW50X3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IAEvB,IAAI,IAAA;IAEJ,MAAM,IAAA;CACP"}
1
+ {"version":3,"file":"client_type.d.ts","sourceRoot":"","sources":["../../src/p2p/client_type.ts"],"names":[],"mappings":""}
@@ -1,7 +0,0 @@
1
- export var P2PClientType = /*#__PURE__*/ function(P2PClientType) {
2
- // Full p2p clients will subscribe to all gossip topics
3
- P2PClientType[P2PClientType["Full"] = 0] = "Full";
4
- // Prove p2p clients will only subscribe to transaction and proving topics
5
- P2PClientType[P2PClientType["Prover"] = 1] = "Prover";
6
- return P2PClientType;
7
- }({});
@@ -12,26 +12,34 @@ export declare class ConsensusPayload implements Signable {
12
12
  readonly header: CheckpointHeader;
13
13
  /** The archive root after the block is added */
14
14
  readonly archive: Fr;
15
+ /** The fee asset price modifier in basis points (from oracle) */
16
+ readonly feeAssetPriceModifier: bigint;
15
17
  private size;
16
18
  constructor(
17
19
  /** The proposed block header the attestation is made over */
18
20
  header: CheckpointHeader,
19
21
  /** The archive root after the block is added */
20
- archive: Fr);
22
+ archive: Fr,
23
+ /** The fee asset price modifier in basis points (from oracle) */
24
+ feeAssetPriceModifier?: bigint);
21
25
  static get schema(): z.ZodEffects<z.ZodObject<{
22
26
  header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
23
27
  archive: z.ZodType<Fr, any, string>;
28
+ feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
24
29
  }, "strip", z.ZodTypeAny, {
25
30
  header: CheckpointHeader;
26
31
  archive: Fr;
32
+ feeAssetPriceModifier: bigint;
27
33
  }, {
28
34
  header?: any;
29
35
  archive: string;
36
+ feeAssetPriceModifier: string | number | bigint;
30
37
  }>, ConsensusPayload, {
31
38
  header?: any;
32
39
  archive: string;
40
+ feeAssetPriceModifier: string | number | bigint;
33
41
  }>;
34
- static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr];
42
+ static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr, bigint];
35
43
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
36
44
  toBuffer(): Buffer;
37
45
  equals(other: ConsensusPayload | CheckpointProposal | CheckpointProposalCore): boolean;
@@ -63,7 +71,8 @@ export declare class ConsensusPayload implements Signable {
63
71
  totalManaUsed: bigint;
64
72
  };
65
73
  archive: `0x${string}`;
74
+ feeAssetPriceModifier: string;
66
75
  };
67
76
  toString(): string;
68
77
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9FLCtFQUErRTtBQUMvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO0lBSTdDLDZEQUE2RDthQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDthQUNoQyxPQUFPLEVBQUUsRUFBRTtJQU43QixPQUFPLENBQUMsSUFBSSxDQUFxQjtJQUVqQztJQUNFLDZEQUE2RDtJQUM3QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hDLGdEQUFnRDtJQUNoQyxPQUFPLEVBQUUsRUFBRSxFQUN6QjtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7T0FPaEI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsbUNBRWxEO0lBRUQsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLHdCQUF3QixHQUFHLE1BQU0sQ0FrQmxFO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLGdCQUFnQixHQUFHLGtCQUFrQixHQUFHLHNCQUFzQixHQUFHLE9BQU8sQ0FHNUY7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQUk5RDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGdCQUFnQixDQUV0RTtJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsR0FBRyxnQkFBZ0IsQ0FFOUQ7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGdCQUFnQixDQUUvQjtJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksZ0JBQWdCLENBRWhDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxJQUFJLE1BQU0sQ0FPaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFLUjtJQUVELFFBQVEsV0FFUDtDQUNGIn0=
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,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;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,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,29 +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);
70
+ return new ConsensusPayload(fields.header, fields.archive, fields.feeAssetPriceModifier);
65
71
  }
66
72
  static fromCheckpoint(checkpoint) {
67
- return new ConsensusPayload(checkpoint.header, checkpoint.archive.root);
73
+ return new ConsensusPayload(checkpoint.header, checkpoint.archive.root, checkpoint.feeAssetPriceModifier);
68
74
  }
69
75
  static empty() {
70
- return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO);
76
+ return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, 0n);
71
77
  }
72
78
  static random() {
73
- return new ConsensusPayload(CheckpointHeader.random(), Fr.random());
79
+ return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), 0n);
74
80
  }
75
81
  /**
76
82
  * Get the size of the consensus payload in bytes.
@@ -86,10 +92,11 @@ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
86
92
  toInspect() {
87
93
  return {
88
94
  header: this.header.toInspect(),
89
- archive: this.archive.toString()
95
+ archive: this.archive.toString(),
96
+ feeAssetPriceModifier: this.feeAssetPriceModifier.toString()
90
97
  };
91
98
  }
92
99
  toString() {
93
- return `header: ${this.header.toString()}, archive: ${this.archive.toString()}}`;
100
+ return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, feeAssetPriceModifier: ${this.feeAssetPriceModifier}}`;
94
101
  }
95
102
  }
@@ -1,3 +1,5 @@
1
1
  export declare const MAX_TX_SIZE_KB: number;
2
2
  export declare const MAX_MESSAGE_SIZE_KB: number;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcDJwL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFPLE1BQU0sY0FBYyxFQUFFLE1BQVksQ0FBQztBQUUxQyxlQUFPLE1BQU0sbUJBQW1CLEVBQUUsTUFBa0IsQ0FBQyJ9
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==
@@ -1 +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"}
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"}
@@ -1,2 +1,3 @@
1
1
  export const MAX_TX_SIZE_KB = 512;
2
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
@@ -8,8 +8,7 @@ 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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQyJ9
@@ -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;AAChC,cAAc,gBAAgB,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,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
package/dest/p2p/index.js 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,4 +15,6 @@ export declare enum PeerErrorSeverity {
15
15
  */
16
16
  HighToleranceError = "HighToleranceError"
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcl9lcnJvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9wZWVyX2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFZLGlCQUFpQjtJQUMzQjs7O09BR0c7SUFDSCxpQkFBaUIsc0JBQXNCO0lBQ3ZDOzs7T0FHRztJQUNILGlCQUFpQixzQkFBc0I7SUFDdkM7OztPQUdHO0lBQ0gsa0JBQWtCLHVCQUF1QjtDQUMxQyJ9
18
+ /** Severities ordered from mildest to harshest. */
19
+ export declare const PeerErrorSeverityByHarshness: readonly [PeerErrorSeverity.HighToleranceError, PeerErrorSeverity.MidToleranceError, PeerErrorSeverity.LowToleranceError];
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVlcl9lcnJvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9wZWVyX2Vycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFZLGlCQUFpQjtJQUMzQjs7O09BR0c7SUFDSCxpQkFBaUIsc0JBQXNCO0lBQ3ZDOzs7T0FHRztJQUNILGlCQUFpQixzQkFBc0I7SUFDdkM7OztPQUdHO0lBQ0gsa0JBQWtCLHVCQUF1QjtDQUMxQztBQUVELG1EQUFtRDtBQUNuRCxlQUFPLE1BQU0sNEJBQTRCLDJIQUkvQixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"peer_error.d.ts","sourceRoot":"","sources":["../../src/p2p/peer_error.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,kBAAkB,uBAAuB;CAC1C"}
1
+ {"version":3,"file":"peer_error.d.ts","sourceRoot":"","sources":["../../src/p2p/peer_error.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB;IAC3B;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,iBAAiB,sBAAsB;IACvC;;;OAGG;IACH,kBAAkB,uBAAuB;CAC1C;AAED,mDAAmD;AACnD,eAAO,MAAM,4BAA4B,2HAI/B,CAAC"}
@@ -13,3 +13,8 @@ export var PeerErrorSeverity = /*#__PURE__*/ function(PeerErrorSeverity) {
13
13
  */ PeerErrorSeverity["HighToleranceError"] = "HighToleranceError";
14
14
  return PeerErrorSeverity;
15
15
  }({});
16
+ /** Severities ordered from mildest to harshest. */ export const PeerErrorSeverityByHarshness = [
17
+ "HighToleranceError",
18
+ "MidToleranceError",
19
+ "LowToleranceError"
20
+ ];
@@ -1,4 +1,3 @@
1
- import { P2PClientType } from './client_type.js';
2
1
  /**
3
2
  * Creates the topic channel identifier string from a given topic type
4
3
  */
@@ -11,8 +10,8 @@ export declare enum TopicType {
11
10
  checkpoint_proposal = "checkpoint_proposal",
12
11
  checkpoint_attestation = "checkpoint_attestation"
13
12
  }
14
- export declare function getTopicTypeForClientType(clientType: P2PClientType): TopicType[];
15
- export declare function getTopicsForClientAndConfig(clientType: P2PClientType, disableTransactions: boolean): TopicType[];
13
+ /** Returns all gossip topics, optionally filtering out transactions. */
14
+ export declare function getTopicsForConfig(disableTransactions: boolean): TopicType[];
16
15
  /**
17
16
  * Convert the topic string into a set of labels
18
17
  *
@@ -23,4 +22,4 @@ export declare function getTopicsForClientAndConfig(clientType: P2PClientType, d
23
22
  * }
24
23
  */
25
24
  export declare function metricsTopicStrToLabels(protocolVersion: string): Map<string, string>;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWNfdHlwZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC90b3BpY190eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRDs7R0FFRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBRTlFO0FBRUQsa0RBQWtEO0FBQ2xELHdCQUFnQixrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxTQUFTLENBVTFFO0FBRUQsb0JBQVksU0FBUztJQUNuQixFQUFFLE9BQU87SUFDVCxjQUFjLG1CQUFtQjtJQUNqQyxtQkFBbUIsd0JBQXdCO0lBQzNDLHNCQUFzQiwyQkFBMkI7Q0FDbEQ7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsVUFBVSxFQUFFLGFBQWEsZUFTbEU7QUFFRCx3QkFBZ0IsMkJBQTJCLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLGVBTWxHO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBZ0IsdUJBQXVCLENBQUMsZUFBZSxFQUFFLE1BQU0sdUJBTzlEIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWNfdHlwZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC90b3BpY190eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFFOUU7QUFFRCxrREFBa0Q7QUFDbEQsd0JBQWdCLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FVMUU7QUFFRCxvQkFBWSxTQUFTO0lBQ25CLEVBQUUsT0FBTztJQUNULGNBQWMsbUJBQW1CO0lBQ2pDLG1CQUFtQix3QkFBd0I7SUFDM0Msc0JBQXNCLDJCQUEyQjtDQUNsRDtBQUVELHdFQUF3RTtBQUN4RSx3QkFBZ0Isa0JBQWtCLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxlQVc5RDtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLHVCQUF1QixDQUFDLGVBQWUsRUFBRSxNQUFNLHVCQU85RCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"topic_type.d.ts","sourceRoot":"","sources":["../../src/p2p/topic_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAE9E;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU1E;AAED,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,aAAa,eASlE;AAED,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,eAMlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,uBAO9D"}
1
+ {"version":3,"file":"topic_type.d.ts","sourceRoot":"","sources":["../../src/p2p/topic_type.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAE9E;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAU1E;AAED,oBAAY,SAAS;IACnB,EAAE,OAAO;IACT,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,sBAAsB,2BAA2B;CAClD;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,mBAAmB,EAAE,OAAO,eAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,MAAM,uBAO9D"}