@aztec/stdlib 0.0.1-commit.2f68f620 → 0.0.1-commit.321f6a9

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 (445) hide show
  1. package/dest/abi/abi.d.ts +8 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/buffer.d.ts +6 -2
  4. package/dest/abi/buffer.d.ts.map +1 -1
  5. package/dest/abi/buffer.js +13 -1
  6. package/dest/abi/contract_artifact.d.ts +1 -1
  7. package/dest/abi/contract_artifact.d.ts.map +1 -1
  8. package/dest/abi/contract_artifact.js +26 -8
  9. package/dest/avm/avm.js +1 -1
  10. package/dest/aztec-address/index.d.ts +35 -5
  11. package/dest/aztec-address/index.d.ts.map +1 -1
  12. package/dest/aztec-address/index.js +32 -8
  13. package/dest/block/attestation_info.d.ts +1 -1
  14. package/dest/block/attestation_info.d.ts.map +1 -1
  15. package/dest/block/attestation_info.js +7 -4
  16. package/dest/block/l2_block_source.d.ts +46 -23
  17. package/dest/block/l2_block_source.d.ts.map +1 -1
  18. package/dest/block/l2_block_source.js +15 -1
  19. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  20. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  21. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  22. package/dest/block/l2_block_stream/index.d.ts +2 -1
  23. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  24. package/dest/block/l2_block_stream/index.js +1 -0
  25. package/dest/block/l2_block_stream/interfaces.d.ts +81 -11
  26. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  27. package/dest/block/l2_block_stream/interfaces.js +25 -1
  28. package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
  29. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  30. package/dest/block/l2_block_stream/l2_block_stream.js +149 -152
  31. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +6 -12
  32. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  33. package/dest/block/l2_block_stream/l2_tips_memory_store.js +8 -32
  34. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +17 -18
  35. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  36. package/dest/block/l2_block_stream/l2_tips_store_base.js +70 -58
  37. package/dest/block/proposal/attestations_and_signers.d.ts +19 -1
  38. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  39. package/dest/block/proposal/attestations_and_signers.js +47 -7
  40. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  41. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  42. package/dest/block/test/l2_tips_store_test_suite.js +296 -37
  43. package/dest/block/validate_block_result.d.ts +16 -1
  44. package/dest/block/validate_block_result.d.ts.map +1 -1
  45. package/dest/block/validate_block_result.js +18 -3
  46. package/dest/checkpoint/checkpoint.js +2 -2
  47. package/dest/checkpoint/index.d.ts +2 -1
  48. package/dest/checkpoint/index.d.ts.map +1 -1
  49. package/dest/checkpoint/index.js +1 -0
  50. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  51. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  52. package/dest/checkpoint/simulation_overrides.js +98 -0
  53. package/dest/checkpoint/validate.d.ts +11 -3
  54. package/dest/checkpoint/validate.d.ts.map +1 -1
  55. package/dest/checkpoint/validate.js +9 -6
  56. package/dest/config/index.d.ts +2 -1
  57. package/dest/config/index.d.ts.map +1 -1
  58. package/dest/config/index.js +1 -0
  59. package/dest/config/network-consensus-config.d.ts +72 -0
  60. package/dest/config/network-consensus-config.d.ts.map +1 -0
  61. package/dest/config/network-consensus-config.js +223 -0
  62. package/dest/config/sequencer-config.d.ts +4 -2
  63. package/dest/config/sequencer-config.d.ts.map +1 -1
  64. package/dest/config/sequencer-config.js +22 -3
  65. package/dest/contract/contract_address.d.ts +5 -4
  66. package/dest/contract/contract_address.d.ts.map +1 -1
  67. package/dest/contract/contract_class.d.ts +1 -1
  68. package/dest/contract/contract_class.d.ts.map +1 -1
  69. package/dest/contract/contract_class.js +3 -2
  70. package/dest/contract/contract_instance.d.ts +16 -2
  71. package/dest/contract/contract_instance.d.ts.map +1 -1
  72. package/dest/contract/contract_instance.js +45 -0
  73. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  74. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  75. package/dest/contract/interfaces/contract_instance.d.ts +71 -10
  76. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  77. package/dest/contract/interfaces/contract_instance.js +7 -2
  78. package/dest/contract/interfaces/node-info.d.ts +11 -1
  79. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  80. package/dest/contract/interfaces/node-info.js +7 -1
  81. package/dest/contract/partial_address.d.ts +9 -3
  82. package/dest/contract/partial_address.d.ts.map +1 -1
  83. package/dest/contract/partial_address.js +8 -2
  84. package/dest/database-version/version_manager.d.ts +18 -4
  85. package/dest/database-version/version_manager.d.ts.map +1 -1
  86. package/dest/database-version/version_manager.js +76 -6
  87. package/dest/deserialization/index.d.ts +35 -3
  88. package/dest/deserialization/index.d.ts.map +1 -1
  89. package/dest/deserialization/index.js +32 -1
  90. package/dest/file-store/factory.d.ts +1 -1
  91. package/dest/file-store/factory.d.ts.map +1 -1
  92. package/dest/file-store/factory.js +7 -0
  93. package/dest/file-store/index.d.ts +2 -1
  94. package/dest/file-store/index.d.ts.map +1 -1
  95. package/dest/file-store/index.js +1 -0
  96. package/dest/file-store/memory.d.ts +24 -0
  97. package/dest/file-store/memory.d.ts.map +1 -0
  98. package/dest/file-store/memory.js +80 -0
  99. package/dest/gas/gas_settings.d.ts +7 -13
  100. package/dest/gas/gas_settings.d.ts.map +1 -1
  101. package/dest/gas/gas_settings.js +9 -16
  102. package/dest/gas/index.d.ts +2 -1
  103. package/dest/gas/index.d.ts.map +1 -1
  104. package/dest/gas/index.js +1 -0
  105. package/dest/gas/tx_gas_limits.d.ts +72 -0
  106. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  107. package/dest/gas/tx_gas_limits.js +85 -0
  108. package/dest/ha-signing/config.d.ts +19 -5
  109. package/dest/ha-signing/config.d.ts.map +1 -1
  110. package/dest/ha-signing/config.js +9 -3
  111. package/dest/ha-signing/local_config.d.ts +10 -2
  112. package/dest/ha-signing/local_config.d.ts.map +1 -1
  113. package/dest/ha-signing/local_config.js +8 -2
  114. package/dest/hash/hash.d.ts +1 -2
  115. package/dest/hash/hash.d.ts.map +1 -1
  116. package/dest/hash/hash.js +0 -7
  117. package/dest/interfaces/archiver.d.ts +12 -7
  118. package/dest/interfaces/archiver.d.ts.map +1 -1
  119. package/dest/interfaces/archiver.js +4 -2
  120. package/dest/interfaces/aztec-node-admin.d.ts +24 -17
  121. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  122. package/dest/interfaces/aztec-node-admin.js +1 -1
  123. package/dest/interfaces/aztec-node-debug.d.ts +40 -2
  124. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -1
  125. package/dest/interfaces/aztec-node-debug.js +29 -1
  126. package/dest/interfaces/aztec-node.d.ts +69 -28
  127. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  128. package/dest/interfaces/aztec-node.js +56 -20
  129. package/dest/interfaces/block-builder.d.ts +9 -2
  130. package/dest/interfaces/block-builder.d.ts.map +1 -1
  131. package/dest/interfaces/chain_tips.d.ts +8 -47
  132. package/dest/interfaces/chain_tips.d.ts.map +1 -1
  133. package/dest/interfaces/chain_tips.js +1 -6
  134. package/dest/interfaces/checkpoint_parameter.d.ts +3 -3
  135. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -1
  136. package/dest/interfaces/checkpoint_parameter.js +3 -3
  137. package/dest/interfaces/client.d.ts +2 -1
  138. package/dest/interfaces/client.d.ts.map +1 -1
  139. package/dest/interfaces/configs.d.ts +27 -6
  140. package/dest/interfaces/configs.d.ts.map +1 -1
  141. package/dest/interfaces/configs.js +5 -1
  142. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  143. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  144. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  145. package/dest/interfaces/merkle_tree_operations.d.ts +3 -4
  146. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  147. package/dest/interfaces/p2p.d.ts +38 -9
  148. package/dest/interfaces/p2p.d.ts.map +1 -1
  149. package/dest/interfaces/p2p.js +14 -2
  150. package/dest/interfaces/private_kernel_prover.d.ts +71 -12
  151. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  152. package/dest/interfaces/prover-client.d.ts +2 -3
  153. package/dest/interfaces/prover-client.d.ts.map +1 -1
  154. package/dest/interfaces/prover-node.d.ts +12 -8
  155. package/dest/interfaces/prover-node.d.ts.map +1 -1
  156. package/dest/interfaces/prover-node.js +24 -17
  157. package/dest/interfaces/proving-job.d.ts +87 -74
  158. package/dest/interfaces/proving-job.d.ts.map +1 -1
  159. package/dest/interfaces/proving-job.js +13 -4
  160. package/dest/interfaces/server.d.ts +1 -2
  161. package/dest/interfaces/server.d.ts.map +1 -1
  162. package/dest/interfaces/server.js +0 -1
  163. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  164. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  165. package/dest/interfaces/validator.d.ts +15 -4
  166. package/dest/interfaces/validator.d.ts.map +1 -1
  167. package/dest/interfaces/validator.js +3 -1
  168. package/dest/interfaces/world_state.d.ts +14 -1
  169. package/dest/interfaces/world_state.d.ts.map +1 -1
  170. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  171. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  172. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  173. package/dest/kernel/hints/read_request.js +1 -1
  174. package/dest/kernel/index.d.ts +6 -2
  175. package/dest/kernel/index.d.ts.map +1 -1
  176. package/dest/kernel/index.js +5 -1
  177. package/dest/kernel/log_hash.d.ts +1 -1
  178. package/dest/kernel/log_hash.d.ts.map +1 -1
  179. package/dest/kernel/log_hash.js +2 -2
  180. package/dest/kernel/note_hash.js +1 -1
  181. package/dest/kernel/nullifier.js +1 -1
  182. package/dest/kernel/private_circuit_public_inputs.d.ts +13 -3
  183. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  184. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  185. package/dest/kernel/private_context_inputs.d.ts +4 -3
  186. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  187. package/dest/kernel/private_context_inputs.js +7 -3
  188. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -9
  189. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  190. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  191. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +2 -3
  192. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -1
  193. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +3 -5
  194. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +2 -3
  195. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -1
  196. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +3 -5
  197. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  198. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  199. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  200. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  201. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  202. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  203. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  204. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  205. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  206. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  207. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  208. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  209. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  210. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  211. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  212. package/dest/kernel/private_kernel_prover_output.d.ts +4 -1
  213. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  214. package/dest/kernel/private_kernel_prover_output.js +4 -1
  215. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  216. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  217. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  218. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  219. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  220. package/dest/kernel/private_log_data.d.ts +1 -1
  221. package/dest/kernel/private_log_data.d.ts.map +1 -1
  222. package/dest/kernel/private_log_data.js +1 -1
  223. package/dest/keys/derivation.d.ts +41 -6
  224. package/dest/keys/derivation.d.ts.map +1 -1
  225. package/dest/keys/derivation.js +49 -26
  226. package/dest/logs/app_tagging_secret.d.ts +30 -7
  227. package/dest/logs/app_tagging_secret.d.ts.map +1 -1
  228. package/dest/logs/app_tagging_secret.js +46 -39
  229. package/dest/logs/app_tagging_secret_kind.js +1 -1
  230. package/dest/logs/contract_class_log.d.ts +1 -2
  231. package/dest/logs/contract_class_log.d.ts.map +1 -1
  232. package/dest/logs/contract_class_log.js +0 -4
  233. package/dest/logs/message_context.d.ts +5 -15
  234. package/dest/logs/message_context.d.ts.map +1 -1
  235. package/dest/logs/message_context.js +1 -66
  236. package/dest/logs/pending_tagged_log.d.ts +6 -8
  237. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  238. package/dest/logs/pending_tagged_log.js +1 -31
  239. package/dest/logs/shared_secret_derivation.d.ts +29 -6
  240. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  241. package/dest/logs/shared_secret_derivation.js +44 -11
  242. package/dest/messaging/l1_to_l2_message.d.ts +23 -2
  243. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  244. package/dest/messaging/l1_to_l2_message.js +36 -11
  245. package/dest/noir/index.d.ts +3 -3
  246. package/dest/noir/index.d.ts.map +1 -1
  247. package/dest/p2p/attestation_utils.d.ts +1 -1
  248. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  249. package/dest/p2p/attestation_utils.js +8 -1
  250. package/dest/p2p/checkpoint_attestation.d.ts +10 -1
  251. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  252. package/dest/p2p/checkpoint_attestation.js +10 -0
  253. package/dest/p2p/checkpoint_proposal.d.ts +2 -1
  254. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  255. package/dest/p2p/consensus_payload.d.ts +2 -1
  256. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  257. package/dest/p2p/signature_utils.d.ts +10 -1
  258. package/dest/p2p/signature_utils.d.ts.map +1 -1
  259. package/dest/p2p/signature_utils.js +9 -1
  260. package/dest/rollup/avm_proof_data.d.ts +3 -3
  261. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  262. package/dest/rollup/checkpoint_header.d.ts +8 -3
  263. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  264. package/dest/rollup/checkpoint_header.js +20 -10
  265. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -1
  266. package/dest/stats/stats.d.ts +2 -2
  267. package/dest/stats/stats.d.ts.map +1 -1
  268. package/dest/tests/factories.d.ts +1 -1
  269. package/dest/tests/factories.d.ts.map +1 -1
  270. package/dest/tests/factories.js +10 -15
  271. package/dest/tests/mocks.d.ts +1 -1
  272. package/dest/tests/mocks.d.ts.map +1 -1
  273. package/dest/tests/mocks.js +3 -2
  274. package/dest/timetable/budgets.d.ts +57 -0
  275. package/dest/timetable/budgets.d.ts.map +1 -0
  276. package/dest/timetable/budgets.js +56 -0
  277. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  278. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  279. package/dest/timetable/build_proposer_timetable.js +17 -0
  280. package/dest/timetable/consensus_timetable.d.ts +70 -0
  281. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  282. package/dest/timetable/consensus_timetable.js +89 -0
  283. package/dest/timetable/index.d.ts +5 -84
  284. package/dest/timetable/index.d.ts.map +1 -1
  285. package/dest/timetable/index.js +4 -209
  286. package/dest/timetable/proposer_timetable.d.ts +106 -0
  287. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  288. package/dest/timetable/proposer_timetable.js +132 -0
  289. package/dest/trees/nullifier_membership_witness.d.ts +5 -8
  290. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  291. package/dest/trees/nullifier_membership_witness.js +0 -9
  292. package/dest/trees/public_data_witness.d.ts +7 -17
  293. package/dest/trees/public_data_witness.d.ts.map +1 -1
  294. package/dest/trees/public_data_witness.js +0 -27
  295. package/dest/tx/execution_payload.d.ts +1 -1
  296. package/dest/tx/execution_payload.d.ts.map +1 -1
  297. package/dest/tx/execution_payload.js +1 -1
  298. package/dest/tx/fee_provider.d.ts +2 -2
  299. package/dest/tx/fee_provider.d.ts.map +1 -1
  300. package/dest/tx/global_variable_builder.d.ts +2 -12
  301. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  302. package/dest/tx/global_variables.js +2 -2
  303. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  304. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  305. package/dest/tx/private_tx_constant_data.js +13 -4
  306. package/dest/tx/profiling.d.ts +1 -1
  307. package/dest/tx/profiling.d.ts.map +1 -1
  308. package/dest/tx/profiling.js +2 -0
  309. package/dest/tx/simulated_tx.d.ts +10 -6
  310. package/dest/tx/simulated_tx.d.ts.map +1 -1
  311. package/dest/tx/tx.d.ts +9 -1
  312. package/dest/tx/tx.d.ts.map +1 -1
  313. package/dest/tx/tx.js +15 -0
  314. package/dest/tx/validator/error_texts.d.ts +2 -2
  315. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  316. package/dest/tx/validator/error_texts.js +1 -1
  317. package/dest/world-state/genesis_data.d.ts +9 -1
  318. package/dest/world-state/genesis_data.d.ts.map +1 -1
  319. package/dest/world-state/genesis_data.js +1 -0
  320. package/package.json +8 -8
  321. package/src/abi/abi.ts +8 -0
  322. package/src/abi/buffer.ts +13 -1
  323. package/src/abi/contract_artifact.ts +33 -9
  324. package/src/avm/avm.ts +1 -1
  325. package/src/aztec-address/index.ts +36 -6
  326. package/src/block/attestation_info.ts +7 -2
  327. package/src/block/l2_block_source.ts +67 -13
  328. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  329. package/src/block/l2_block_stream/index.ts +1 -0
  330. package/src/block/l2_block_stream/interfaces.ts +96 -10
  331. package/src/block/l2_block_stream/l2_block_stream.ts +216 -175
  332. package/src/block/l2_block_stream/l2_tips_memory_store.ts +12 -41
  333. package/src/block/l2_block_stream/l2_tips_store_base.ts +84 -93
  334. package/src/block/proposal/attestations_and_signers.ts +53 -7
  335. package/src/block/test/l2_tips_store_test_suite.ts +270 -28
  336. package/src/block/validate_block_result.ts +48 -2
  337. package/src/checkpoint/checkpoint.ts +2 -2
  338. package/src/checkpoint/index.ts +1 -0
  339. package/src/checkpoint/simulation_overrides.ts +171 -0
  340. package/src/checkpoint/validate.ts +16 -6
  341. package/src/config/index.ts +1 -0
  342. package/src/config/network-consensus-config.ts +291 -0
  343. package/src/config/sequencer-config.ts +36 -5
  344. package/src/contract/contract_address.ts +4 -3
  345. package/src/contract/contract_class.ts +3 -2
  346. package/src/contract/contract_instance.ts +62 -1
  347. package/src/contract/interfaces/contract_data_source.ts +2 -4
  348. package/src/contract/interfaces/contract_instance.ts +26 -8
  349. package/src/contract/interfaces/node-info.ts +11 -0
  350. package/src/contract/partial_address.ts +8 -2
  351. package/src/database-version/version_manager.ts +96 -6
  352. package/src/deserialization/index.ts +35 -2
  353. package/src/file-store/factory.ts +7 -0
  354. package/src/file-store/index.ts +1 -0
  355. package/src/file-store/memory.ts +94 -0
  356. package/src/gas/README.md +199 -35
  357. package/src/gas/gas_settings.ts +11 -21
  358. package/src/gas/index.ts +1 -0
  359. package/src/gas/tx_gas_limits.ts +123 -0
  360. package/src/ha-signing/config.ts +23 -5
  361. package/src/ha-signing/local_config.ts +20 -1
  362. package/src/hash/hash.ts +0 -8
  363. package/src/interfaces/archiver.ts +14 -7
  364. package/src/interfaces/aztec-node-admin.ts +1 -1
  365. package/src/interfaces/aztec-node-debug.ts +54 -2
  366. package/src/interfaces/aztec-node.ts +121 -43
  367. package/src/interfaces/block-builder.ts +8 -1
  368. package/src/interfaces/chain_tips.ts +8 -16
  369. package/src/interfaces/checkpoint_parameter.ts +3 -3
  370. package/src/interfaces/client.ts +1 -0
  371. package/src/interfaces/configs.ts +27 -6
  372. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  373. package/src/interfaces/merkle_tree_operations.ts +2 -3
  374. package/src/interfaces/p2p.ts +29 -9
  375. package/src/interfaces/private_kernel_prover.ts +104 -13
  376. package/src/interfaces/prover-client.ts +1 -3
  377. package/src/interfaces/prover-node.ts +32 -17
  378. package/src/interfaces/proving-job.ts +15 -3
  379. package/src/interfaces/server.ts +0 -1
  380. package/src/interfaces/server_circuit_prover.ts +2 -2
  381. package/src/interfaces/validator.ts +11 -0
  382. package/src/interfaces/world_state.ts +14 -0
  383. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  384. package/src/kernel/hints/read_request.ts +1 -1
  385. package/src/kernel/index.ts +5 -1
  386. package/src/kernel/log_hash.ts +5 -2
  387. package/src/kernel/note_hash.ts +1 -1
  388. package/src/kernel/nullifier.ts +1 -1
  389. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  390. package/src/kernel/private_context_inputs.ts +10 -3
  391. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  392. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +0 -3
  393. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +0 -3
  394. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  395. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  396. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  397. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  398. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  399. package/src/kernel/private_kernel_prover_output.ts +4 -0
  400. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  401. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  402. package/src/kernel/private_log_data.ts +4 -1
  403. package/src/keys/derivation.ts +69 -24
  404. package/src/logs/app_tagging_secret.ts +62 -39
  405. package/src/logs/app_tagging_secret_kind.ts +1 -1
  406. package/src/logs/contract_class_log.ts +0 -9
  407. package/src/logs/message_context.ts +7 -65
  408. package/src/logs/pending_tagged_log.ts +6 -33
  409. package/src/logs/shared_secret_derivation.ts +47 -14
  410. package/src/messaging/l1_to_l2_message.ts +51 -13
  411. package/src/noir/index.ts +2 -1
  412. package/src/p2p/attestation_utils.ts +8 -1
  413. package/src/p2p/checkpoint_attestation.ts +12 -0
  414. package/src/p2p/signature_utils.ts +9 -0
  415. package/src/rollup/avm_proof_data.ts +2 -2
  416. package/src/rollup/checkpoint_header.ts +16 -2
  417. package/src/stats/stats.ts +6 -2
  418. package/src/tests/factories.ts +13 -13
  419. package/src/tests/mocks.ts +7 -2
  420. package/src/timetable/README.md +609 -0
  421. package/src/timetable/budgets.ts +87 -0
  422. package/src/timetable/build_proposer_timetable.ts +42 -0
  423. package/src/timetable/consensus_timetable.ts +126 -0
  424. package/src/timetable/index.ts +4 -304
  425. package/src/timetable/proposer_timetable.ts +190 -0
  426. package/src/timetable/timetable-example.svg +108 -0
  427. package/src/trees/nullifier_membership_witness.ts +0 -11
  428. package/src/trees/public_data_witness.ts +0 -31
  429. package/src/tx/execution_payload.ts +2 -1
  430. package/src/tx/fee_provider.ts +1 -1
  431. package/src/tx/global_variable_builder.ts +1 -17
  432. package/src/tx/global_variables.ts +2 -2
  433. package/src/tx/private_tx_constant_data.ts +25 -2
  434. package/src/tx/profiling.ts +2 -0
  435. package/src/tx/tx.ts +17 -0
  436. package/src/tx/validator/error_texts.ts +2 -1
  437. package/src/world-state/genesis_data.ts +10 -0
  438. package/dest/interfaces/epoch-prover.d.ts +0 -57
  439. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  440. package/dest/interfaces/epoch-prover.js +0 -1
  441. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  442. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  443. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  444. package/src/interfaces/epoch-prover.ts +0 -72
  445. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
package/dest/abi/abi.d.ts CHANGED
@@ -9,6 +9,13 @@ export interface BasicValue<T extends string, V> {
9
9
  }
10
10
  /** An exported value. */
11
11
  export type AbiValue = BasicValue<'boolean', boolean> | BasicValue<'string', string> | BasicValue<'array', AbiValue[]> | TupleValue | IntegerValue | StructValue;
12
+ /** An exported value together with the name of the global that produced it. */
13
+ export interface AbiNamedValue {
14
+ /** The name of the exported global. */
15
+ name: string;
16
+ /** The exported value. */
17
+ value: AbiValue;
18
+ }
12
19
  export declare const AbiValueSchema: z.ZodType<AbiValue>;
13
20
  export type TypedStructFieldValue<T> = {
14
21
  name: string;
@@ -487,4 +494,4 @@ export declare function emptyFunctionAbi(): FunctionAbi;
487
494
  export declare function emptyFunctionArtifact(): FunctionArtifact;
488
495
  export declare function emptyContractArtifact(): ContractArtifact;
489
496
  export {};
490
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2FiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt6RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELHFCQUFxQjtBQUNyQixNQUFNLFdBQVcsVUFBVSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsQ0FBQztJQUM3Qyw2QkFBNkI7SUFDN0IsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDLENBQUM7Q0FDVjtBQUlELHlCQUF5QjtBQUN6QixNQUFNLE1BQU0sUUFBUSxHQUNoQixVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUM5QixVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUM1QixVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQy9CLFVBQVUsR0FDVixZQUFZLEdBQ1osV0FBVyxDQUFDO0FBRWhCLGVBQU8sTUFBTSxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBVTdDLENBQUM7QUFFSCxNQUFNLE1BQU0scUJBQXFCLENBQUMsQ0FBQyxJQUFJO0lBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7Q0FBRSxDQUFDO0FBRWxFLE1BQU0sV0FBVyxXQUFXO0lBQzFCLElBQUksRUFBRSxRQUFRLENBQUM7SUFDZixNQUFNLEVBQUUscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztDQUMzQztBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLElBQUksRUFBRSxPQUFPLENBQUM7SUFDZCxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7Q0FDcEI7QUFFRCxN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
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2FiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt6RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELHFCQUFxQjtBQUNyQixNQUFNLFdBQVcsVUFBVSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsQ0FBQztJQUM3Qyw2QkFBNkI7SUFDN0IsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDLENBQUM7Q0FDVjtBQUlELHlCQUF5QjtBQUN6QixNQUFNLE1BQU0sUUFBUSxHQUNoQixVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUM5QixVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUM1QixVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQy9CLFVBQVUsR0FDVixZQUFZLEdBQ1osV0FBVyxDQUFDO0FBRWhCLCtFQUErRTtBQUMvRSxNQUFNLFdBQVcsYUFBYTtJQUM1Qix1Q0FBdUM7SUFDdkMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLDBCQUEwQjtJQUMxQixLQUFLLEVBQUUsUUFBUSxDQUFDO0NBQ2pCO0FBRUQsZUFBTyxNQUFNLGNBQWMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FVN0MsQ0FBQztBQUVILE1BQU0sTUFBTSxxQkFBcUIsQ0FBQyxDQUFDLElBQUk7SUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtDQUFFLENBQUM7QUFFbEUsTUFBTSxXQUFXLFdBQVc7SUFDMUIsSUFBSSxFQUFFLFFBQVEsQ0FBQztJQUNmLE1BQU0sRUFBRSxxQkFBcUIsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/abi/abi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/abi/abi.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,11 @@ export declare function bufferAsFields(input: Buffer, targetLength: number): Fr[
20
20
  * bytecode commitment computations to diverge from what the circuit produced.
21
21
  *
22
22
  * @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
23
+ * @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
24
+ * from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
25
+ * attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
26
+ * rejected. Throws if the declared length exceeds it, before allocating.
23
27
  * @returns A buffer of exactly `byteLength` bytes.
24
28
  */
25
- export declare function bufferFromFields(fields: Fr[]): Buffer;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBY3hFO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FjckQifQ==
29
+ export declare function bufferFromFields(fields: Fr[], maxByteLength?: number): Buffer;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBY3hFO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FzQjdFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/abi/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,CAcxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAcrD"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/abi/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,CAcxE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB7E"}
@@ -37,10 +37,22 @@ import chunk from 'lodash.chunk';
37
37
  * bytecode commitment computations to diverge from what the circuit produced.
38
38
  *
39
39
  * @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
40
+ * @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
41
+ * from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
42
+ * attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
43
+ * rejected. Throws if the declared length exceeds it, before allocating.
40
44
  * @returns A buffer of exactly `byteLength` bytes.
41
- */ export function bufferFromFields(fields) {
45
+ */ export function bufferFromFields(fields, maxByteLength) {
46
+ // A valid bufferAsFields output always has at least the leading byte-length field, so an empty
47
+ // input encodes no data. Guard so `length` (the destructured head) is never undefined.
48
+ if (fields.length === 0) {
49
+ return Buffer.alloc(0);
50
+ }
42
51
  const [length, ...payload] = fields;
43
52
  const byteLength = length.toNumber();
53
+ if (maxByteLength !== undefined && byteLength > maxByteLength) {
54
+ throw new Error(`Declared byte length ${byteLength} exceeds maximum ${maxByteLength}`);
55
+ }
44
56
  const raw = Buffer.concat(payload.map((f)=>f.toBuffer().subarray(1)));
45
57
  if (raw.length >= byteLength) {
46
58
  return raw.subarray(0, byteLength);
@@ -33,4 +33,4 @@ type NoirCompiledContractFunction = NoirCompiledContract['functions'][number];
33
33
  */
34
34
  export declare function retainBytecode(input: NoirCompiledContractFunction | FunctionArtifact): boolean;
35
35
  export {};
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYXJ0aWZhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvY29udHJhY3RfYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQU9MLEtBQUssb0JBQW9CLEVBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQU1MLEtBQUssZ0JBQWdCLEVBSXJCLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0sVUFBVSxDQUFDO0FBRWxCOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sQ0FFM0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBRTNFO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLG9CQUFvQixHQUFHLGdCQUFnQixDQVNsRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDZCQUE2QixDQUFDLEtBQUssRUFBRSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FFM0Y7QUErREQseURBQXlEO0FBQ3pELEtBQUssNEJBQTRCLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFOUU7O0dBRUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLENBSTlGIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYXJ0aWZhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvY29udHJhY3RfYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQU9MLEtBQUssb0JBQW9CLEVBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQVFMLEtBQUssZ0JBQWdCLEVBSXJCLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0sVUFBVSxDQUFDO0FBRWxCOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sQ0FFM0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBRTNFO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLG9CQUFvQixHQUFHLGdCQUFnQixDQVNsRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDZCQUE2QixDQUFDLEtBQUssRUFBRSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FFM0Y7QUErREQseURBQXlEO0FBQ3pELEtBQUssNEJBQTRCLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFOUU7O0dBRUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLENBSTlGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"contract_artifact.d.ts","sourceRoot":"","sources":["../../src/abi/contract_artifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,KAAK,gBAAgB,EAIrB,KAAK,gBAAgB,EAKtB,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CAE3F;AA+DD,yDAAyD;AACzD,KAAK,4BAA4B,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,OAAO,CAI9F"}
1
+ {"version":3,"file":"contract_artifact.d.ts","sourceRoot":"","sources":["../../src/abi/contract_artifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAQL,KAAK,gBAAgB,EAIrB,KAAK,gBAAgB,EAKtB,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CAE3F;AA+DD,yDAAyD;AACzD,KAAK,4BAA4B,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,OAAO,CAI9F"}
@@ -196,16 +196,20 @@ function getFunctionType(fn) {
196
196
  }
197
197
  /**
198
198
  * Generates a storage layout for the contract artifact.
199
- * @param input - The compiled noir contract to get storage layout for
199
+ * @param contractName - The name of the compiled Noir contract.
200
+ * @param globals - The normalized globals exported by the contract.
200
201
  * @returns A storage layout for the contract.
201
- */ function getStorageLayout(input) {
202
+ */ function getStorageLayout(contractName, globals) {
202
203
  // If another contract is imported by the main contract, its storage layout its going to also show up here.
203
204
  // The layout export includes the contract name, so here we can find the one that belongs to the current one and
204
205
  // ignore the rest.
205
- const storageExports = input.outputs.globals.storage ? input.outputs.globals.storage : [];
206
+ const storageExports = globals.storage ?? [];
206
207
  const storageForContract = storageExports.find((storageExport)=>{
208
+ if (storageExport.kind !== 'struct') {
209
+ return false;
210
+ }
207
211
  const contractNameField = storageExport.fields.find((field)=>field.name === 'contract_name')?.value;
208
- return contractNameField.value === input.name;
212
+ return contractNameField.value === contractName;
209
213
  });
210
214
  const storageFields = storageForContract ? storageForContract.fields.find((field)=>field.name == 'fields').value.fields : [];
211
215
  if (storageFields.length === 0) {
@@ -220,6 +224,18 @@ function getFunctionType(fn) {
220
224
  return acc;
221
225
  }, {});
222
226
  }
227
+ function isAbiNamedValue(value) {
228
+ return 'name' in value;
229
+ }
230
+ function normalizeContractOutputs(outputs) {
231
+ return {
232
+ structs: outputs.structs,
233
+ globals: Object.fromEntries(Object.entries(outputs.globals).map(([tag, values])=>[
234
+ tag,
235
+ values.map((value)=>isAbiNamedValue(value) ? value.value : value)
236
+ ]))
237
+ };
238
+ }
223
239
  /**
224
240
  * Given a post-processed Nargo output defined as `contract` generates an Aztec-compatible contract artifact.
225
241
  *
@@ -229,13 +245,14 @@ function getFunctionType(fn) {
229
245
  if (!contract.transpiled) {
230
246
  throw new Error("Contract's public bytecode has not been transpiled");
231
247
  }
248
+ const outputs = normalizeContractOutputs(contract.outputs);
232
249
  return ContractArtifactSchema.parse({
233
250
  name: contract.name,
234
251
  aztecVersion: contract.aztec_version,
235
252
  functions: contract.functions.filter((f)=>retainBytecode(f)).map((f)=>generateFunctionArtifact(f, contract)),
236
253
  nonDispatchPublicFunctions: contract.functions.filter((f)=>!retainBytecode(f)).map((f)=>generateFunctionAbi(f, contract)),
237
- outputs: contract.outputs,
238
- storageLayout: getStorageLayout(contract),
254
+ outputs,
255
+ storageLayout: getStorageLayout(contract.name, outputs.globals),
239
256
  fileMap: contract.file_map
240
257
  });
241
258
  } catch (err) {
@@ -248,13 +265,14 @@ function getFunctionType(fn) {
248
265
  * Retains all public bytecode.
249
266
  */ function generateContractArtifactForPublic(contract) {
250
267
  try {
268
+ const outputs = normalizeContractOutputs(contract.outputs);
251
269
  return ContractArtifactSchema.parse({
252
270
  name: contract.name,
253
271
  aztecVersion: contract.aztec_version,
254
272
  functions: contract.functions.map((f)=>generateFunctionArtifact(f, contract)),
255
273
  nonDispatchPublicFunctions: contract.functions.filter((f)=>!retainBytecode(f)).map((f)=>generateFunctionAbi(f, contract)),
256
- outputs: contract.outputs,
257
- storageLayout: getStorageLayout(contract),
274
+ outputs,
275
+ storageLayout: getStorageLayout(contract.name, outputs.globals),
258
276
  fileMap: contract.file_map
259
277
  });
260
278
  } catch (err) {
package/dest/avm/avm.js CHANGED
@@ -807,7 +807,7 @@ export class CallStackMetadata {
807
807
  }
808
808
  const { stack, leaf } = failingCall;
809
809
  const aztecCallStack = stack.map((call)=>({
810
- contractAddress: AztecAddress.fromField(call.contractAddress),
810
+ contractAddress: AztecAddress.fromFieldUnsafe(call.contractAddress),
811
811
  functionSelector: call.calldata.length > 0 ? FunctionSelector.fromFieldOrUndefined(call.calldata[0]) : undefined
812
812
  }));
813
813
  // The Noir call stack is the internal call stack at exit of the failing call
@@ -24,12 +24,42 @@ export declare class AztecAddress {
24
24
  /** Null msg sender address. Not part of the protocol contracts tree. */
25
25
  static NULL_MSG_SENDER: AztecAddress;
26
26
  static zero(): AztecAddress;
27
- static fromField(fr: Fr): AztecAddress;
27
+ /**
28
+ * Builds an `AztecAddress` from a field **without checking it is a valid address** (the x-coordinate of a point on
29
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
30
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
31
+ */
32
+ static fromFieldUnsafe(fr: Fr): AztecAddress;
33
+ /**
34
+ * Deserializes an `AztecAddress` from a buffer. It does **not** check the value is a valid Grumpkin-curve address
35
+ * (see {@link AztecAddress.isValid}); it is meant for reading addresses from already-validated serialized data. Use
36
+ * {@link AztecAddress.random} for valid test addresses.
37
+ */
28
38
  static fromBuffer(buffer: Buffer | BufferReader): AztecAddress;
39
+ /**
40
+ * Deserializes an `AztecAddress` from a field reader. It does **not** check the value is a valid Grumpkin-curve
41
+ * address (see {@link AztecAddress.isValid}); it is meant for reading addresses from already-validated serialized
42
+ * data. Use {@link AztecAddress.random} for valid test addresses.
43
+ */
29
44
  static fromFields(fields: Fr[] | FieldReader): AztecAddress;
30
- static fromBigInt(value: bigint): AztecAddress;
31
- static fromNumber(value: number): AztecAddress;
32
- static fromString(buf: string): AztecAddress;
45
+ /**
46
+ * Builds an `AztecAddress` from a bigint **without checking it is a valid address** (the x-coordinate of a point on
47
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
48
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
49
+ */
50
+ static fromBigIntUnsafe(value: bigint): AztecAddress;
51
+ /**
52
+ * Builds an `AztecAddress` from a number **without checking it is a valid address** (the x-coordinate of a point on
53
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
54
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
55
+ */
56
+ static fromNumberUnsafe(value: number): AztecAddress;
57
+ /**
58
+ * Builds an `AztecAddress` from a hex string **without checking it is a valid address** (the x-coordinate of a
59
+ * point on the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to
60
+ * validate an untrusted one, or {@link AztecAddress.random} for valid test addresses.
61
+ */
62
+ static fromStringUnsafe(buf: string): AztecAddress;
33
63
  /**
34
64
  * Creates an AztecAddress from a plain object without Zod validation.
35
65
  * This method is optimized for performance and skips validation, making it suitable
@@ -62,4 +92,4 @@ export declare class AztecAddress {
62
92
  toJSON(): `0x${string}`;
63
93
  static get schema(): ZodFor<AztecAddress>;
64
94
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlYy1hZGRyZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFpQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9COzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsWUFBWTtJQUN2QixtQ0FBbUM7SUFDbkMsaUJBQXlCLFNBQVMsQ0FBaUI7SUFFbkQsT0FBTyxDQUFDLE1BQU0sQ0FBSztJQUVuQixZQUFZLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUs5QjtJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUUzQjtJQUVELE1BQU0sQ0FBQyxhQUFhLFNBQW9CO0lBRXhDLE1BQU0sQ0FBQyxJQUFJLGVBQXlDO0lBRXBELHdFQUF3RTtJQUN4RSxNQUFNLENBQUMsZUFBZSxlQUE2RDtJQUVuRixNQUFNLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FFMUI7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUV0QjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGdCQUU5QztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsZ0JBRzNDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxnQkFFOUI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLGdCQUU5QjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sZ0JBRTVCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxZQUFZLENBUTdDO0lBRUQ7O09BRUc7SUFDSCxPQUFhLE1BQU0sMEJBUWxCO0lBRUQsSUFBSSxJQUFJLFdBRVA7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksV0FFekI7SUFFRCxNQUFNLFlBRUw7SUFFRDs7T0FFRztJQUNHLE9BQU8scUJBUVo7SUFFRDs7T0FFRztJQUNILGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBRS9CO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FBQztJQUNuQixRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFRakMsUUFBUSxXQUVQO0lBRUQsT0FBTyxPQUVOO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FPeEM7Q0FDRiJ9
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlYy1hZGRyZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQWMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFpQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUc5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9COzs7Ozs7OztHQVFHO0FBQ0gscUJBQWEsWUFBWTtJQUN2QixtQ0FBbUM7SUFDbkMsaUJBQXlCLFNBQVMsQ0FBaUI7SUFFbkQsT0FBTyxDQUFDLE1BQU0sQ0FBSztJQUVuQixZQUFZLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUs5QjtJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUUzQjtJQUVELE1BQU0sQ0FBQyxhQUFhLFNBQW9CO0lBRXhDLE1BQU0sQ0FBQyxJQUFJLGVBQXlDO0lBRXBELHdFQUF3RTtJQUN4RSxNQUFNLENBQUMsZUFBZSxlQUFtRTtJQUV6RixNQUFNLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FFMUI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxnQkFFNUI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0JBRTlDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsZ0JBRzNDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxnQkFFcEM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxNQUFNLGdCQUVwQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLE1BQU0sZ0JBRWxDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxZQUFZLENBUTdDO0lBRUQ7O09BRUc7SUFDSCxPQUFhLE1BQU0sMEJBUWxCO0lBRUQsSUFBSSxJQUFJLFdBRVA7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksV0FFekI7SUFFRCxNQUFNLFlBRUw7SUFFRDs7T0FFRztJQUNHLE9BQU8scUJBUVo7SUFFRDs7T0FFRztJQUNILGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBRS9CO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FBQztJQUNuQixRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFRakMsUUFBUSxXQUVQO0lBRUQsT0FBTyxPQUVOO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FPeEM7Q0FDRiJ9
@@ -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,KAAK,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG9F,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,wEAAwE;IACxE,MAAM,CAAC,eAAe,eAA6D;IAEnF,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,IAAI,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAQjC,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":"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,KAAK,UAAU,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG9F,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,wEAAwE;IACxE,MAAM,CAAC,eAAe,eAAmE;IAEzF,MAAM,CAAC,IAAI,IAAI,YAAY,CAE1B;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gBAE5B;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gBAE9C;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,gBAG3C;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,gBAEpC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,gBAEpC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,gBAElC;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,IAAI,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAQjC,QAAQ,WAEP;IAED,OAAO,OAEN;IAED,QAAQ,kBAEP;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,CAOxC;CACF"}
@@ -32,27 +32,51 @@ _computedKey = inspect.custom;
32
32
  }
33
33
  static SIZE_IN_BYTES = Fr.SIZE_IN_BYTES;
34
34
  static ZERO = new AztecAddress(Buffer.alloc(32, 0));
35
- /** Null msg sender address. Not part of the protocol contracts tree. */ static NULL_MSG_SENDER = AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS);
35
+ /** Null msg sender address. Not part of the protocol contracts tree. */ static NULL_MSG_SENDER = AztecAddress.fromBigIntUnsafe(NULL_MSG_SENDER_CONTRACT_ADDRESS);
36
36
  static zero() {
37
37
  return AztecAddress.ZERO;
38
38
  }
39
- static fromField(fr) {
39
+ /**
40
+ * Builds an `AztecAddress` from a field **without checking it is a valid address** (the x-coordinate of a point on
41
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
42
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
43
+ */ static fromFieldUnsafe(fr) {
40
44
  return new AztecAddress(fr);
41
45
  }
42
- static fromBuffer(buffer) {
46
+ /**
47
+ * Deserializes an `AztecAddress` from a buffer. It does **not** check the value is a valid Grumpkin-curve address
48
+ * (see {@link AztecAddress.isValid}); it is meant for reading addresses from already-validated serialized data. Use
49
+ * {@link AztecAddress.random} for valid test addresses.
50
+ */ static fromBuffer(buffer) {
43
51
  return new AztecAddress(fromBuffer(buffer, Fr));
44
52
  }
45
- static fromFields(fields) {
53
+ /**
54
+ * Deserializes an `AztecAddress` from a field reader. It does **not** check the value is a valid Grumpkin-curve
55
+ * address (see {@link AztecAddress.isValid}); it is meant for reading addresses from already-validated serialized
56
+ * data. Use {@link AztecAddress.random} for valid test addresses.
57
+ */ static fromFields(fields) {
46
58
  const reader = FieldReader.asReader(fields);
47
59
  return new AztecAddress(reader.readField());
48
60
  }
49
- static fromBigInt(value) {
61
+ /**
62
+ * Builds an `AztecAddress` from a bigint **without checking it is a valid address** (the x-coordinate of a point on
63
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
64
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
65
+ */ static fromBigIntUnsafe(value) {
50
66
  return new AztecAddress(new Fr(value));
51
67
  }
52
- static fromNumber(value) {
68
+ /**
69
+ * Builds an `AztecAddress` from a number **without checking it is a valid address** (the x-coordinate of a point on
70
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
71
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
72
+ */ static fromNumberUnsafe(value) {
53
73
  return new AztecAddress(new Fr(value));
54
74
  }
55
- static fromString(buf) {
75
+ /**
76
+ * Builds an `AztecAddress` from a hex string **without checking it is a valid address** (the x-coordinate of a
77
+ * point on the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to
78
+ * validate an untrusted one, or {@link AztecAddress.random} for valid test addresses.
79
+ */ static fromStringUnsafe(buf) {
56
80
  return new AztecAddress(hexToBuffer(buf));
57
81
  }
58
82
  /**
@@ -69,7 +93,7 @@ _computedKey = inspect.custom;
69
93
  if (obj instanceof Buffer || Buffer.isBuffer(obj)) {
70
94
  return new AztecAddress(obj);
71
95
  }
72
- return AztecAddress.fromString(obj);
96
+ return AztecAddress.fromStringUnsafe(obj);
73
97
  }
74
98
  /**
75
99
  * @returns a random valid address (i.e. one that can be encrypted to).
@@ -30,4 +30,4 @@ export declare function getAttestationInfoFromPublishedCheckpoint(block: {
30
30
  checkpoint: Checkpoint;
31
31
  }, signatureContext: CoordinationSignatureContext): AttestationInfo[];
32
32
  export declare function getAttestationInfoFromPayload(payload: ConsensusPayload, attestations: CommitteeAttestation[]): AttestationInfo[];
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25faW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2F0dGVzdGF0aW9uX2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLDRCQUE0QixFQUFzQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xILE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsMEJBQTBCLEdBQUcscUJBQXFCLEdBQUcsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBRW5IOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGVBQWUsR0FDdkI7SUFDRSwrRUFBK0U7SUFDL0UsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3BCLGlEQUFpRDtJQUNqRCxNQUFNLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxDQUFDO0NBQ25FLEdBQ0Q7SUFDRSw4QkFBOEI7SUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixpREFBaUQ7SUFDakQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsR0FBRywwQkFBMEIsQ0FBQyxDQUFDO0NBQ3hGLENBQUM7QUFFTjs7O0dBR0c7QUFDSCx3QkFBZ0IseUNBQXlDLENBQ3ZELEtBQUssRUFBRTtJQUNMLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEIsRUFDRCxnQkFBZ0IsRUFBRSw0QkFBNEIsR0FDN0MsZUFBZSxFQUFFLENBR25CO0FBRUQsd0JBQWdCLDZCQUE2QixDQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQ3pCLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUNuQyxlQUFlLEVBQUUsQ0F1Qm5CIn0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25faW5mby5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jsb2NrL2F0dGVzdGF0aW9uX2luZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLDRCQUE0QixFQUFzQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xILE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsMEJBQTBCLEdBQUcscUJBQXFCLEdBQUcsbUJBQW1CLEdBQUcsT0FBTyxDQUFDO0FBRW5IOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGVBQWUsR0FDdkI7SUFDRSwrRUFBK0U7SUFDL0UsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3BCLGlEQUFpRDtJQUNqRCxNQUFNLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxDQUFDO0NBQ25FLEdBQ0Q7SUFDRSw4QkFBOEI7SUFDOUIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixpREFBaUQ7SUFDakQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsR0FBRywwQkFBMEIsQ0FBQyxDQUFDO0NBQ3hGLENBQUM7QUFFTjs7O0dBR0c7QUFDSCx3QkFBZ0IseUNBQXlDLENBQ3ZELEtBQUssRUFBRTtJQUNMLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEIsRUFDRCxnQkFBZ0IsRUFBRSw0QkFBNEIsR0FDN0MsZUFBZSxFQUFFLENBR25CO0FBRUQsd0JBQWdCLDZCQUE2QixDQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQ3pCLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUNuQyxlQUFlLEVBQUUsQ0E0Qm5CIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"attestation_info.d.ts","sourceRoot":"","sources":["../../src/block/attestation_info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,4BAA4B,EAAsC,MAAM,2BAA2B,CAAC;AAClH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEnH;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC;CACnE,GACD;IACE,8BAA8B;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,0BAA0B,CAAC,CAAC;CACxF,CAAC;AAEN;;;GAGG;AACH,wBAAgB,yCAAyC,CACvD,KAAK,EAAE;IACL,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;CACxB,EACD,gBAAgB,EAAE,4BAA4B,GAC7C,eAAe,EAAE,CAGnB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,oBAAoB,EAAE,GACnC,eAAe,EAAE,CAuBnB"}
1
+ {"version":3,"file":"attestation_info.d.ts","sourceRoot":"","sources":["../../src/block/attestation_info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,4BAA4B,EAAsC,MAAM,2BAA2B,CAAC;AAClH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,0BAA0B,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEnH;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,+EAA+E;IAC/E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC;CACnE,GACD;IACE,8BAA8B;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,GAAG,0BAA0B,CAAC,CAAC;CACxF,CAAC;AAEN;;;GAGG;AACH,wBAAgB,yCAAyC,CACvD,KAAK,EAAE;IACL,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;CACxB,EACD,gBAAgB,EAAE,4BAA4B,GAC7C,eAAe,EAAE,CAGnB;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,oBAAoB,EAAE,GACnC,eAAe,EAAE,CA4BnB"}
@@ -25,11 +25,14 @@ export function getAttestationInfoFromPayload(payload, attestations) {
25
25
  status: 'provided-as-address'
26
26
  };
27
27
  }
28
- // Try to recover address from signature
28
+ // Try to recover address from signature. Recover with default opts (no allowYParityAsV): a slot
29
+ // whose recovery byte is in yParity form (v ∈ {0, 1}) is judged invalid here, matching L1 proving
30
+ // (ValidatorSelectionLib.verifyAttestations → ECDSA.recover only accepts v ∈ {27, 28}). A malicious
31
+ // proposer that lands such a slot cannot have it silently treated as valid off-chain; it is routed to
32
+ // invalid-attestation and invalidated. The gossip receipt path (recoverCoordinationSigner) stays
33
+ // lenient with allowYParityAsV; A-1351 normalizes on pool ingress and before the L1 bundle.
29
34
  try {
30
- const recoveredAddress = recoverAddress(hashedPayload, attestation.signature, {
31
- allowYParityAsV: true
32
- });
35
+ const recoveredAddress = recoverAddress(hashedPayload, attestation.signature);
33
36
  return {
34
37
  address: recoveredAddress,
35
38
  status: 'recovered-from-signature'
@@ -42,10 +42,21 @@ export type CheckpointQuery = {
42
42
  } | {
43
43
  tag: 'checkpointed' | 'proven' | 'finalized';
44
44
  };
45
- /** Query a range of confirmed checkpoints by start/limit or by epoch. */
45
+ /**
46
+ * Query a range of confirmed checkpoints by start/limit, by slot anchor, or by epoch.
47
+ *
48
+ * The `fromSlot` variant walks the slot index: it returns up to `limit` checkpoints anchored at
49
+ * `fromSlot`, ordered nearest-first. With `reverse` it takes the checkpoints at or before the slot
50
+ * (descending); otherwise the checkpoints at or after it (ascending). Use `limit: 1, reverse: true`
51
+ * to find the latest checkpoint at or before a slot in a single range scan.
52
+ */
46
53
  export type CheckpointsQuery = {
47
54
  from: CheckpointNumber;
48
55
  limit: number;
56
+ } | {
57
+ fromSlot: SlotNumber;
58
+ limit: number;
59
+ reverse?: boolean;
49
60
  } | {
50
61
  epoch: EpochNumber;
51
62
  };
@@ -191,7 +202,10 @@ export interface L2BlockSource {
191
202
  getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
192
203
  /**
193
204
  * Looks up a proposed (archiver-internal, not-yet-L1-confirmed) checkpoint.
194
- * Returns the latest proposed entry when called with no args or `{ tag: 'proposed' }`.
205
+ * Returns the latest proposed entry when called with no args or `{ tag: 'proposed' }`; since a
206
+ * proposed entry can only be stored with a checkpoint number beyond the confirmed frontier (and is
207
+ * deleted on confirmation), the latest entry is always the leading one. Callers derive the proposed
208
+ * tip from the payload (checkpoint number, and last block `startBlock + blockCount - 1`).
195
209
  * With `{ number }` or `{ slot }`, returns the matching entry or undefined.
196
210
  * Never falls back to confirmed checkpoints.
197
211
  */
@@ -260,33 +274,33 @@ export type ArchiverEmitter = TypedEventEmitter<{
260
274
  [L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
261
275
  [L2BlockSourceEvents.CheckpointEquivocationDetected]: (args: CheckpointEquivocationDetectedEvent) => void;
262
276
  [L2BlockSourceEvents.DescendentOfInvalidAttestationsCheckpointDetected]: (args: DescendentOfInvalidAttestationsCheckpointEvent) => void;
277
+ [L2BlockSourceEvents.L2BlockSourceUpdated]: (args: L2BlockSourceUpdatedEvent) => void;
263
278
  }>;
264
279
  export interface L2BlockSourceEventEmitter extends L2BlockSource {
265
280
  events: ArchiverEmitter;
266
281
  }
267
282
  /**
268
- * Identifier for L2 block tags. Internal counterpart to {@link BlockTag} that exposes
269
- * the additional `proposedCheckpoint` value (used for the optimistic chain tip on the
270
- * archiver side) and omits `latest` (which is an alias for `proposed` accepted only at
271
- * the public RPC surface).
283
+ * Identifier for L2 block tags. Internal counterpart to {@link BlockTag} that omits `latest`
284
+ * (which is an alias for `proposed` accepted only at the public RPC surface).
272
285
  *
273
286
  * - proposed: Latest block proposed on L2.
274
- * - proposedCheckpoint: Latest block in the most recent proposed checkpoint (archiver-internal).
275
287
  * - checkpointed: Latest block whose enclosing checkpoint has been published on L1.
276
288
  * - proven: Latest block whose enclosing checkpoint has been proven on L1.
277
289
  * - finalized: Latest block whose proving L1 transaction has reached L1 finality.
278
- *
279
- * TODO(palla): Remove `proposedCheckpoint` and unify with `proposed`.
280
290
  */
281
- export type L2BlockTag = 'proposed' | 'proposedCheckpoint' | 'checkpointed' | 'proven' | 'finalized';
291
+ export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
282
292
  /** Tips of the L2 chain. */
283
293
  export type L2Tips = {
284
294
  proposed: L2BlockId;
285
295
  checkpointed: L2TipId;
286
- proposedCheckpoint: L2TipId;
287
296
  proven: L2TipId;
288
297
  finalized: L2TipId;
289
298
  };
299
+ /**
300
+ * Tips of the L2 chain as tracked by a local provider (world-state, l2-tips-store). Identical to
301
+ * {@link L2Tips}; the alias is retained for call sites that document a local-only provenance.
302
+ */
303
+ export type LocalL2Tips = L2Tips;
290
304
  export declare const GENESIS_CHECKPOINT_HEADER_HASH: Fr;
291
305
  /** Identifies a block by number and hash. */
292
306
  export type L2BlockId = {
@@ -305,6 +319,8 @@ export type L2TipId = {
305
319
  export declare function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId;
306
320
  /** Creates an L2 checkpoint id */
307
321
  export declare function makeL2CheckpointId(number: CheckpointNumber, hash: string): CheckpointId;
322
+ /** Returns whether two {@link L2Tips} snapshots agree on every tier (proposed, checkpointed, proven, finalized). */
323
+ export declare function l2TipsEqual(a: L2Tips, b: L2Tips): boolean;
308
324
  export declare const L2TipsSchema: z.ZodObject<{
309
325
  proposed: z.ZodObject<{
310
326
  number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
@@ -320,16 +336,6 @@ export declare const L2TipsSchema: z.ZodObject<{
320
336
  hash: z.ZodString;
321
337
  }, z.core.$strip>;
322
338
  }, z.core.$strip>;
323
- proposedCheckpoint: z.ZodObject<{
324
- block: z.ZodObject<{
325
- number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
326
- hash: z.ZodString;
327
- }, z.core.$strip>;
328
- checkpoint: z.ZodObject<{
329
- number: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodCoercedNumber<string | number | bigint>>, z.ZodTransform<CheckpointNumber, number>>;
330
- hash: z.ZodString;
331
- }, z.core.$strip>;
332
- }, z.core.$strip>;
333
339
  proven: z.ZodObject<{
334
340
  block: z.ZodObject<{
335
341
  number: z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodBigInt, z.ZodTransform<number, bigint>>, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>, z.ZodTransform<BlockNumber, number>>;
@@ -358,8 +364,25 @@ export declare enum L2BlockSourceEvents {
358
364
  L2BlocksCheckpointed = "l2BlocksCheckpointed",
359
365
  InvalidAttestationsCheckpointDetected = "invalidCheckpointDetected",
360
366
  CheckpointEquivocationDetected = "checkpointEquivocationDetected",
361
- DescendentOfInvalidAttestationsCheckpointDetected = "descendentOfInvalidAttestationsCheckpointDetected"
367
+ DescendentOfInvalidAttestationsCheckpointDetected = "descendentOfInvalidAttestationsCheckpointDetected",
368
+ L2BlockSourceUpdated = "l2BlockSourceUpdated"
362
369
  }
370
+ /**
371
+ * Aggregate event emitted once per committed archiver sync pass that mutated local state. Carries the chain tips
372
+ * before and after the pass, and the blocks added during it. Consumers compare `fromTips` and `toTips` to learn what
373
+ * moved; there is no separate `changed` section.
374
+ *
375
+ * This is an optimization signal that lets a block stream reconcile immediately on an archiver update rather than
376
+ * waiting for its next poll. Polling remains the correctness fallback, so a missed event only affects latency.
377
+ * `blocksAdded` are hydrated blocks already in hand from the sync pass, so a triggered sync that is caught up to
378
+ * `fromTips` can reuse them (and `toTips`) instead of re-reading the store.
379
+ */
380
+ export type L2BlockSourceUpdatedEvent = {
381
+ type: 'l2BlockSourceUpdated';
382
+ fromTips: L2Tips;
383
+ toTips: L2Tips;
384
+ blocksAdded: readonly L2Block[];
385
+ };
363
386
  export type L2BlockProvenEvent = {
364
387
  type: 'l2BlockProven';
365
388
  blockNumber: BlockNumber;
@@ -410,4 +433,4 @@ export type DescendentOfInvalidAttestationsCheckpointEvent = {
410
433
  /** Checkpoint number of the rejected ancestor. */
411
434
  ancestorCheckpointNumber: CheckpointNumber;
412
435
  };
413
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUVoQixLQUFLLFVBQVUsRUFFaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEgsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbkYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBK0IsS0FBSyx3QkFBd0IsRUFBRSxNQUFN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
436
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUVoQixLQUFLLFVBQVUsRUFFaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEgsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFbkYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBK0IsS0FBSyx3QkFBd0IsRUFBRSxNQUFN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