@aztec/stdlib 0.0.1-commit.dbf9cec → 0.0.1-commit.ddcf04837

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 (471) 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 -67
  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 +28 -1
  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_selector.d.ts +3 -6
  21. package/dest/abi/function_selector.d.ts.map +1 -1
  22. package/dest/abi/function_selector.js +2 -4
  23. package/dest/abi/function_signature_decoder.d.ts +43 -0
  24. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  25. package/dest/abi/function_signature_decoder.js +66 -0
  26. package/dest/abi/index.d.ts +2 -1
  27. package/dest/abi/index.d.ts.map +1 -1
  28. package/dest/abi/index.js +1 -0
  29. package/dest/abi/note_selector.d.ts +3 -6
  30. package/dest/abi/note_selector.d.ts.map +1 -1
  31. package/dest/abi/note_selector.js +1 -3
  32. package/dest/abi/selector.d.ts +2 -2
  33. package/dest/abi/selector.d.ts.map +1 -1
  34. package/dest/abi/selector.js +1 -1
  35. package/dest/abi/utils.d.ts +14 -1
  36. package/dest/abi/utils.d.ts.map +1 -1
  37. package/dest/abi/utils.js +15 -0
  38. package/dest/avm/revert_code.d.ts +8 -18
  39. package/dest/avm/revert_code.d.ts.map +1 -1
  40. package/dest/avm/revert_code.js +15 -30
  41. package/dest/aztec-address/index.d.ts +3 -6
  42. package/dest/aztec-address/index.d.ts.map +1 -1
  43. package/dest/aztec-address/index.js +2 -4
  44. package/dest/block/block_data.d.ts +8 -8
  45. package/dest/block/block_data.d.ts.map +1 -1
  46. package/dest/block/block_data.js +2 -2
  47. package/dest/block/block_hash.d.ts +11 -10
  48. package/dest/block/block_hash.d.ts.map +1 -1
  49. package/dest/block/block_hash.js +10 -9
  50. package/dest/block/l2_block.d.ts +9 -1
  51. package/dest/block/l2_block.d.ts.map +1 -1
  52. package/dest/block/l2_block.js +12 -2
  53. package/dest/block/l2_block_info.d.ts +6 -5
  54. package/dest/block/l2_block_info.d.ts.map +1 -1
  55. package/dest/block/l2_block_info.js +6 -5
  56. package/dest/block/l2_block_source.d.ts +95 -10
  57. package/dest/block/l2_block_source.d.ts.map +1 -1
  58. package/dest/block/l2_block_source.js +1 -0
  59. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  60. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  61. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  62. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  63. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  64. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  65. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  66. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  67. package/dest/checkpoint/checkpoint.d.ts +8 -1
  68. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  69. package/dest/checkpoint/checkpoint.js +18 -5
  70. package/dest/checkpoint/checkpoint_data.d.ts +71 -5
  71. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  72. package/dest/checkpoint/checkpoint_data.js +10 -0
  73. package/dest/checkpoint/index.d.ts +2 -1
  74. package/dest/checkpoint/index.d.ts.map +1 -1
  75. package/dest/checkpoint/index.js +1 -0
  76. package/dest/checkpoint/validate.d.ts +36 -0
  77. package/dest/checkpoint/validate.d.ts.map +1 -0
  78. package/dest/checkpoint/validate.js +120 -0
  79. package/dest/config/chain-config.d.ts +1 -1
  80. package/dest/config/chain-config.d.ts.map +1 -1
  81. package/dest/config/chain-config.js +7 -1
  82. package/dest/config/index.d.ts +2 -1
  83. package/dest/config/index.d.ts.map +1 -1
  84. package/dest/config/index.js +1 -0
  85. package/dest/config/pipelining-config.d.ts +19 -0
  86. package/dest/config/pipelining-config.d.ts.map +1 -0
  87. package/dest/config/pipelining-config.js +18 -0
  88. package/dest/config/sequencer-config.d.ts +4 -2
  89. package/dest/config/sequencer-config.d.ts.map +1 -1
  90. package/dest/config/sequencer-config.js +15 -2
  91. package/dest/contract/contract_address.d.ts +3 -3
  92. package/dest/contract/contract_address.js +3 -3
  93. package/dest/contract/contract_class_id.d.ts +2 -2
  94. package/dest/contract/contract_class_id.js +2 -2
  95. package/dest/contract/index.d.ts +1 -3
  96. package/dest/contract/index.d.ts.map +1 -1
  97. package/dest/contract/index.js +0 -2
  98. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  99. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  100. package/dest/contract/interfaces/contract_class.js +1 -28
  101. package/dest/epoch-helpers/index.d.ts +11 -1
  102. package/dest/epoch-helpers/index.d.ts.map +1 -1
  103. package/dest/epoch-helpers/index.js +16 -2
  104. package/dest/file-store/factory.d.ts +4 -3
  105. package/dest/file-store/factory.d.ts.map +1 -1
  106. package/dest/file-store/factory.js +2 -2
  107. package/dest/file-store/http.d.ts +9 -2
  108. package/dest/file-store/http.d.ts.map +1 -1
  109. package/dest/file-store/http.js +20 -9
  110. package/dest/file-store/index.d.ts +2 -1
  111. package/dest/file-store/index.d.ts.map +1 -1
  112. package/dest/gas/fee_math.d.ts +49 -0
  113. package/dest/gas/fee_math.d.ts.map +1 -0
  114. package/dest/gas/fee_math.js +80 -0
  115. package/dest/gas/gas_fees.d.ts +1 -1
  116. package/dest/gas/gas_fees.d.ts.map +1 -1
  117. package/dest/gas/gas_fees.js +13 -1
  118. package/dest/gas/gas_settings.d.ts +40 -3
  119. package/dest/gas/gas_settings.d.ts.map +1 -1
  120. package/dest/gas/gas_settings.js +50 -6
  121. package/dest/gas/index.d.ts +2 -1
  122. package/dest/gas/index.d.ts.map +1 -1
  123. package/dest/gas/index.js +1 -0
  124. package/dest/ha-signing/config.d.ts +49 -14
  125. package/dest/ha-signing/config.d.ts.map +1 -1
  126. package/dest/ha-signing/config.js +20 -15
  127. package/dest/ha-signing/index.d.ts +4 -3
  128. package/dest/ha-signing/index.d.ts.map +1 -1
  129. package/dest/ha-signing/index.js +3 -2
  130. package/dest/ha-signing/local_config.d.ts +63 -0
  131. package/dest/ha-signing/local_config.d.ts.map +1 -0
  132. package/dest/ha-signing/local_config.js +24 -0
  133. package/dest/ha-signing/types.d.ts +37 -32
  134. package/dest/ha-signing/types.d.ts.map +1 -1
  135. package/dest/ha-signing/types.js +13 -6
  136. package/dest/hash/hash.d.ts +19 -1
  137. package/dest/hash/hash.d.ts.map +1 -1
  138. package/dest/hash/hash.js +29 -0
  139. package/dest/interfaces/allowed_element.d.ts +26 -20
  140. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  141. package/dest/interfaces/allowed_element.js +8 -8
  142. package/dest/interfaces/archiver.d.ts +1 -1
  143. package/dest/interfaces/archiver.d.ts.map +1 -1
  144. package/dest/interfaces/archiver.js +6 -3
  145. package/dest/interfaces/aztec-node-admin.d.ts +79 -43
  146. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  147. package/dest/interfaces/aztec-node-admin.js +3 -3
  148. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  149. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  150. package/dest/interfaces/aztec-node-debug.js +18 -0
  151. package/dest/interfaces/aztec-node.d.ts +21 -6
  152. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  153. package/dest/interfaces/aztec-node.js +7 -2
  154. package/dest/interfaces/block-builder.d.ts +38 -11
  155. package/dest/interfaces/block-builder.d.ts.map +1 -1
  156. package/dest/interfaces/block-builder.js +13 -6
  157. package/dest/interfaces/client.d.ts +2 -1
  158. package/dest/interfaces/client.d.ts.map +1 -1
  159. package/dest/interfaces/client.js +1 -0
  160. package/dest/interfaces/configs.d.ts +62 -32
  161. package/dest/interfaces/configs.d.ts.map +1 -1
  162. package/dest/interfaces/configs.js +6 -2
  163. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  164. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  165. package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
  166. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  167. package/dest/interfaces/prover-client.d.ts +6 -1
  168. package/dest/interfaces/prover-client.d.ts.map +1 -1
  169. package/dest/interfaces/prover-client.js +7 -4
  170. package/dest/interfaces/proving-job.d.ts +200 -200
  171. package/dest/interfaces/slasher.d.ts +1 -10
  172. package/dest/interfaces/slasher.d.ts.map +1 -1
  173. package/dest/interfaces/slasher.js +0 -2
  174. package/dest/interfaces/validator.d.ts +111 -60
  175. package/dest/interfaces/validator.d.ts.map +1 -1
  176. package/dest/interfaces/validator.js +8 -5
  177. package/dest/interfaces/world_state.d.ts +5 -4
  178. package/dest/interfaces/world_state.d.ts.map +1 -1
  179. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -1
  180. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  181. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -0
  182. package/dest/kv-store/config.d.ts +17 -0
  183. package/dest/kv-store/config.d.ts.map +1 -0
  184. package/dest/kv-store/config.js +26 -0
  185. package/dest/kv-store/index.d.ts +2 -0
  186. package/dest/kv-store/index.d.ts.map +1 -0
  187. package/dest/kv-store/index.js +1 -0
  188. package/dest/l1-contracts/index.d.ts +2 -2
  189. package/dest/l1-contracts/index.d.ts.map +1 -1
  190. package/dest/l1-contracts/index.js +1 -1
  191. package/dest/logs/extended_directional_app_tagging_secret.d.ts +4 -4
  192. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
  193. package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
  194. package/dest/logs/index.d.ts +2 -1
  195. package/dest/logs/index.d.ts.map +1 -1
  196. package/dest/logs/index.js +1 -0
  197. package/dest/logs/log_filter.d.ts +4 -1
  198. package/dest/logs/log_filter.d.ts.map +1 -1
  199. package/dest/logs/log_filter.js +2 -1
  200. package/dest/logs/log_id.d.ts +1 -1
  201. package/dest/logs/log_id.d.ts.map +1 -1
  202. package/dest/logs/log_id.js +1 -2
  203. package/dest/logs/message_context.d.ts +4 -7
  204. package/dest/logs/message_context.d.ts.map +1 -1
  205. package/dest/logs/message_context.js +23 -9
  206. package/dest/logs/pending_tagged_log.d.ts +2 -3
  207. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  208. package/dest/logs/pending_tagged_log.js +2 -2
  209. package/dest/logs/public_log.d.ts +4 -3
  210. package/dest/logs/public_log.d.ts.map +1 -1
  211. package/dest/logs/public_log.js +2 -1
  212. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  213. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  214. package/dest/logs/shared_secret_derivation.js +15 -9
  215. package/dest/logs/siloed_tag.d.ts +8 -7
  216. package/dest/logs/siloed_tag.d.ts.map +1 -1
  217. package/dest/logs/siloed_tag.js +11 -3
  218. package/dest/logs/tag.d.ts +5 -6
  219. package/dest/logs/tag.d.ts.map +1 -1
  220. package/dest/logs/tag.js +4 -0
  221. package/dest/logs/tagging_index_range.d.ts +40 -0
  222. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  223. package/dest/logs/tagging_index_range.js +8 -0
  224. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  225. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  226. package/dest/logs/tx_scoped_l2_log.js +7 -0
  227. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  228. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  229. package/dest/messaging/l1_to_l2_message.js +11 -13
  230. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  231. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  232. package/dest/messaging/l2_to_l1_membership.d.ts +32 -6
  233. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  234. package/dest/messaging/l2_to_l1_membership.js +69 -26
  235. package/dest/noir/index.d.ts +3 -3
  236. package/dest/noir/index.d.ts.map +1 -1
  237. package/dest/note/note_dao.d.ts +1 -1
  238. package/dest/note/note_dao.d.ts.map +1 -1
  239. package/dest/note/note_dao.js +1 -4
  240. package/dest/p2p/block_proposal.d.ts +6 -8
  241. package/dest/p2p/block_proposal.d.ts.map +1 -1
  242. package/dest/p2p/block_proposal.js +4 -9
  243. package/dest/p2p/checkpoint_attestation.d.ts +4 -6
  244. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  245. package/dest/p2p/checkpoint_attestation.js +2 -7
  246. package/dest/p2p/checkpoint_proposal.d.ts +8 -15
  247. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  248. package/dest/p2p/checkpoint_proposal.js +5 -34
  249. package/dest/p2p/gossipable.d.ts +4 -4
  250. package/dest/p2p/gossipable.d.ts.map +1 -1
  251. package/dest/p2p/peer_error.d.ts +3 -1
  252. package/dest/p2p/peer_error.d.ts.map +1 -1
  253. package/dest/p2p/peer_error.js +5 -0
  254. package/dest/proofs/chonk_proof.d.ts +46 -2
  255. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  256. package/dest/proofs/chonk_proof.js +85 -10
  257. package/dest/slashing/index.d.ts +2 -3
  258. package/dest/slashing/index.d.ts.map +1 -1
  259. package/dest/slashing/index.js +1 -2
  260. package/dest/slashing/serialization.d.ts +2 -6
  261. package/dest/slashing/serialization.d.ts.map +1 -1
  262. package/dest/slashing/serialization.js +0 -60
  263. package/dest/slashing/types.d.ts +4 -90
  264. package/dest/slashing/types.d.ts.map +1 -1
  265. package/dest/slashing/types.js +0 -14
  266. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  267. package/dest/slashing/votes.d.ts.map +1 -0
  268. package/dest/slashing/{tally.js → votes.js} +30 -2
  269. package/dest/tests/factories.d.ts +2 -4
  270. package/dest/tests/factories.d.ts.map +1 -1
  271. package/dest/tests/factories.js +11 -28
  272. package/dest/tests/mocks.d.ts +4 -2
  273. package/dest/tests/mocks.d.ts.map +1 -1
  274. package/dest/tests/mocks.js +27 -27
  275. package/dest/timetable/index.d.ts +51 -1
  276. package/dest/timetable/index.d.ts.map +1 -1
  277. package/dest/timetable/index.js +204 -14
  278. package/dest/tx/block_header.d.ts +4 -2
  279. package/dest/tx/block_header.d.ts.map +1 -1
  280. package/dest/tx/block_header.js +5 -1
  281. package/dest/tx/capsule.d.ts +6 -2
  282. package/dest/tx/capsule.d.ts.map +1 -1
  283. package/dest/tx/capsule.js +9 -3
  284. package/dest/tx/fee_provider.d.ts +10 -0
  285. package/dest/tx/fee_provider.d.ts.map +1 -0
  286. package/dest/tx/fee_provider.js +1 -0
  287. package/dest/tx/global_variable_builder.d.ts +3 -4
  288. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  289. package/dest/tx/index.d.ts +2 -1
  290. package/dest/tx/index.d.ts.map +1 -1
  291. package/dest/tx/index.js +1 -0
  292. package/dest/tx/indexed_tx_effect.d.ts +1 -1
  293. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  294. package/dest/tx/indexed_tx_effect.js +1 -2
  295. package/dest/tx/private_execution_result.d.ts +6 -6
  296. package/dest/tx/private_execution_result.d.ts.map +1 -1
  297. package/dest/tx/private_execution_result.js +6 -6
  298. package/dest/tx/profiling.d.ts +14 -2
  299. package/dest/tx/profiling.d.ts.map +1 -1
  300. package/dest/tx/profiling.js +13 -3
  301. package/dest/tx/simulated_tx.d.ts +116 -5
  302. package/dest/tx/simulated_tx.d.ts.map +1 -1
  303. package/dest/tx/simulated_tx.js +7 -4
  304. package/dest/tx/tx.d.ts +8 -7
  305. package/dest/tx/tx.d.ts.map +1 -1
  306. package/dest/tx/tx.js +18 -6
  307. package/dest/tx/tx_receipt.d.ts +14 -5
  308. package/dest/tx/tx_receipt.d.ts.map +1 -1
  309. package/dest/tx/tx_receipt.js +14 -18
  310. package/dest/tx/validator/error_texts.d.ts +9 -1
  311. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  312. package/dest/tx/validator/error_texts.js +10 -0
  313. package/dest/update-checker/index.d.ts +3 -2
  314. package/dest/update-checker/index.d.ts.map +1 -1
  315. package/dest/update-checker/index.js +2 -1
  316. package/dest/update-checker/package_version.d.ts +3 -0
  317. package/dest/update-checker/package_version.d.ts.map +1 -0
  318. package/dest/update-checker/package_version.js +24 -0
  319. package/dest/update-checker/version_checker.d.ts +25 -0
  320. package/dest/update-checker/version_checker.d.ts.map +1 -0
  321. package/dest/update-checker/version_checker.js +50 -0
  322. package/dest/validators/errors.d.ts +6 -1
  323. package/dest/validators/errors.d.ts.map +1 -1
  324. package/dest/validators/errors.js +7 -0
  325. package/dest/versioning/versioning.d.ts +4 -2
  326. package/dest/versioning/versioning.d.ts.map +1 -1
  327. package/dest/versioning/versioning.js +4 -1
  328. package/dest/world-state/genesis_data.d.ts +11 -0
  329. package/dest/world-state/genesis_data.d.ts.map +1 -0
  330. package/dest/world-state/genesis_data.js +4 -0
  331. package/dest/world-state/index.d.ts +2 -1
  332. package/dest/world-state/index.d.ts.map +1 -1
  333. package/dest/world-state/index.js +1 -0
  334. package/package.json +10 -9
  335. package/src/abi/abi.ts +25 -2
  336. package/src/abi/authorization_selector.ts +2 -8
  337. package/src/abi/buffer.ts +25 -4
  338. package/src/abi/decoder.ts +36 -79
  339. package/src/abi/encoder.ts +41 -1
  340. package/src/abi/event_metadata_definition.ts +2 -0
  341. package/src/abi/event_selector.ts +2 -8
  342. package/src/abi/function_selector.ts +4 -13
  343. package/src/abi/function_signature_decoder.ts +77 -0
  344. package/src/abi/index.ts +1 -0
  345. package/src/abi/note_selector.ts +3 -12
  346. package/src/abi/selector.ts +1 -1
  347. package/src/abi/utils.ts +25 -0
  348. package/src/avm/revert_code.ts +25 -39
  349. package/src/aztec-address/index.ts +4 -10
  350. package/src/block/block_data.ts +3 -4
  351. package/src/block/block_hash.ts +21 -14
  352. package/src/block/l2_block.ts +13 -1
  353. package/src/block/l2_block_info.ts +8 -6
  354. package/src/block/l2_block_source.ts +26 -9
  355. package/src/block/l2_block_stream/interfaces.ts +6 -2
  356. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  357. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  358. package/src/checkpoint/checkpoint.ts +23 -4
  359. package/src/checkpoint/checkpoint_data.ts +40 -4
  360. package/src/checkpoint/index.ts +1 -0
  361. package/src/checkpoint/validate.ts +230 -0
  362. package/src/config/chain-config.ts +7 -1
  363. package/src/config/index.ts +1 -0
  364. package/src/config/pipelining-config.ts +31 -0
  365. package/src/config/sequencer-config.ts +21 -3
  366. package/src/contract/contract_address.ts +3 -3
  367. package/src/contract/contract_class_id.ts +2 -2
  368. package/src/contract/index.ts +0 -2
  369. package/src/contract/interfaces/contract_class.ts +2 -82
  370. package/src/epoch-helpers/index.ts +27 -0
  371. package/src/file-store/factory.ts +13 -4
  372. package/src/file-store/http.ts +29 -10
  373. package/src/file-store/index.ts +1 -0
  374. package/src/gas/README.md +154 -0
  375. package/src/gas/fee_math.ts +120 -0
  376. package/src/gas/gas_fees.ts +15 -1
  377. package/src/gas/gas_settings.ts +65 -12
  378. package/src/gas/index.ts +1 -0
  379. package/src/ha-signing/config.ts +45 -38
  380. package/src/ha-signing/index.ts +12 -1
  381. package/src/ha-signing/local_config.ts +46 -0
  382. package/src/ha-signing/types.ts +48 -34
  383. package/src/hash/hash.ts +34 -0
  384. package/src/interfaces/allowed_element.ts +29 -9
  385. package/src/interfaces/archiver.ts +6 -3
  386. package/src/interfaces/aztec-node-admin.ts +5 -7
  387. package/src/interfaces/aztec-node-debug.ts +40 -0
  388. package/src/interfaces/aztec-node.ts +39 -5
  389. package/src/interfaces/block-builder.ts +60 -14
  390. package/src/interfaces/client.ts +1 -0
  391. package/src/interfaces/configs.ts +25 -8
  392. package/src/interfaces/l2_logs_source.ts +4 -1
  393. package/src/interfaces/merkle_tree_operations.ts +11 -20
  394. package/src/interfaces/prover-client.ts +10 -5
  395. package/src/interfaces/slasher.ts +0 -6
  396. package/src/interfaces/validator.ts +62 -37
  397. package/src/interfaces/world_state.ts +4 -3
  398. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +9 -0
  399. package/src/kv-store/config.ts +36 -0
  400. package/src/kv-store/index.ts +1 -0
  401. package/src/l1-contracts/index.ts +1 -1
  402. package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
  403. package/src/logs/index.ts +1 -0
  404. package/src/logs/log_filter.ts +5 -0
  405. package/src/logs/log_id.ts +1 -2
  406. package/src/logs/message_context.ts +17 -7
  407. package/src/logs/pending_tagged_log.ts +1 -3
  408. package/src/logs/public_log.ts +4 -2
  409. package/src/logs/shared_secret_derivation.ts +21 -10
  410. package/src/logs/siloed_tag.ts +15 -11
  411. package/src/logs/tag.ts +8 -8
  412. package/src/logs/tagging_index_range.ts +24 -0
  413. package/src/logs/tx_scoped_l2_log.ts +16 -0
  414. package/src/messaging/l1_to_l2_message.ts +12 -9
  415. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  416. package/src/messaging/l2_to_l1_membership.ts +98 -33
  417. package/src/noir/index.ts +2 -2
  418. package/src/note/note_dao.ts +1 -4
  419. package/src/p2p/block_proposal.ts +13 -9
  420. package/src/p2p/checkpoint_attestation.ts +5 -9
  421. package/src/p2p/checkpoint_proposal.ts +19 -48
  422. package/src/p2p/gossipable.ts +4 -4
  423. package/src/p2p/peer_error.ts +7 -0
  424. package/src/proofs/chonk_proof.ts +91 -5
  425. package/src/slashing/index.ts +1 -2
  426. package/src/slashing/serialization.ts +1 -81
  427. package/src/slashing/types.ts +3 -35
  428. package/src/slashing/{tally.ts → votes.ts} +34 -1
  429. package/src/tests/factories.ts +5 -34
  430. package/src/tests/mocks.ts +33 -18
  431. package/src/timetable/index.ts +293 -13
  432. package/src/tx/block_header.ts +8 -2
  433. package/src/tx/capsule.ts +10 -2
  434. package/src/tx/fee_provider.ts +10 -0
  435. package/src/tx/global_variable_builder.ts +2 -3
  436. package/src/tx/index.ts +1 -0
  437. package/src/tx/indexed_tx_effect.ts +1 -2
  438. package/src/tx/private_execution_result.ts +5 -5
  439. package/src/tx/profiling.ts +11 -2
  440. package/src/tx/simulated_tx.ts +14 -3
  441. package/src/tx/tx.ts +22 -13
  442. package/src/tx/tx_receipt.ts +18 -16
  443. package/src/tx/validator/error_texts.ts +12 -0
  444. package/src/update-checker/index.ts +2 -1
  445. package/src/update-checker/package_version.ts +30 -0
  446. package/src/update-checker/version_checker.ts +65 -0
  447. package/src/validators/errors.ts +9 -0
  448. package/src/versioning/versioning.ts +4 -1
  449. package/src/world-state/genesis_data.ts +15 -0
  450. package/src/world-state/index.ts +1 -0
  451. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  452. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  453. package/dest/contract/private_function_membership_proof.js +0 -124
  454. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  455. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  456. package/dest/contract/utility_function_membership_proof.js +0 -87
  457. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  458. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  459. package/dest/l1-contracts/slash_factory.js +0 -158
  460. package/dest/slashing/empire.d.ts +0 -31
  461. package/dest/slashing/empire.d.ts.map +0 -1
  462. package/dest/slashing/empire.js +0 -87
  463. package/dest/slashing/tally.d.ts.map +0 -1
  464. package/dest/update-checker/update-checker.d.ts +0 -49
  465. package/dest/update-checker/update-checker.d.ts.map +0 -1
  466. package/dest/update-checker/update-checker.js +0 -130
  467. package/src/contract/private_function_membership_proof.ts +0 -167
  468. package/src/contract/utility_function_membership_proof.ts +0 -118
  469. package/src/l1-contracts/slash_factory.ts +0 -180
  470. package/src/slashing/empire.ts +0 -104
  471. package/src/update-checker/update-checker.ts +0 -166
@@ -1 +1 @@
1
- {"version":3,"file":"revert_code.d.ts","sourceRoot":"","sources":["../../src/avm/revert_code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;;;;;;;;;GAUG;AACH,oBAAY,cAAc;IACxB,mEAAmE;IACnE,EAAE,IAAI;IACN,0GAA0G;IAC1G,kBAAkB,IAAI;IACtB,gFAAgF;IAChF,iBAAiB,IAAI;IACrB,yEAAyE;IACzE,aAAa,IAAI;CAClB;AAWD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,eAEN;IACD,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAqC;IACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAqD;IACnG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAoD;IACjG,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAgD;IAElF,OAAO,IAAI,cAAc,CAE/B;IAEM,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAExC;IAEM,IAAI,IAAI,OAAO,CAErB;IAEM,cAAc,WAapB;IAEM,MAAM,WAEZ;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAEtC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAS3C;IAED;;;;;OAKG;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IAC7C,cAAc,IAAI,MAAM,CAG9B;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAC1C,QAAQ,IAAI,MAAM,CAIxB;IAEM,OAAO,IAAI,EAAE,CAEnB;IAEM,mBAAmB,IAAI,MAAM,CAEnC;IAED,OAAc,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAKjD;IAED,OAAc,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,UAAU,CAE7C;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CAG/D;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAIlE;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,MAAM,CAAC,MAAM,IAAI,UAAU,CAE1B;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
1
+ {"version":3,"file":"revert_code.d.ts","sourceRoot":"","sources":["../../src/avm/revert_code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,yDAAyD;AACzD,oBAAY,cAAc;IACxB,mEAAmE;IACnE,EAAE,IAAI;IACN,kFAAkF;IAClF,QAAQ,IAAI;CACb;AAOD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,eAEN;IACD,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAqC;IACnE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAA2C;IAC/E,wCAAwC;IACxC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAuB;IACrE,wCAAwC;IACxC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAuB;IACpE,wCAAwC;IACxC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAuB;IAEzD,OAAO,IAAI,cAAc,CAE/B;IAEM,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAExC;IAEM,IAAI,IAAI,OAAO,CAErB;IAEM,cAAc,WASpB;IAEM,MAAM,WAEZ;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAMtC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAS3C;IAED;;;;;OAKG;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IAC7C,cAAc,IAAI,MAAM,CAG9B;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAC1C,QAAQ,IAAI,MAAM,CAIxB;IAEM,OAAO,IAAI,EAAE,CAEnB;IAEM,mBAAmB,IAAI,MAAM,CAEnC;IAED,OAAc,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAKjD;IAED,OAAc,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,UAAU,CAE7C;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CAG/D;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAIlE;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,MAAM,CAAC,MAAM,IAAI,UAAU,CAE1B;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
@@ -3,25 +3,13 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
4
  import { inspect } from 'util';
5
5
  import { z } from 'zod';
6
- /**
7
- * Tracks which revertible phases of a transaction's public execution reverted.
8
- *
9
- * A transaction executes in three sequential phases:
10
- * 1. SETUP – non-revertible; if this fails the entire transaction is rejected.
11
- * 2. APP_LOGIC – revertible; its state changes are rolled back on failure.
12
- * 3. TEARDOWN – revertible; always runs (even after app-logic revert) so the fee-payment contract can clean up.
13
- *
14
- * Only APP_LOGIC and TEARDOWN can produce a revert code. SETUP failures throw instead and discard the transaction
15
- * entirely.
16
- */ export var RevertCodeEnum = /*#__PURE__*/ function(RevertCodeEnum) {
6
+ /** Whether a transaction's public execution reverted. */ export var RevertCodeEnum = /*#__PURE__*/ function(RevertCodeEnum) {
17
7
  /** All phases completed successfully; no state was rolled back. */ RevertCodeEnum[RevertCodeEnum["OK"] = 0] = "OK";
18
- /** APP_LOGIC reverted; its state changes were discarded. If present, TEARDOWN still ran and succeeded. */ RevertCodeEnum[RevertCodeEnum["APP_LOGIC_REVERTED"] = 1] = "APP_LOGIC_REVERTED";
19
- /** TEARDOWN reverted; its state changes were discarded. APP_LOGIC succeeded. */ RevertCodeEnum[RevertCodeEnum["TEARDOWN_REVERTED"] = 2] = "TEARDOWN_REVERTED";
20
- /** Both APP_LOGIC and TEARDOWN reverted; only SETUP effects are kept. */ RevertCodeEnum[RevertCodeEnum["BOTH_REVERTED"] = 3] = "BOTH_REVERTED";
8
+ /** One or more revertible phases reverted; their state changes were discarded. */ RevertCodeEnum[RevertCodeEnum["REVERTED"] = 1] = "REVERTED";
21
9
  return RevertCodeEnum;
22
10
  }({});
23
- function isRevertCodeEnum(value) {
24
- return value === 0 || value === 1 || value === 2 || value === 3;
11
+ /** Returns a valid RevertCodeEnum, coercing any value >= 1 to REVERTED. */ function toRevertCodeEnum(value) {
12
+ return value >= 1 ? 1 : 0;
25
13
  }
26
14
  _computedKey = inspect.custom;
27
15
  /**
@@ -32,9 +20,10 @@ _computedKey = inspect.custom;
32
20
  this.code = e.valueOf();
33
21
  }
34
22
  static OK = new RevertCode(0);
35
- static APP_LOGIC_REVERTED = new RevertCode(1);
36
- static TEARDOWN_REVERTED = new RevertCode(2);
37
- static BOTH_REVERTED = new RevertCode(3);
23
+ static REVERTED = new RevertCode(1);
24
+ /** @deprecated Use REVERTED instead. */ static APP_LOGIC_REVERTED = RevertCode.REVERTED;
25
+ /** @deprecated Use REVERTED instead. */ static TEARDOWN_REVERTED = RevertCode.REVERTED;
26
+ /** @deprecated Use REVERTED instead. */ static BOTH_REVERTED = RevertCode.REVERTED;
38
27
  getCode() {
39
28
  return this.code;
40
29
  }
@@ -49,11 +38,7 @@ _computedKey = inspect.custom;
49
38
  case 0:
50
39
  return 'OK';
51
40
  case 1:
52
- return 'Application logic reverted';
53
- case 2:
54
- return 'Teardown reverted';
55
- case 3:
56
- return 'Both reverted';
41
+ return 'Reverted';
57
42
  default:
58
43
  return `Unknown RevertCode: ${this.code}`;
59
44
  }
@@ -62,7 +47,7 @@ _computedKey = inspect.custom;
62
47
  return this.code;
63
48
  }
64
49
  static get schema() {
65
- return z.nativeEnum(RevertCodeEnum).transform((value)=>new RevertCode(value));
50
+ return z.number().int().min(0).transform((value)=>new RevertCode(toRevertCodeEnum(value)));
66
51
  }
67
52
  /**
68
53
  * Creates a RevertCode from a plain object without Zod validation.
@@ -75,10 +60,10 @@ _computedKey = inspect.custom;
75
60
  return obj;
76
61
  }
77
62
  const code = typeof obj === 'number' ? obj : obj.code ?? obj;
78
- if (!isRevertCodeEnum(code)) {
63
+ if (typeof code !== 'number' || code < 0) {
79
64
  throw new Error(`Invalid RevertCode: ${code}`);
80
65
  }
81
- return new RevertCode(code);
66
+ return new RevertCode(toRevertCodeEnum(code));
82
67
  }
83
68
  /**
84
69
  * Having different serialization methods allows for
@@ -106,10 +91,10 @@ _computedKey = inspect.custom;
106
91
  return this.toBuffer().length;
107
92
  }
108
93
  static fromNumber(code) {
109
- if (!isRevertCodeEnum(code)) {
94
+ if (code < 0) {
110
95
  throw new Error(`Invalid RevertCode: ${code}`);
111
96
  }
112
- return new RevertCode(code);
97
+ return new RevertCode(toRevertCodeEnum(code));
113
98
  }
114
99
  static fromField(field) {
115
100
  return RevertCode.fromNumber(field.toNumber());
@@ -123,7 +108,7 @@ _computedKey = inspect.custom;
123
108
  const code = reader.readBytes(RevertCode.PACKED_SIZE_IN_BYTES).readUInt8(0);
124
109
  return RevertCode.fromNumber(code);
125
110
  }
126
- static NUM_OPTIONS = 4;
111
+ static NUM_OPTIONS = 2;
127
112
  static random() {
128
113
  return new RevertCode(Math.floor(Math.random() * RevertCode.NUM_OPTIONS));
129
114
  }
@@ -3,11 +3,6 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
3
3
  import { type ZodFor } from '@aztec/foundation/schemas';
4
4
  import { type BufferReader, FieldReader } from '@aztec/foundation/serialize';
5
5
  import { inspect } from 'util';
6
- /** Branding to ensure fields are not interchangeable types. */
7
- export interface AztecAddress {
8
- /** Brand. */
9
- _branding: 'AztecAddress';
10
- }
11
6
  /**
12
7
  * AztecAddress represents a 32-byte address in the Aztec Protocol. It provides methods to create, manipulate, and
13
8
  * compare addresses, as well as conversion to and from strings, buffers, and other formats.
@@ -18,6 +13,8 @@ export interface AztecAddress {
18
13
  * wild.
19
14
  */
20
15
  export declare class AztecAddress {
16
+ /** Branding for nominal typing. */
17
+ private readonly _branding;
21
18
  private xCoord;
22
19
  constructor(buffer: Buffer | Fr);
23
20
  [inspect.custom](): string;
@@ -62,4 +59,4 @@ export declare class AztecAddress {
62
59
  toJSON(): `0x${string}`;
63
60
  static get schema(): ZodFor<AztecAddress>;
64
61
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlYy1hZGRyZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFpQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxXQUFXLEVBQWdCLE1BQU0sNkJBQTZCLENBQUM7QUFHM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQiwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFlBQVk7SUFDM0IsYUFBYTtJQUNiLFNBQVMsRUFBRSxjQUFjLENBQUM7Q0FDM0I7QUFDRDs7Ozs7Ozs7R0FRRztBQUNILHFCQUFhLFlBQVk7SUFDdkIsT0FBTyxDQUFDLE1BQU0sQ0FBSztJQUVuQixZQUFZLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUs5QjtJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUUzQjtJQUVELE1BQU0sQ0FBQyxhQUFhLFNBQW9CO0lBRXhDLE1BQU0sQ0FBQyxJQUFJLGVBQXlDO0lBRXBELE1BQU0sQ0FBQyxJQUFJLElBQUksWUFBWSxDQUUxQjtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBRXRCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0JBRTlDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxnQkFHM0M7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLGdCQUU5QjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sZ0JBRTlCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxnQkFFNUI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFlBQVksQ0FRN0M7SUFFRDs7T0FFRztJQUNILE9BQWEsTUFBTSwwQkFRbEI7SUFFRCxJQUFJLElBQUksV0FFUDtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxXQUV6QjtJQUVELE1BQU0sWUFFTDtJQUVEOztPQUVHO0lBQ0csT0FBTyxxQkFRWjtJQUVEOztPQUVHO0lBQ0gsY0FBYyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FFL0I7SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxXQUVQO0lBRUQsT0FBTyxPQUVOO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FPeEM7Q0FDRiJ9
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlYy1hZGRyZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFpQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9COzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsWUFBWTtJQUN2QixtQ0FBbUM7SUFDbkMsaUJBQXlCLFNBQVMsQ0FBaUI7SUFFbkQsT0FBTyxDQUFDLE1BQU0sQ0FBSztJQUVuQixZQUFZLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUs5QjtJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUUzQjtJQUVELE1BQU0sQ0FBQyxhQUFhLFNBQW9CO0lBRXhDLE1BQU0sQ0FBQyxJQUFJLGVBQXlDO0lBRXBELE1BQU0sQ0FBQyxJQUFJLElBQUksWUFBWSxDQUUxQjtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBRXRCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0JBRTlDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxnQkFHM0M7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLGdCQUU5QjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sZ0JBRTlCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxnQkFFNUI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFlBQVksQ0FRN0M7SUFFRDs7T0FFRztJQUNILE9BQWEsTUFBTSwwQkFRbEI7SUFFRCxJQUFJLElBQUksV0FFUDtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxXQUV6QjtJQUVELE1BQU0sWUFFTDtJQUVEOztPQUVHO0lBQ0csT0FBTyxxQkFRWjtJQUVEOztPQUVHO0lBQ0gsY0FBYyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FFL0I7SUFFRCxRQUFRLDRCQUVQO0lBRUQsUUFBUSxXQUVQO0lBRUQsT0FBTyxPQUVOO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FPeEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAc,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,KAAK,MAAM,EAAiC,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAgB,MAAM,6BAA6B,CAAC;AAG3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,SAAS,EAAE,cAAc,CAAC;CAC3B;AACD;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAK;IAEnB,YAAY,MAAM,EAAE,MAAM,GAAG,EAAE,EAK9B;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,WAE3B;IAED,MAAM,CAAC,aAAa,SAAoB;IAExC,MAAM,CAAC,IAAI,eAAyC;IAEpD,MAAM,CAAC,IAAI,IAAI,YAAY,CAE1B;IAED,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAEtB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gBAE9C;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,gBAG3C;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,gBAE9B;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,gBAE9B;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,gBAE5B;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAQ7C;IAED;;OAEG;IACH,OAAa,MAAM,0BAQlB;IAED,IAAI,IAAI,WAEP;IAED,MAAM,CAAC,KAAK,EAAE,YAAY,WAEzB;IAED,MAAM,YAEL;IAED;;OAEG;IACG,OAAO,qBAQZ;IAED;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CAE/B;IAED,QAAQ,4BAEP;IAED,QAAQ,WAEP;IAED,OAAO,OAEN;IAED,QAAQ,kBAEP;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAOxC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/aztec-address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAc,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,KAAK,MAAM,EAAiC,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,KAAK,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG7E,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,mCAAmC;IACnC,iBAAyB,SAAS,CAAiB;IAEnD,OAAO,CAAC,MAAM,CAAK;IAEnB,YAAY,MAAM,EAAE,MAAM,GAAG,EAAE,EAK9B;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,WAE3B;IAED,MAAM,CAAC,aAAa,SAAoB;IAExC,MAAM,CAAC,IAAI,eAAyC;IAEpD,MAAM,CAAC,IAAI,IAAI,YAAY,CAE1B;IAED,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAEtB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gBAE9C;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,gBAG3C;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,gBAE9B;IAED,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,gBAE9B;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,gBAE5B;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAQ7C;IAED;;OAEG;IACH,OAAa,MAAM,0BAQlB;IAED,IAAI,IAAI,WAEP;IAED,MAAM,CAAC,KAAK,EAAE,YAAY,WAEzB;IAED,MAAM,YAEL;IAED;;OAEG;IACG,OAAO,qBAQZ;IAED;;OAEG;IACH,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CAE/B;IAED,QAAQ,4BAEP;IAED,QAAQ,WAEP;IAED,OAAO,OAEN;IAED,QAAQ,kBAEP;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAOxC;CACF"}
@@ -1,8 +1,8 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */ var _computedKey;
1
+ var _computedKey;
2
2
  import { Fr, fromBuffer } from '@aztec/foundation/curves/bn254';
3
3
  import { Point } from '@aztec/foundation/curves/grumpkin';
4
4
  import { bufferSchemaFor, hexSchemaFor } from '@aztec/foundation/schemas';
5
- import { FieldReader, TypeRegistry } from '@aztec/foundation/serialize';
5
+ import { FieldReader } from '@aztec/foundation/serialize';
6
6
  import { hexToBuffer } from '@aztec/foundation/string';
7
7
  import { inspect } from 'util';
8
8
  import { z } from 'zod';
@@ -129,5 +129,3 @@ _computedKey = inspect.custom;
129
129
  ]);
130
130
  }
131
131
  }
132
- // For deserializing JSON.
133
- TypeRegistry.register('AztecAddress', AztecAddress);
@@ -1,23 +1,23 @@
1
1
  import type { CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
2
- import type { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { z } from 'zod';
4
3
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
5
4
  import { BlockHeader } from '../tx/block_header.js';
5
+ import { BlockHash } from './block_hash.js';
6
6
  /** L2Block metadata. Equivalent to L2Block but without block body containing tx data. */
7
7
  export type BlockData = {
8
8
  header: BlockHeader;
9
9
  archive: AppendOnlyTreeSnapshot;
10
- blockHash: Fr;
10
+ blockHash: BlockHash;
11
11
  checkpointNumber: CheckpointNumber;
12
12
  indexWithinCheckpoint: IndexWithinCheckpoint;
13
13
  };
14
14
  export declare const BlockDataSchema: z.ZodObject<{
15
15
  header: import("@aztec/foundation/schemas").ZodFor<BlockHeader>;
16
16
  archive: z.ZodEffects<z.ZodObject<{
17
- root: z.ZodType<Fr, any, string>;
17
+ root: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
18
18
  nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
19
19
  }, "strip", z.ZodTypeAny, {
20
- root: Fr;
20
+ root: import("@aztec/foundation/schemas").Fr;
21
21
  nextAvailableLeafIndex: number;
22
22
  }, {
23
23
  root: string;
@@ -26,13 +26,13 @@ export declare const BlockDataSchema: z.ZodObject<{
26
26
  root: string;
27
27
  nextAvailableLeafIndex: string | number | bigint;
28
28
  }>;
29
- blockHash: z.ZodType<Fr, any, string>;
29
+ blockHash: import("@aztec/foundation/schemas").ZodFor<BlockHash>;
30
30
  checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
31
31
  indexWithinCheckpoint: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, IndexWithinCheckpoint, string | number | bigint>;
32
32
  }, "strip", z.ZodTypeAny, {
33
33
  header: BlockHeader;
34
34
  archive: AppendOnlyTreeSnapshot;
35
- blockHash: Fr;
35
+ blockHash: BlockHash;
36
36
  checkpointNumber: number & {
37
37
  _branding: "CheckpointNumber";
38
38
  };
@@ -45,8 +45,8 @@ export declare const BlockDataSchema: z.ZodObject<{
45
45
  root: string;
46
46
  nextAvailableLeafIndex: string | number | bigint;
47
47
  };
48
- blockHash: string;
48
+ blockHash?: any;
49
49
  checkpointNumber: string | number | bigint;
50
50
  indexWithinCheckpoint: string | number | bigint;
51
51
  }>;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2Jsb2NrX2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd6RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCx5RkFBeUY7QUFDekYsTUFBTSxNQUFNLFNBQVMsR0FBRztJQUN0QixNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQztJQUNoQyxTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQ2QsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkMscUJBQXFCLEVBQUUscUJBQXFCLENBQUM7Q0FDOUMsQ0FBQztBQUVGLGVBQU8sTUFBTSxlQUFlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBTTFCLENBQUMifQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2Jsb2NrX2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMseUZBQXlGO0FBQ3pGLE1BQU0sTUFBTSxTQUFTLEdBQUc7SUFDdEIsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNwQixPQUFPLEVBQUUsc0JBQXNCLENBQUM7SUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxxQkFBcUIsRUFBRSxxQkFBcUIsQ0FBQztDQUM5QyxDQUFDO0FBRUYsZUFBTyxNQUFNLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNMUIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"block_data.d.ts","sourceRoot":"","sources":["../../src/block/block_data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,yFAAyF;AACzF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,EAAE,CAAC;IACd,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC"}
1
+ {"version":3,"file":"block_data.d.ts","sourceRoot":"","sources":["../../src/block/block_data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,yFAAyF;AACzF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { CheckpointNumberSchema, IndexWithinCheckpointSchema } from '@aztec/foundation/branded-types';
2
- import { schemas } from '@aztec/foundation/schemas';
3
2
  import { z } from 'zod';
4
3
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
5
4
  import { BlockHeader } from '../tx/block_header.js';
5
+ import { BlockHash } from './block_hash.js';
6
6
  export const BlockDataSchema = z.object({
7
7
  header: BlockHeader.schema,
8
8
  archive: AppendOnlyTreeSnapshot.schema,
9
- blockHash: schemas.Fr,
9
+ blockHash: BlockHash.schema,
10
10
  checkpointNumber: CheckpointNumberSchema,
11
11
  indexWithinCheckpoint: IndexWithinCheckpointSchema
12
12
  });
@@ -1,21 +1,22 @@
1
- import { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { BaseFr, Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ZodFor } from '@aztec/foundation/schemas';
3
+ import type { BufferReader } from '@aztec/foundation/serialize';
3
4
  import { inspect } from 'util';
4
- declare const BLOCK_HASH_BRAND: unique symbol;
5
5
  /** Hash of an L2 block. */
6
- export declare class BlockHash extends Fr {
7
- readonly [BLOCK_HASH_BRAND]: true;
6
+ export declare class BlockHash extends BaseFr {
7
+ /** Branding for nominal typing. */
8
+ private readonly _branding;
9
+ static ZERO: BlockHash;
8
10
  constructor(hash: Fr);
9
11
  [inspect.custom](): string;
10
12
  toFr(): Fr;
11
- /**
12
- * Type guard that checks if a value is a BlockHash instance.
13
- * Uses Symbol.for to ensure cross-module compatibility.
14
- */
13
+ /** Type guard that checks if a value is a BlockHash instance. */
15
14
  static isBlockHash(value: unknown): value is BlockHash;
16
15
  static random(): BlockHash;
16
+ static fromBuffer(buffer: Buffer | BufferReader): BlockHash;
17
17
  static fromString(str: string): BlockHash;
18
18
  static get schema(): ZodFor<BlockHash>;
19
19
  }
20
- export {};
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGFzaC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2Jsb2NrX2hhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IsUUFBQSxNQUFNLGdCQUFnQixlQUFnQyxDQUFDO0FBRXZELDJCQUEyQjtBQUMzQixxQkFBYSxTQUFVLFNBQVEsRUFBRTtJQUMvQixRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFpQjtJQUU1QyxZQUFZLElBQUksRUFBRSxFQUFFLEVBRW5CO0lBRVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBRXhCO0lBRUQsSUFBSSxJQUFJLEVBQUUsQ0FFVDtJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sR0FBRyxLQUFLLElBQUksU0FBUyxDQUVyRDtJQUVELE9BQWdCLE1BQU0sY0FFckI7SUFFRCxPQUFnQixVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBRWpEO0lBRUQsV0FBb0IsTUFBTSxzQkFFekI7Q0FDRiJ9
20
+ /** The block header hash for the genesis block (block 0). */
21
+ export declare const GENESIS_BLOCK_HEADER_HASH: BlockHash;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfaGFzaC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2Jsb2NrX2hhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLDJCQUEyQjtBQUMzQixxQkFBYSxTQUFVLFNBQVEsTUFBTTtJQUNuQyxtQ0FBbUM7SUFDbkMsaUJBQXlCLFNBQVMsQ0FBYztJQUVoRCxNQUFNLENBQUMsSUFBSSxZQUEwQjtJQUVyQyxZQUFZLElBQUksRUFBRSxFQUFFLEVBRW5CO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBRWY7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsaUVBQWlFO0lBQ2pFLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sR0FBRyxLQUFLLElBQUksU0FBUyxDQUVyRDtJQUVELE1BQU0sQ0FBQyxNQUFNLGNBRVo7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFNBQVMsQ0FFMUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUV4QztJQUVELE1BQU0sS0FBSyxNQUFNLHNCQUVoQjtDQUNGO0FBRUQsNkRBQTZEO0FBQzdELGVBQU8sTUFBTSx5QkFBeUIsRUFBRSxTQUF1RCxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"block_hash.d.ts","sourceRoot":"","sources":["../../src/block/block_hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,QAAA,MAAM,gBAAgB,eAAgC,CAAC;AAEvD,2BAA2B;AAC3B,qBAAa,SAAU,SAAQ,EAAE;IAC/B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAiB;IAE5C,YAAY,IAAI,EAAE,EAAE,EAEnB;IAEQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAExB;IAED,IAAI,IAAI,EAAE,CAET;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAErD;IAED,OAAgB,MAAM,cAErB;IAED,OAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAEjD;IAED,WAAoB,MAAM,sBAEzB;CACF"}
1
+ {"version":3,"file":"block_hash.d.ts","sourceRoot":"","sources":["../../src/block/block_hash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,2BAA2B;AAC3B,qBAAa,SAAU,SAAQ,MAAM;IACnC,mCAAmC;IACnC,iBAAyB,SAAS,CAAc;IAEhD,MAAM,CAAC,IAAI,YAA0B;IAErC,YAAY,IAAI,EAAE,EAAE,EAEnB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,IAAI,IAAI,EAAE,CAET;IAED,iEAAiE;IACjE,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAErD;IAED,MAAM,CAAC,MAAM,cAEZ;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE1D;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAExC;IAED,MAAM,KAAK,MAAM,sBAEhB;CACF;AAED,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,EAAE,SAAuD,CAAC"}
@@ -1,11 +1,11 @@
1
1
  var _computedKey;
2
- import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { GENESIS_BLOCK_HEADER_HASH as GENESIS_BLOCK_HEADER_HASH_FR } from '@aztec/constants';
3
+ import { BaseFr, Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { inspect } from 'util';
4
5
  import { hexSchemaFor } from '../schemas/schemas.js';
5
- const BLOCK_HASH_BRAND = Symbol.for('aztec.BlockHash');
6
6
  _computedKey = inspect.custom;
7
- /** Hash of an L2 block. */ export class BlockHash extends Fr {
8
- [BLOCK_HASH_BRAND] = true;
7
+ /** Hash of an L2 block. */ export class BlockHash extends BaseFr {
8
+ static ZERO = new BlockHash(Fr.ZERO);
9
9
  constructor(hash){
10
10
  super(hash);
11
11
  }
@@ -15,15 +15,15 @@ _computedKey = inspect.custom;
15
15
  toFr() {
16
16
  return new Fr(this.toBigInt());
17
17
  }
18
- /**
19
- * Type guard that checks if a value is a BlockHash instance.
20
- * Uses Symbol.for to ensure cross-module compatibility.
21
- */ static isBlockHash(value) {
22
- return typeof value === 'object' && value !== null && BLOCK_HASH_BRAND in value;
18
+ /** Type guard that checks if a value is a BlockHash instance. */ static isBlockHash(value) {
19
+ return value instanceof BlockHash;
23
20
  }
24
21
  static random() {
25
22
  return new BlockHash(Fr.random());
26
23
  }
24
+ static fromBuffer(buffer) {
25
+ return new BlockHash(Fr.fromBuffer(buffer));
26
+ }
27
27
  static fromString(str) {
28
28
  return new BlockHash(Fr.fromString(str));
29
29
  }
@@ -31,3 +31,4 @@ _computedKey = inspect.custom;
31
31
  return hexSchemaFor(BlockHash);
32
32
  }
33
33
  }
34
+ /** The block header hash for the genesis block (block 0). */ export const GENESIS_BLOCK_HEADER_HASH = new BlockHash(GENESIS_BLOCK_HEADER_HASH_FR);
@@ -139,5 +139,13 @@ export declare class L2Block {
139
139
  };
140
140
  getPrivateLogs(): PrivateLog[];
141
141
  toBlockInfo(): L2BlockInfo;
142
+ /**
143
+ * Compute how much DA gas this block uses.
144
+ *
145
+ * @remarks This assumes DA gas is computed solely based on the number of blob fields in transactions.
146
+ * This may change in the future, but we cannot access the actual DA gas used in a block since it's not exposed
147
+ * in the L2BlockHeader, so we have to rely on recomputing it.
148
+ */
149
+ computeDAGasUsed(): number;
142
150
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2suZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9jay9sMl9ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7QUFDbkYsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFFaEIscUJBQXFCLEVBRXJCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLDJEQUEyRDtJQUNwRCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLDJCQUEyQjtJQUNwQixNQUFNLEVBQUUsV0FBVztJQUMxQixxQkFBcUI7SUFDZCxJQUFJLEVBQUUsSUFBSTtJQUNqQiwwREFBMEQ7SUFDbkQsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ3pDLGdEQUFnRDtJQUN6QyxxQkFBcUIsRUFBRSxxQkFBcUI7SUFWckQ7SUFDRSwyREFBMkQ7SUFDcEQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QywyQkFBMkI7SUFDcEIsTUFBTSxFQUFFLFdBQVc7SUFDMUIscUJBQXFCO0lBQ2QsSUFBSSxFQUFFLElBQUk7SUFDakIsMERBQTBEO0lBQ25ELGdCQUFnQixFQUFFLGdCQUFnQjtJQUN6QyxnREFBZ0Q7SUFDekMscUJBQXFCLEVBQUUscUJBQXFCLEVBQ2pEO0lBRUosSUFBSSxNQUFNLElBQUksV0FBVyxDQUV4QjtJQUVELElBQUksSUFBSSxJQUFJLFVBQVUsQ0FFckI7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLENBRXRCO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxXQVMzQztJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRDs7O09BR0c7SUFDSSxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUVoQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxPQUFPLENBUWxDO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLGVBQWUsSUFBSSxhQUFhLENBc0J0QztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxXQVFoQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYSxNQUFNLENBQ2pCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEVBQ0UsZ0JBQXdELEVBQ3hELHFCQUFnRCxFQUNoRCxXQUFlLEVBQ2YsU0FBYyxFQUNkLGFBQWEsRUFDYixHQUFHLG9CQUFvQixFQUN4QixHQUFFO1FBQ0QsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxxQkFBcUIsQ0FBQyxFQUFFLHFCQUFxQixDQUFDO1FBQzlDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNyQixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqRixHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQU0sR0FDekQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUtsQjtJQUVEOzs7T0FHRztJQUNILFFBQVE7Ozs7Ozs7O01BcUJQO0lBRUQsY0FBYyxJQUFJLFVBQVUsRUFBRSxDQUU3QjtJQUVELFdBQVcsSUFBSSxXQUFXLENBU3pCO0NBQ0YifQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2suZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9jay9sMl9ibG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7QUFFbkYsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFFaEIscUJBQXFCLEVBRXJCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLDJEQUEyRDtJQUNwRCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLDJCQUEyQjtJQUNwQixNQUFNLEVBQUUsV0FBVztJQUMxQixxQkFBcUI7SUFDZCxJQUFJLEVBQUUsSUFBSTtJQUNqQiwwREFBMEQ7SUFDbkQsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ3pDLGdEQUFnRDtJQUN6QyxxQkFBcUIsRUFBRSxxQkFBcUI7SUFWckQ7SUFDRSwyREFBMkQ7SUFDcEQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QywyQkFBMkI7SUFDcEIsTUFBTSxFQUFFLFdBQVc7SUFDMUIscUJBQXFCO0lBQ2QsSUFBSSxFQUFFLElBQUk7SUFDakIsMERBQTBEO0lBQ25ELGdCQUFnQixFQUFFLGdCQUFnQjtJQUN6QyxnREFBZ0Q7SUFDekMscUJBQXFCLEVBQUUscUJBQXFCLEVBQ2pEO0lBRUosSUFBSSxNQUFNLElBQUksV0FBVyxDQUV4QjtJQUVELElBQUksSUFBSSxJQUFJLFVBQVUsQ0FFckI7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLENBRXRCO0lBRUQsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxXQVMzQztJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRDs7O09BR0c7SUFDSSxJQUFJLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUVoQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxPQUFPLENBUWxDO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLGVBQWUsSUFBSSxhQUFhLENBc0J0QztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxXQVFoQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYSxNQUFNLENBQ2pCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEVBQ0UsZ0JBQXdELEVBQ3hELHFCQUFnRCxFQUNoRCxXQUFlLEVBQ2YsU0FBYyxFQUNkLGFBQWEsRUFDYixHQUFHLG9CQUFvQixFQUN4QixHQUFFO1FBQ0QsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxxQkFBcUIsQ0FBQyxFQUFFLHFCQUFxQixDQUFDO1FBQzlDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNyQixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsYUFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqRixHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQU0sR0FDekQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUtsQjtJQUVEOzs7T0FHRztJQUNILFFBQVE7Ozs7Ozs7O01BcUJQO0lBRUQsY0FBYyxJQUFJLFVBQVUsRUFBRSxDQUU3QjtJQUVELFdBQVcsSUFBSSxXQUFXLENBU3pCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsZ0JBQWdCLElBQUksTUFBTSxDQUV6QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
+ import { DA_GAS_PER_FIELD } from '@aztec/constants';
2
3
  import { CheckpointNumber, CheckpointNumberSchema, IndexWithinCheckpoint, IndexWithinCheckpointSchema } from '@aztec/foundation/branded-types';
3
4
  import { Fr } from '@aztec/foundation/curves/bn254';
4
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -111,8 +112,8 @@ import { Body } from './body.js';
111
112
  */ static async random(blockNumber, { checkpointNumber = CheckpointNumber(Number(blockNumber)), indexWithinCheckpoint = IndexWithinCheckpoint(0), txsPerBlock = 1, txOptions = {}, makeTxOptions, ...blockHeaderOverrides } = {}) {
112
113
  const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
113
114
  const header = BlockHeader.random({
114
- blockNumber,
115
- ...blockHeaderOverrides
115
+ ...blockHeaderOverrides,
116
+ blockNumber
116
117
  });
117
118
  const body = await Body.random({
118
119
  txsPerBlock,
@@ -151,4 +152,13 @@ import { Body } from './body.js';
151
152
  timestamp: this.header.globalVariables.timestamp
152
153
  };
153
154
  }
155
+ /**
156
+ * Compute how much DA gas this block uses.
157
+ *
158
+ * @remarks This assumes DA gas is computed solely based on the number of blob fields in transactions.
159
+ * This may change in the future, but we cannot access the actual DA gas used in a block since it's not exposed
160
+ * in the L2BlockHeader, so we have to rely on recomputing it.
161
+ */ computeDAGasUsed() {
162
+ return this.body.txEffects.reduce((total, txEffect)=>total + txEffect.getNumBlobFields(), 0) * DA_GAS_PER_FIELD;
163
+ }
154
164
  }
@@ -2,8 +2,9 @@ import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader } from '@aztec/foundation/serialize';
4
4
  import { z } from 'zod';
5
+ import { BlockHash } from './block_hash.js';
5
6
  export type L2BlockInfo = {
6
- blockHash?: Fr;
7
+ blockHash?: BlockHash;
7
8
  archive: Fr;
8
9
  lastArchive: Fr;
9
10
  blockNumber: BlockNumber;
@@ -13,7 +14,7 @@ export type L2BlockInfo = {
13
14
  };
14
15
  export declare function randomBlockInfo(blockNumber?: BlockNumber | number): L2BlockInfo;
15
16
  export declare const BlockInfoSchema: z.ZodObject<{
16
- blockHash: z.ZodOptional<z.ZodType<Fr, any, string>>;
17
+ blockHash: z.ZodOptional<import("@aztec/foundation/schemas").ZodFor<BlockHash>>;
17
18
  archive: z.ZodType<Fr, any, string>;
18
19
  lastArchive: z.ZodType<Fr, any, string>;
19
20
  blockNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
@@ -21,7 +22,7 @@ export declare const BlockInfoSchema: z.ZodObject<{
21
22
  txCount: z.ZodNumber;
22
23
  timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
23
24
  }, "strip", z.ZodTypeAny, {
24
- blockHash?: Fr | undefined;
25
+ blockHash?: BlockHash | undefined;
25
26
  archive: Fr;
26
27
  lastArchive: Fr;
27
28
  blockNumber: number & {
@@ -33,7 +34,7 @@ export declare const BlockInfoSchema: z.ZodObject<{
33
34
  txCount: number;
34
35
  timestamp: bigint;
35
36
  }, {
36
- blockHash?: string | undefined;
37
+ blockHash?: any;
37
38
  archive: string;
38
39
  lastArchive: string;
39
40
  blockNumber: string | number | bigint;
@@ -43,4 +44,4 @@ export declare const BlockInfoSchema: z.ZodObject<{
43
44
  }>;
44
45
  export declare function serializeBlockInfo(blockInfo: L2BlockInfo): Buffer;
45
46
  export declare function deserializeBlockInfo(buffer: Buffer | BufferReader): L2BlockInfo;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfaW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2wyX2Jsb2NrX2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsVUFBVSxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxNQUFNLFdBQVcsR0FBRztJQUN4QixTQUFTLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDZixPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ1osV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixTQUFTLEVBQUUsTUFBTSxDQUFDO0NBQ25CLENBQUM7QUFFRix3QkFBZ0IsZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxNQUFNLEdBQUcsV0FBVyxDQVUvRTtBQUVELGVBQU8sTUFBTSxlQUFlOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBUTFCLENBQUM7QUFFSCx3QkFBZ0Isa0JBQWtCLENBQUMsU0FBUyxFQUFFLFdBQVcsR0FBRyxNQUFNLENBVWpFO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBQVcsQ0FZL0UifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfaW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2wyX2Jsb2NrX2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsVUFBVSxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFDeEIsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUM7Q0FDbkIsQ0FBQztBQUVGLHdCQUFnQixlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxHQUFHLE1BQU0sR0FBRyxXQUFXLENBVS9FO0FBRUQsZUFBTyxNQUFNLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFRMUIsQ0FBQztBQUVILHdCQUFnQixrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxHQUFHLE1BQU0sQ0FVakU7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FBVyxDQVkvRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_info.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,UAAU,EAAoB,MAAM,iCAAiC,CAAC;AAC/G,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,EAAE,CAAC;IACf,OAAO,EAAE,EAAE,CAAC;IACZ,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAU/E;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAEH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAUjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAY/E"}
1
+ {"version":3,"file":"l2_block_info.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,UAAU,EAAoB,MAAM,iCAAiC,CAAC;AAC/G,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,EAAE,CAAC;IACZ,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAU/E;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAEH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAUjE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAY/E"}
@@ -3,9 +3,10 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { schemas } from '@aztec/foundation/schemas';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
  import { z } from 'zod';
6
+ import { BlockHash } from './block_hash.js';
6
7
  export function randomBlockInfo(blockNumber) {
7
8
  return {
8
- blockHash: Fr.random(),
9
+ blockHash: BlockHash.random(),
9
10
  archive: Fr.random(),
10
11
  lastArchive: Fr.random(),
11
12
  blockNumber: BlockNumber(blockNumber ?? Math.floor(Math.random() * 100000) + 1),
@@ -15,7 +16,7 @@ export function randomBlockInfo(blockNumber) {
15
16
  };
16
17
  }
17
18
  export const BlockInfoSchema = z.object({
18
- blockHash: schemas.Fr.optional(),
19
+ blockHash: BlockHash.schema.optional(),
19
20
  archive: schemas.Fr,
20
21
  lastArchive: schemas.Fr,
21
22
  blockNumber: BlockNumberSchema,
@@ -24,13 +25,13 @@ export const BlockInfoSchema = z.object({
24
25
  timestamp: schemas.BigInt
25
26
  });
26
27
  export function serializeBlockInfo(blockInfo) {
27
- return serializeToBuffer(blockInfo.blockHash ?? Fr.ZERO, blockInfo.archive, blockInfo.lastArchive, blockInfo.blockNumber, blockInfo.slotNumber, blockInfo.txCount, blockInfo.timestamp);
28
+ return serializeToBuffer(blockInfo.blockHash ?? BlockHash.ZERO, blockInfo.archive, blockInfo.lastArchive, blockInfo.blockNumber, blockInfo.slotNumber, blockInfo.txCount, blockInfo.timestamp);
28
29
  }
29
30
  export function deserializeBlockInfo(buffer) {
30
31
  const reader = BufferReader.asReader(buffer);
31
- const blockHash = reader.readObject(Fr);
32
+ const blockHash = BlockHash.fromBuffer(reader);
32
33
  return {
33
- blockHash: blockHash.equals(Fr.ZERO) ? undefined : blockHash,
34
+ blockHash: blockHash.equals(BlockHash.ZERO) ? undefined : blockHash,
34
35
  archive: reader.readObject(Fr),
35
36
  lastArchive: reader.readObject(Fr),
36
37
  blockNumber: BlockNumber(reader.readNumber()),