@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-manual.20251030

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 (652) hide show
  1. package/dest/abi/abi.d.ts +8 -8
  2. package/dest/abi/abi.js +1 -1
  3. package/dest/abi/contract_artifact.js +3 -0
  4. package/dest/abi/event_metadata_definition.d.ts +8 -0
  5. package/dest/abi/event_metadata_definition.d.ts.map +1 -0
  6. package/dest/abi/event_metadata_definition.js +1 -0
  7. package/dest/abi/function_call.d.ts +7 -2
  8. package/dest/abi/function_call.d.ts.map +1 -1
  9. package/dest/abi/function_call.js +6 -2
  10. package/dest/abi/index.d.ts +1 -0
  11. package/dest/abi/index.d.ts.map +1 -1
  12. package/dest/abi/index.js +1 -0
  13. package/dest/avm/avm.d.ts +132 -73
  14. package/dest/avm/avm.d.ts.map +1 -1
  15. package/dest/avm/avm.js +10 -6
  16. package/dest/avm/avm_accumulated_data.d.ts +10 -21
  17. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  18. package/dest/avm/avm_accumulated_data.js +19 -22
  19. package/dest/avm/avm_circuit_public_inputs.d.ts +30 -13
  20. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  21. package/dest/avm/avm_circuit_public_inputs.js +17 -6
  22. package/dest/avm/avm_proving_request.d.ts +96 -48
  23. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  24. package/dest/avm/index.d.ts +1 -1
  25. package/dest/avm/index.d.ts.map +1 -1
  26. package/dest/avm/index.js +1 -1
  27. package/dest/avm/message_pack.d.ts +1 -0
  28. package/dest/avm/message_pack.d.ts.map +1 -1
  29. package/dest/avm/message_pack.js +28 -5
  30. package/dest/block/attestation_info.d.ts +30 -0
  31. package/dest/block/attestation_info.d.ts.map +1 -0
  32. package/dest/block/attestation_info.js +39 -0
  33. package/dest/block/body.d.ts +4 -1
  34. package/dest/block/body.d.ts.map +1 -1
  35. package/dest/block/body.js +17 -15
  36. package/dest/block/in_block.d.ts +5 -5
  37. package/dest/block/in_block.d.ts.map +1 -1
  38. package/dest/block/index.d.ts +4 -0
  39. package/dest/block/index.d.ts.map +1 -1
  40. package/dest/block/index.js +4 -0
  41. package/dest/block/l2_block.d.ts +21 -13
  42. package/dest/block/l2_block.d.ts.map +1 -1
  43. package/dest/block/l2_block.js +33 -10
  44. package/dest/block/l2_block_code_to_purge.d.ts +3 -14
  45. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  46. package/dest/block/l2_block_code_to_purge.js +23 -13
  47. package/dest/block/l2_block_header.d.ts +100 -0
  48. package/dest/block/l2_block_header.d.ts.map +1 -0
  49. package/dest/block/l2_block_header.js +146 -0
  50. package/dest/block/l2_block_info.d.ts +41 -0
  51. package/dest/block/l2_block_info.d.ts.map +1 -0
  52. package/dest/block/l2_block_info.js +40 -0
  53. package/dest/block/l2_block_source.d.ts +35 -433
  54. package/dest/block/l2_block_source.d.ts.map +1 -1
  55. package/dest/block/l2_block_source.js +0 -28
  56. package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
  57. package/dest/block/proposal/attestations_and_signers.d.ts +48 -0
  58. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
  59. package/dest/block/proposal/attestations_and_signers.js +99 -0
  60. package/dest/block/proposal/index.d.ts +1 -0
  61. package/dest/block/proposal/index.d.ts.map +1 -1
  62. package/dest/block/proposal/index.js +1 -0
  63. package/dest/block/published_l2_block.d.ts +27 -5
  64. package/dest/block/published_l2_block.d.ts.map +1 -1
  65. package/dest/block/published_l2_block.js +20 -7
  66. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  67. package/dest/block/test/l2_tips_store_test_suite.js +3 -4
  68. package/dest/block/validate_block_result.d.ts +222 -0
  69. package/dest/block/validate_block_result.d.ts.map +1 -0
  70. package/dest/block/validate_block_result.js +83 -0
  71. package/dest/checkpoint/checkpoint_body.d.ts +4 -0
  72. package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
  73. package/dest/checkpoint/checkpoint_body.js +9 -0
  74. package/dest/checkpoint/index.d.ts +2 -0
  75. package/dest/checkpoint/index.d.ts.map +1 -0
  76. package/dest/checkpoint/index.js +1 -0
  77. package/dest/config/node-rpc-config.d.ts +2 -0
  78. package/dest/config/node-rpc-config.d.ts.map +1 -1
  79. package/dest/config/node-rpc-config.js +6 -0
  80. package/dest/contract/contract_address.d.ts +1 -1
  81. package/dest/contract/contract_address.js +1 -1
  82. package/dest/contract/contract_class_metadata.d.ts +8 -0
  83. package/dest/contract/contract_class_metadata.d.ts.map +1 -0
  84. package/dest/contract/contract_class_metadata.js +1 -0
  85. package/dest/contract/contract_instance.d.ts +9 -8
  86. package/dest/contract/contract_instance.d.ts.map +1 -1
  87. package/dest/contract/contract_instance.js +1 -2
  88. package/dest/contract/contract_metadata.d.ts +7 -0
  89. package/dest/contract/contract_metadata.d.ts.map +1 -0
  90. package/dest/contract/contract_metadata.js +1 -0
  91. package/dest/contract/index.d.ts +2 -0
  92. package/dest/contract/index.d.ts.map +1 -1
  93. package/dest/contract/index.js +2 -0
  94. package/dest/contract/interfaces/contract_class.d.ts +4 -4
  95. package/dest/contract/interfaces/contract_instance.d.ts +2 -2
  96. package/dest/epoch-helpers/index.d.ts +8 -2
  97. package/dest/epoch-helpers/index.d.ts.map +1 -1
  98. package/dest/epoch-helpers/index.js +9 -0
  99. package/dest/fees/transaction_fee.d.ts.map +1 -1
  100. package/dest/fees/transaction_fee.js +3 -0
  101. package/dest/file-store/factory.d.ts.map +1 -1
  102. package/dest/file-store/factory.js +18 -0
  103. package/dest/file-store/interface.d.ts +8 -2
  104. package/dest/file-store/interface.d.ts.map +1 -1
  105. package/dest/file-store/s3.d.ts +26 -0
  106. package/dest/file-store/s3.d.ts.map +1 -0
  107. package/dest/file-store/s3.js +252 -0
  108. package/dest/hash/hash.d.ts.map +1 -1
  109. package/dest/hash/hash.js +0 -3
  110. package/dest/interfaces/archiver.d.ts +43 -0
  111. package/dest/interfaces/archiver.d.ts.map +1 -1
  112. package/dest/interfaces/archiver.js +20 -4
  113. package/dest/interfaces/aztec-node-admin.d.ts +87 -40
  114. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  115. package/dest/interfaces/aztec-node-admin.js +7 -1
  116. package/dest/interfaces/aztec-node.d.ts +35 -2
  117. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  118. package/dest/interfaces/aztec-node.js +8 -1
  119. package/dest/interfaces/block-builder.d.ts +7 -8
  120. package/dest/interfaces/block-builder.d.ts.map +1 -1
  121. package/dest/interfaces/client.d.ts +0 -1
  122. package/dest/interfaces/client.d.ts.map +1 -1
  123. package/dest/interfaces/client.js +0 -1
  124. package/dest/interfaces/configs.d.ts +10 -0
  125. package/dest/interfaces/configs.d.ts.map +1 -1
  126. package/dest/interfaces/configs.js +3 -1
  127. package/dest/interfaces/epoch-prover.d.ts +29 -12
  128. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  129. package/dest/interfaces/merkle_tree_operations.d.ts +5 -0
  130. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  131. package/dest/interfaces/p2p.d.ts +2 -0
  132. package/dest/interfaces/p2p.d.ts.map +1 -1
  133. package/dest/interfaces/p2p.js +2 -1
  134. package/dest/interfaces/private_kernel_prover.d.ts +2 -2
  135. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  136. package/dest/interfaces/proving-job.d.ts +349 -200
  137. package/dest/interfaces/proving-job.d.ts.map +1 -1
  138. package/dest/interfaces/proving-job.js +131 -113
  139. package/dest/interfaces/server.d.ts +1 -0
  140. package/dest/interfaces/server.d.ts.map +1 -1
  141. package/dest/interfaces/server.js +1 -0
  142. package/dest/interfaces/server_circuit_prover.d.ts +34 -34
  143. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  144. package/dest/interfaces/slasher.d.ts +4 -0
  145. package/dest/interfaces/slasher.d.ts.map +1 -1
  146. package/dest/interfaces/slasher.js +1 -0
  147. package/dest/interfaces/tx_provider.d.ts +1 -1
  148. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  149. package/dest/interfaces/validator.d.ts +163 -0
  150. package/dest/interfaces/validator.d.ts.map +1 -0
  151. package/dest/interfaces/validator.js +18 -0
  152. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -2
  153. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  154. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -3
  155. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  156. package/dest/kernel/nullifier.d.ts +2 -2
  157. package/dest/kernel/nullifier.d.ts.map +1 -1
  158. package/dest/kernel/nullifier.js +11 -11
  159. package/dest/kernel/private_call_data.d.ts +4 -24
  160. package/dest/kernel/private_call_data.d.ts.map +1 -1
  161. package/dest/kernel/private_call_data.js +4 -16
  162. package/dest/kernel/private_circuit_public_inputs.d.ts +5 -5
  163. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  164. package/dest/kernel/private_circuit_public_inputs.js +7 -7
  165. package/dest/kernel/private_context_inputs.d.ts +2 -2
  166. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  167. package/dest/kernel/private_context_inputs.js +4 -4
  168. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  169. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  170. package/dest/kernel/private_kernel_circuit_public_inputs.js +3 -3
  171. package/dest/kernel/private_kernel_data.js +2 -2
  172. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +5 -4
  173. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  174. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  175. package/dest/kernel/private_kernel_prover_output.d.ts +4 -4
  176. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  177. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
  178. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  179. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
  180. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  181. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
  182. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  183. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
  184. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
  185. package/dest/keys/derivation.d.ts +0 -2
  186. package/dest/keys/derivation.d.ts.map +1 -1
  187. package/dest/keys/derivation.js +3 -24
  188. package/dest/logs/contract_class_log.d.ts +1 -1
  189. package/dest/logs/contract_class_log.d.ts.map +1 -1
  190. package/dest/logs/contract_class_log.js +1 -3
  191. package/dest/logs/debug_log.d.ts +13 -0
  192. package/dest/logs/debug_log.d.ts.map +1 -0
  193. package/dest/logs/debug_log.js +26 -0
  194. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  195. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  196. package/dest/logs/directional_app_tagging_secret.js +63 -0
  197. package/dest/logs/index.d.ts +3 -1
  198. package/dest/logs/index.d.ts.map +1 -1
  199. package/dest/logs/index.js +3 -1
  200. package/dest/logs/log_with_tx_data.d.ts +9 -12
  201. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  202. package/dest/logs/log_with_tx_data.js +18 -23
  203. package/dest/logs/pre_tag.d.ts +34 -0
  204. package/dest/logs/pre_tag.d.ts.map +1 -0
  205. package/dest/logs/pre_tag.js +7 -0
  206. package/dest/logs/public_log.d.ts +23 -10
  207. package/dest/logs/public_log.d.ts.map +1 -1
  208. package/dest/logs/public_log.js +117 -42
  209. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  210. package/dest/logs/shared_secret_derivation.js +2 -4
  211. package/dest/messaging/inbox_leaf.d.ts +2 -0
  212. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  213. package/dest/messaging/inbox_leaf.js +3 -0
  214. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  215. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  216. package/dest/messaging/l2_to_l1_membership.js +16 -18
  217. package/dest/noir/index.d.ts +11 -0
  218. package/dest/noir/index.d.ts.map +1 -1
  219. package/dest/note/index.d.ts +1 -1
  220. package/dest/note/index.d.ts.map +1 -1
  221. package/dest/note/index.js +1 -1
  222. package/dest/note/notes_filter.d.ts +0 -5
  223. package/dest/note/notes_filter.d.ts.map +1 -1
  224. package/dest/note/notes_filter.js +0 -3
  225. package/dest/note/unique_note.d.ts +43 -0
  226. package/dest/note/unique_note.d.ts.map +1 -0
  227. package/dest/note/{extended_note.js → unique_note.js} +9 -48
  228. package/dest/p2p/block_attestation.d.ts +45 -9
  229. package/dest/p2p/block_attestation.d.ts.map +1 -1
  230. package/dest/p2p/block_attestation.js +37 -15
  231. package/dest/p2p/block_proposal.d.ts +7 -9
  232. package/dest/p2p/block_proposal.d.ts.map +1 -1
  233. package/dest/p2p/block_proposal.js +13 -14
  234. package/dest/p2p/consensus_payload.d.ts +35 -6
  235. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  236. package/dest/p2p/consensus_payload.js +21 -8
  237. package/dest/p2p/gossipable.d.ts +6 -16
  238. package/dest/p2p/gossipable.d.ts.map +1 -1
  239. package/dest/p2p/gossipable.js +9 -21
  240. package/dest/p2p/signature_utils.d.ts +2 -1
  241. package/dest/p2p/signature_utils.d.ts.map +1 -1
  242. package/dest/p2p/signature_utils.js +1 -0
  243. package/dest/p2p/topic_type.d.ts +4 -8
  244. package/dest/p2p/topic_type.d.ts.map +1 -1
  245. package/dest/p2p/topic_type.js +14 -8
  246. package/dest/parity/index.d.ts +2 -3
  247. package/dest/parity/index.d.ts.map +1 -1
  248. package/dest/parity/index.js +2 -3
  249. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
  250. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  251. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  252. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  253. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  254. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  255. package/dest/proofs/chonk_proof.d.ts +28 -0
  256. package/dest/proofs/chonk_proof.d.ts.map +1 -0
  257. package/dest/proofs/chonk_proof.js +101 -0
  258. package/dest/proofs/index.d.ts +2 -1
  259. package/dest/proofs/index.d.ts.map +1 -1
  260. package/dest/proofs/index.js +2 -1
  261. package/dest/proofs/proof_data.d.ts +21 -0
  262. package/dest/proofs/proof_data.d.ts.map +1 -0
  263. package/dest/proofs/proof_data.js +22 -0
  264. package/dest/proofs/proving_request_type.d.ts +17 -13
  265. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  266. package/dest/proofs/proving_request_type.js +17 -12
  267. package/dest/rollup/avm_proof_data.d.ts +2 -12
  268. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  269. package/dest/rollup/avm_proof_data.js +0 -24
  270. package/dest/rollup/base_rollup_hints.d.ts +17 -17
  271. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  272. package/dest/rollup/base_rollup_hints.js +26 -26
  273. package/dest/rollup/block_constant_data.d.ts +24 -10
  274. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  275. package/dest/rollup/block_constant_data.js +18 -10
  276. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
  277. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  278. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  279. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  280. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  281. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  282. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  283. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  284. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  285. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  286. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  287. package/dest/rollup/checkpoint_constant_data.js +55 -0
  288. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -11
  289. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  290. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +14 -8
  291. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  292. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  293. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  294. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  295. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  296. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  297. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  298. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  299. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  300. package/dest/rollup/epoch_constant_data.d.ts +23 -6
  301. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  302. package/dest/rollup/epoch_constant_data.js +25 -12
  303. package/dest/rollup/index.d.ts +17 -16
  304. package/dest/rollup/index.d.ts.map +1 -1
  305. package/dest/rollup/index.js +17 -16
  306. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  307. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  308. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  309. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
  310. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
  311. package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
  312. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
  313. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
  314. package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
  315. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  316. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  317. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  318. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  319. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  320. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  321. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  322. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  323. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  324. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
  325. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  326. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  327. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
  328. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  329. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  330. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
  331. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  332. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
  333. package/dest/slashing/types.d.ts +1 -0
  334. package/dest/slashing/types.d.ts.map +1 -1
  335. package/dest/slashing/types.js +22 -0
  336. package/dest/snapshots/download.d.ts.map +1 -1
  337. package/dest/snapshots/download.js +58 -2
  338. package/dest/snapshots/upload.d.ts.map +1 -1
  339. package/dest/snapshots/upload.js +1 -0
  340. package/dest/stats/stats.d.ts +3 -3
  341. package/dest/stats/stats.d.ts.map +1 -1
  342. package/dest/tests/factories.d.ts +43 -75
  343. package/dest/tests/factories.d.ts.map +1 -1
  344. package/dest/tests/factories.js +149 -171
  345. package/dest/tests/mocks.d.ts +16 -10
  346. package/dest/tests/mocks.d.ts.map +1 -1
  347. package/dest/tests/mocks.js +55 -33
  348. package/dest/trees/index.d.ts +0 -1
  349. package/dest/trees/index.d.ts.map +1 -1
  350. package/dest/trees/index.js +0 -1
  351. package/dest/trees/merkle_tree_id.d.ts +4 -4
  352. package/dest/trees/nullifier_membership_witness.d.ts +3 -3
  353. package/dest/tx/block_header.d.ts +12 -13
  354. package/dest/tx/block_header.d.ts.map +1 -1
  355. package/dest/tx/block_header.js +16 -21
  356. package/dest/tx/content_commitment.d.ts +1 -0
  357. package/dest/tx/content_commitment.d.ts.map +1 -1
  358. package/dest/tx/content_commitment.js +3 -0
  359. package/dest/tx/global_variables.d.ts.map +1 -1
  360. package/dest/tx/global_variables.js +0 -1
  361. package/dest/tx/index.d.ts +2 -1
  362. package/dest/tx/index.d.ts.map +1 -1
  363. package/dest/tx/index.js +2 -1
  364. package/dest/tx/indexed_tx_effect.d.ts +3 -3
  365. package/dest/tx/partial_state_reference.d.ts +1 -0
  366. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  367. package/dest/tx/partial_state_reference.js +3 -0
  368. package/dest/tx/private_execution_result.d.ts +7 -2
  369. package/dest/tx/private_execution_result.d.ts.map +1 -1
  370. package/dest/tx/private_execution_result.js +10 -6
  371. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  372. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  373. package/dest/tx/private_tx_constant_data.js +69 -0
  374. package/dest/tx/processed_tx.d.ts +2 -3
  375. package/dest/tx/processed_tx.d.ts.map +1 -1
  376. package/dest/tx/processed_tx.js +3 -8
  377. package/dest/tx/profiling.d.ts.map +1 -1
  378. package/dest/tx/profiling.js +0 -2
  379. package/dest/tx/protocol_contracts.d.ts +29 -0
  380. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  381. package/dest/tx/protocol_contracts.js +49 -0
  382. package/dest/tx/proven_tx.d.ts +7 -7
  383. package/dest/tx/proven_tx.d.ts.map +1 -1
  384. package/dest/tx/proven_tx.js +8 -8
  385. package/dest/tx/simulated_tx.d.ts +3 -3
  386. package/dest/tx/simulated_tx.js +2 -2
  387. package/dest/tx/state_reference.d.ts +1 -0
  388. package/dest/tx/state_reference.d.ts.map +1 -1
  389. package/dest/tx/state_reference.js +4 -1
  390. package/dest/tx/tx.d.ts +9 -12
  391. package/dest/tx/tx.d.ts.map +1 -1
  392. package/dest/tx/tx.js +21 -22
  393. package/dest/tx/tx_constant_data.d.ts +6 -38
  394. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  395. package/dest/tx/tx_constant_data.js +11 -20
  396. package/dest/tx/tx_effect.d.ts +3 -36
  397. package/dest/tx/tx_effect.d.ts.map +1 -1
  398. package/dest/tx/tx_effect.js +63 -202
  399. package/dest/tx/validator/error_texts.d.ts +1 -1
  400. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  401. package/dest/tx/validator/error_texts.js +1 -1
  402. package/dest/update-checker/update-checker.d.ts +1 -1
  403. package/dest/update-checker/update-checker.d.ts.map +1 -1
  404. package/dest/update-checker/update-checker.js +1 -1
  405. package/dest/validators/schemas.d.ts +42 -4
  406. package/dest/validators/schemas.d.ts.map +1 -1
  407. package/dest/validators/schemas.js +5 -4
  408. package/dest/validators/types.d.ts +8 -10
  409. package/dest/validators/types.d.ts.map +1 -1
  410. package/dest/versioning/versioning.d.ts +2 -2
  411. package/dest/versioning/versioning.d.ts.map +1 -1
  412. package/dest/versioning/versioning.js +18 -13
  413. package/dest/world-state/index.d.ts +2 -0
  414. package/dest/world-state/index.d.ts.map +1 -0
  415. package/dest/world-state/index.js +1 -0
  416. package/dest/world-state/world_state_revision.d.ts +22 -0
  417. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  418. package/dest/world-state/world_state_revision.js +21 -0
  419. package/dest/zkpassport/index.d.ts +17 -11
  420. package/dest/zkpassport/index.d.ts.map +1 -1
  421. package/dest/zkpassport/index.js +21 -15
  422. package/package.json +15 -11
  423. package/src/abi/abi.ts +1 -1
  424. package/src/abi/contract_artifact.ts +3 -0
  425. package/src/abi/event_metadata_definition.ts +8 -0
  426. package/src/abi/function_call.ts +5 -1
  427. package/src/abi/index.ts +1 -0
  428. package/src/avm/avm.ts +15 -7
  429. package/src/avm/avm_accumulated_data.ts +25 -29
  430. package/src/avm/avm_circuit_public_inputs.ts +21 -0
  431. package/src/avm/index.ts +1 -1
  432. package/src/avm/message_pack.ts +25 -1
  433. package/src/block/attestation_info.ts +62 -0
  434. package/src/block/body.ts +25 -23
  435. package/src/block/index.ts +4 -0
  436. package/src/block/l2_block.ts +39 -19
  437. package/src/block/l2_block_code_to_purge.ts +30 -31
  438. package/src/block/l2_block_header.ts +232 -0
  439. package/src/block/l2_block_info.ts +63 -0
  440. package/src/block/l2_block_source.ts +38 -56
  441. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  442. package/src/block/proposal/attestations_and_signers.ts +121 -0
  443. package/src/block/proposal/index.ts +1 -0
  444. package/src/block/published_l2_block.ts +37 -15
  445. package/src/block/test/l2_tips_store_test_suite.ts +7 -7
  446. package/src/block/validate_block_result.ts +122 -0
  447. package/src/checkpoint/checkpoint_body.ts +10 -0
  448. package/src/checkpoint/index.ts +1 -0
  449. package/src/config/node-rpc-config.ts +9 -0
  450. package/src/contract/contract_address.ts +1 -1
  451. package/src/contract/contract_class_metadata.ts +8 -0
  452. package/src/contract/contract_instance.ts +11 -10
  453. package/src/contract/contract_metadata.ts +7 -0
  454. package/src/contract/index.ts +2 -0
  455. package/src/contract/interfaces/contract_class.ts +1 -1
  456. package/src/epoch-helpers/index.ts +24 -2
  457. package/src/fees/transaction_fee.ts +11 -0
  458. package/src/file-store/factory.ts +15 -0
  459. package/src/file-store/interface.ts +8 -2
  460. package/src/file-store/s3.ts +254 -0
  461. package/src/hash/hash.ts +0 -4
  462. package/src/interfaces/archiver.ts +49 -4
  463. package/src/interfaces/aztec-node-admin.ts +17 -1
  464. package/src/interfaces/aztec-node.ts +53 -2
  465. package/src/interfaces/block-builder.ts +11 -12
  466. package/src/interfaces/client.ts +0 -1
  467. package/src/interfaces/configs.ts +6 -0
  468. package/src/interfaces/epoch-prover.ts +38 -14
  469. package/src/interfaces/merkle_tree_operations.ts +6 -0
  470. package/src/interfaces/p2p.ts +4 -0
  471. package/src/interfaces/private_kernel_prover.ts +2 -2
  472. package/src/interfaces/proving-job.ts +218 -134
  473. package/src/interfaces/server.ts +1 -0
  474. package/src/interfaces/server_circuit_prover.ts +89 -61
  475. package/src/interfaces/slasher.ts +2 -0
  476. package/src/interfaces/tx_provider.ts +1 -0
  477. package/src/interfaces/validator.ts +95 -0
  478. package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
  479. package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
  480. package/src/kernel/nullifier.ts +8 -8
  481. package/src/kernel/private_call_data.ts +2 -21
  482. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  483. package/src/kernel/private_context_inputs.ts +2 -2
  484. package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
  485. package/src/kernel/private_kernel_data.ts +2 -2
  486. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  487. package/src/kernel/private_kernel_prover_output.ts +4 -4
  488. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
  489. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
  490. package/src/keys/derivation.ts +3 -29
  491. package/src/logs/contract_class_log.ts +2 -3
  492. package/src/logs/debug_log.ts +32 -0
  493. package/src/logs/directional_app_tagging_secret.ts +77 -0
  494. package/src/logs/index.ts +3 -1
  495. package/src/logs/log_with_tx_data.ts +14 -24
  496. package/src/logs/pre_tag.ts +25 -0
  497. package/src/logs/public_log.ts +120 -58
  498. package/src/logs/shared_secret_derivation.ts +2 -4
  499. package/src/messaging/inbox_leaf.ts +5 -0
  500. package/src/messaging/l2_to_l1_membership.ts +20 -26
  501. package/src/noir/index.ts +11 -0
  502. package/src/note/index.ts +1 -1
  503. package/src/note/notes_filter.ts +0 -7
  504. package/src/note/{extended_note.ts → unique_note.ts} +14 -75
  505. package/src/p2p/block_attestation.ts +46 -15
  506. package/src/p2p/block_proposal.ts +15 -18
  507. package/src/p2p/consensus_payload.ts +30 -10
  508. package/src/p2p/gossipable.ts +10 -28
  509. package/src/p2p/signature_utils.ts +1 -0
  510. package/src/p2p/topic_type.ts +15 -8
  511. package/src/parity/index.ts +2 -3
  512. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  513. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  514. package/src/proofs/chonk_proof.ts +118 -0
  515. package/src/proofs/index.ts +2 -1
  516. package/src/proofs/proof_data.ts +36 -0
  517. package/src/proofs/proving_request_type.ts +14 -10
  518. package/src/rollup/avm_proof_data.ts +2 -31
  519. package/src/rollup/base_rollup_hints.ts +22 -22
  520. package/src/rollup/block_constant_data.ts +16 -6
  521. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  522. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  523. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  524. package/src/rollup/checkpoint_constant_data.ts +84 -0
  525. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +40 -15
  526. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  527. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
  528. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  529. package/src/rollup/epoch_constant_data.ts +28 -10
  530. package/src/rollup/index.ts +17 -16
  531. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  532. package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
  533. package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
  534. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  535. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  536. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  537. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  538. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  539. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
  540. package/src/slashing/types.ts +23 -0
  541. package/src/snapshots/download.ts +66 -2
  542. package/src/snapshots/upload.ts +1 -0
  543. package/src/stats/stats.ts +21 -15
  544. package/src/tests/factories.ts +226 -283
  545. package/src/tests/mocks.ts +90 -60
  546. package/src/trees/index.ts +0 -1
  547. package/src/tx/block_header.ts +17 -32
  548. package/src/tx/content_commitment.ts +4 -0
  549. package/src/tx/global_variables.ts +0 -1
  550. package/src/tx/index.ts +2 -1
  551. package/src/tx/partial_state_reference.ts +8 -0
  552. package/src/tx/private_execution_result.ts +9 -3
  553. package/src/tx/private_tx_constant_data.ts +94 -0
  554. package/src/tx/processed_tx.ts +5 -11
  555. package/src/tx/profiling.ts +0 -2
  556. package/src/tx/protocol_contracts.ts +70 -0
  557. package/src/tx/proven_tx.ts +6 -6
  558. package/src/tx/simulated_tx.ts +2 -2
  559. package/src/tx/state_reference.ts +5 -1
  560. package/src/tx/tx.ts +21 -22
  561. package/src/tx/tx_constant_data.ts +8 -21
  562. package/src/tx/tx_effect.ts +64 -213
  563. package/src/tx/validator/error_texts.ts +1 -1
  564. package/src/update-checker/update-checker.ts +1 -1
  565. package/src/validators/schemas.ts +6 -4
  566. package/src/validators/types.ts +9 -10
  567. package/src/versioning/versioning.ts +20 -15
  568. package/src/world-state/index.ts +1 -0
  569. package/src/world-state/world_state_revision.ts +21 -0
  570. package/src/zkpassport/index.ts +42 -30
  571. package/dest/avm/public_data_hint.d.ts +0 -16
  572. package/dest/avm/public_data_hint.d.ts.map +0 -1
  573. package/dest/avm/public_data_hint.js +0 -27
  574. package/dest/interfaces/pxe.d.ts +0 -329
  575. package/dest/interfaces/pxe.d.ts.map +0 -1
  576. package/dest/interfaces/pxe.js +0 -100
  577. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  578. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  579. package/dest/logs/indexed_tagging_secret.js +0 -50
  580. package/dest/note/extended_note.d.ts +0 -111
  581. package/dest/note/extended_note.d.ts.map +0 -1
  582. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  583. package/dest/parity/root_parity_input.d.ts +0 -52
  584. package/dest/parity/root_parity_input.d.ts.map +0 -1
  585. package/dest/parity/root_parity_input.js +0 -50
  586. package/dest/parity/root_parity_inputs.d.ts +0 -37
  587. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  588. package/dest/proofs/client_ivc_proof.d.ts +0 -18
  589. package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
  590. package/dest/proofs/client_ivc_proof.js +0 -41
  591. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  592. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  593. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  594. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  595. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  596. package/dest/rollup/block_root_rollup.d.ts +0 -283
  597. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  598. package/dest/rollup/block_root_rollup.js +0 -306
  599. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  600. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  601. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  602. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  603. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  604. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  605. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  606. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  607. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  608. package/dest/rollup/previous_rollup_block_data.js +0 -37
  609. package/dest/rollup/previous_rollup_data.d.ts +0 -47
  610. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  611. package/dest/rollup/previous_rollup_data.js +0 -37
  612. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
  613. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  614. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  615. package/dest/rollup/private_tube_data.d.ts +0 -15
  616. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  617. package/dest/rollup/private_tube_data.js +0 -25
  618. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
  619. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  620. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  621. package/dest/rollup/public_tube_data.d.ts +0 -15
  622. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  623. package/dest/rollup/public_tube_data.js +0 -25
  624. package/dest/rollup/root_rollup.d.ts +0 -106
  625. package/dest/rollup/root_rollup.d.ts.map +0 -1
  626. package/dest/rollup/root_rollup.js +0 -147
  627. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  628. package/dest/rollup/state_diff_hints.js +0 -85
  629. package/dest/rollup/tube_inputs.d.ts +0 -43
  630. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  631. package/dest/rollup/tube_inputs.js +0 -63
  632. package/dest/trees/protocol_contract_leaf.d.ts +0 -84
  633. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  634. package/dest/trees/protocol_contract_leaf.js +0 -100
  635. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  636. package/src/avm/public_data_hint.ts +0 -38
  637. package/src/interfaces/pxe.ts +0 -532
  638. package/src/logs/indexed_tagging_secret.ts +0 -48
  639. package/src/parity/root_parity_input.ts +0 -71
  640. package/src/proofs/client_ivc_proof.ts +0 -51
  641. package/src/rollup/block_root_rollup.ts +0 -380
  642. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  643. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  644. package/src/rollup/previous_rollup_block_data.ts +0 -48
  645. package/src/rollup/previous_rollup_data.ts +0 -48
  646. package/src/rollup/private_base_rollup_inputs.ts +0 -53
  647. package/src/rollup/private_tube_data.ts +0 -35
  648. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  649. package/src/rollup/public_tube_data.ts +0 -35
  650. package/src/rollup/root_rollup.ts +0 -195
  651. package/src/rollup/tube_inputs.ts +0 -77
  652. package/src/trees/protocol_contract_leaf.ts +0 -128
@@ -1,18 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
- import {
3
- SiblingPath,
4
- UnbalancedMerkleTreeCalculator,
5
- computeUnbalancedMerkleTreeRoot,
6
- findLeafLevelAndIndex,
7
- getMaxUnbalancedTreeDepth,
8
- } from '@aztec/foundation/trees';
9
-
10
- async function createOutHashTree(messages: Fr[]) {
11
- const messageSubtreeHeight = getMaxUnbalancedTreeDepth(messages.length);
12
- const calculator = UnbalancedMerkleTreeCalculator.create(messageSubtreeHeight);
13
- await calculator.appendLeaves(messages.map(msg => msg.toBuffer()));
14
- return calculator;
15
- }
2
+ import { SiblingPath, UnbalancedMerkleTreeCalculator, computeUnbalancedMerkleTreeRoot } from '@aztec/foundation/trees';
16
3
 
17
4
  export interface MessageRetrieval {
18
5
  getL2ToL1Messages(l2BlockNumber: number): Promise<Fr[][] | undefined>;
@@ -37,10 +24,12 @@ export async function computeL2ToL1MembershipWitness(
37
24
  return computeL2ToL1MembershipWitnessFromMessagesForAllTxs(messagesForAllTxs, message);
38
25
  }
39
26
 
40
- export async function computeL2ToL1MembershipWitnessFromMessagesForAllTxs(
27
+ // TODO: Allow to specify the message to consume by its index or by an offset, in case there are multiple messages with
28
+ // the same value.
29
+ export function computeL2ToL1MembershipWitnessFromMessagesForAllTxs(
41
30
  messagesForAllTxs: Fr[][],
42
31
  message: Fr,
43
- ): Promise<L2ToL1MembershipWitness> {
32
+ ): L2ToL1MembershipWitness {
44
33
  // Find index of message in subtree and index of tx in a block.
45
34
  let messageIndexInTx = -1;
46
35
  const txIndex = messagesForAllTxs.findIndex(messages => {
@@ -54,9 +43,9 @@ export async function computeL2ToL1MembershipWitnessFromMessagesForAllTxs(
54
43
 
55
44
  // Get the txOutHash and the sibling path of the message in the tx subtree.
56
45
  const txMessages = messagesForAllTxs[txIndex];
57
- const txOutHashTree = await createOutHashTree(txMessages);
46
+ const txOutHashTree = UnbalancedMerkleTreeCalculator.create(txMessages.map(msg => msg.toBuffer()));
58
47
  const txOutHash = txOutHashTree.getRoot();
59
- const messagePathInSubtree = await txOutHashTree.getSiblingPath(message);
48
+ const messagePathInSubtree = txOutHashTree.getSiblingPath(message.toBuffer());
60
49
 
61
50
  // Calculate txOutHash for all txs.
62
51
  const txSubtreeRoots = messagesForAllTxs.map((messages, i) => {
@@ -74,21 +63,26 @@ export async function computeL2ToL1MembershipWitnessFromMessagesForAllTxs(
74
63
  });
75
64
 
76
65
  // Construct the top tree.
77
- // The leaves of this tree are the txOutHashes.
78
- // The root of this tree is the out_hash calculated in the circuit.
79
- const topTree = await createOutHashTree(txSubtreeRoots);
66
+ // The leaves of this tree are the `txOutHashes`.
67
+ // The root of this tree should match the `out_hash` calculated in the circuits. Zero hashes are compressed to reduce
68
+ // cost if the non-zero leaves result in a shorter path.
69
+ const valueToCompress = Buffer.alloc(32);
70
+ const topTree = UnbalancedMerkleTreeCalculator.create(
71
+ txSubtreeRoots.map(root => root.toBuffer()),
72
+ valueToCompress,
73
+ );
80
74
  const root = Fr.fromBuffer(topTree.getRoot());
81
75
 
82
76
  // Compute the combined sibling path by appending the tx subtree path to the top tree path.
83
- const txPathInTopTree = await topTree.getSiblingPath(txOutHash);
77
+ const txPathInTopTree = topTree.getSiblingPath(txOutHash);
84
78
  const combinedPath = messagePathInSubtree.toBufferArray().concat(txPathInTopTree.toBufferArray());
85
79
 
86
80
  // Compute the combined index.
87
81
  // It is the index of the message in the balanced tree at its current height.
88
- const txLeafPosition = findLeafLevelAndIndex(messagesForAllTxs.length, txIndex);
89
- const messageLeafPosition = findLeafLevelAndIndex(txMessages.length, messageIndexInTx);
90
- const numLeavesInLeftSubtrees = txLeafPosition.indexAtLevel * (1 << messageLeafPosition.level);
91
- const combinedIndex = numLeavesInLeftSubtrees + messageLeafPosition.indexAtLevel;
82
+ const txLeafIndexAtLevel = topTree.getLeafLocation(txIndex).index;
83
+ const messageLeafPosition = txOutHashTree.getLeafLocation(messageIndexInTx);
84
+ const numLeavesInLeftSubtrees = txLeafIndexAtLevel * (1 << messageLeafPosition.level);
85
+ const combinedIndex = numLeavesInLeftSubtrees + messageLeafPosition.index;
92
86
 
93
87
  return {
94
88
  root,
package/src/noir/index.ts CHANGED
@@ -64,6 +64,8 @@ interface NoirFunctionEntry {
64
64
  export interface NoirCompiledContract {
65
65
  /** The name of the contract. */
66
66
  name: string;
67
+ /** Is the contract's public bytecode transpiled? */
68
+ transpiled?: boolean;
67
69
  /** The functions of the contract. */
68
70
  functions: NoirFunctionEntry[];
69
71
  /** The events of the contract */
@@ -87,6 +89,15 @@ export interface NoirCompiledCircuit {
87
89
  abi: NoirFunctionAbi;
88
90
  /** The bytecode of the circuit in base64. */
89
91
  bytecode: string;
92
+ /** The verification key of the circuit. */
93
+ verificationKey: {
94
+ /** hex-encoded binary */
95
+ bytes: string;
96
+ /** list of hex-encoded fields */
97
+ fields: string[];
98
+ /** The hex-encoded hash. */
99
+ hash: string;
100
+ };
90
101
  /** The debug information, compressed and base64 encoded. */
91
102
  debug_symbols: string;
92
103
  /** The map of file ID to the source code and path of the file. */
package/src/note/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './comparator.js';
2
- export * from './extended_note.js';
2
+ export * from './unique_note.js';
3
3
  export * from './notes_filter.js';
4
4
  export * from './note_status.js';
5
5
  export * from './note.js';
@@ -4,7 +4,6 @@ import { z } from 'zod';
4
4
 
5
5
  import type { AztecAddress } from '../aztec-address/index.js';
6
6
  import { type ZodFor, schemas } from '../schemas/index.js';
7
- import { TxHash } from '../tx/tx_hash.js';
8
7
  import { NoteStatus } from './note_status.js';
9
8
 
10
9
  /**
@@ -17,12 +16,8 @@ export type NotesFilter = {
17
16
  * @remarks Providing a contract address is required as we need that information to trigger private state sync.
18
17
  */
19
18
  contractAddress: AztecAddress;
20
- /** Hash of a transaction from which to fetch the notes. */
21
- txHash?: TxHash;
22
19
  /** The specific storage location of the note on the contract. */
23
20
  storageSlot?: Fr;
24
- /** The recipient of the note (whose public key was used to encrypt the note). */
25
- recipient?: AztecAddress;
26
21
  /** The status of the note. Defaults to 'ACTIVE'. */
27
22
  status?: NoteStatus;
28
23
  /** The siloed nullifier for the note. */
@@ -33,9 +28,7 @@ export type NotesFilter = {
33
28
 
34
29
  export const NotesFilterSchema: ZodFor<NotesFilter> = z.object({
35
30
  contractAddress: schemas.AztecAddress,
36
- txHash: TxHash.schema.optional(),
37
31
  storageSlot: schemas.Fr.optional(),
38
- recipient: schemas.AztecAddress.optional(),
39
32
  status: z.nativeEnum(NoteStatus).optional(),
40
33
  siloedNullifier: schemas.Fr.optional(),
41
34
  scopes: z.array(schemas.AztecAddress).optional(),
@@ -10,13 +10,13 @@ import { TxHash } from '../tx/tx_hash.js';
10
10
  import { Note } from './note.js';
11
11
 
12
12
  /**
13
- * A note with contextual data.
13
+ * A note with contextual data and a nonce that makes it unique.
14
14
  */
15
- export class ExtendedNote {
15
+ export class UniqueNote {
16
16
  constructor(
17
17
  /** The note as emitted from the Noir contract. */
18
18
  public note: Note,
19
- /** The address whose public key was used to encrypt the note. */
19
+ /** The recipient whose public key was used to encrypt the note. */
20
20
  public recipient: AztecAddress,
21
21
  /** The contract address this note is created in. */
22
22
  public contractAddress: AztecAddress,
@@ -24,76 +24,11 @@ export class ExtendedNote {
24
24
  public storageSlot: Fr,
25
25
  /** The hash of the tx the note was created in. */
26
26
  public txHash: TxHash,
27
- ) {}
28
-
29
- toBuffer(): Buffer {
30
- return serializeToBuffer([this.note, this.recipient, this.contractAddress, this.storageSlot, this.txHash]);
31
- }
32
-
33
- static fromBuffer(buffer: Buffer | BufferReader) {
34
- const reader = BufferReader.asReader(buffer);
35
-
36
- const note = reader.readObject(Note);
37
- const recipient = reader.readObject(AztecAddress);
38
- const contractAddress = reader.readObject(AztecAddress);
39
- const storageSlot = reader.readObject(Fr);
40
- const txHash = reader.readObject(TxHash);
41
-
42
- return new this(note, recipient, contractAddress, storageSlot, txHash);
43
- }
44
-
45
- static get schema(): ZodFor<ExtendedNote> {
46
- return z
47
- .object({
48
- note: Note.schema,
49
- recipient: schemas.AztecAddress,
50
- contractAddress: schemas.AztecAddress,
51
- storageSlot: schemas.Fr,
52
- txHash: TxHash.schema,
53
- })
54
- .transform(({ note, recipient, contractAddress, storageSlot, txHash }) => {
55
- return new ExtendedNote(note, recipient, contractAddress, storageSlot, txHash);
56
- });
57
- }
58
-
59
- toString() {
60
- return bufferToHex(this.toBuffer());
61
- }
62
-
63
- static fromString(str: string) {
64
- return ExtendedNote.fromBuffer(hexToBuffer(str));
65
- }
66
-
67
- static async random() {
68
- return new ExtendedNote(
69
- Note.random(),
70
- await AztecAddress.random(),
71
- await AztecAddress.random(),
72
- Fr.random(),
73
- TxHash.random(),
74
- );
75
- }
76
- }
77
-
78
- export class UniqueNote extends ExtendedNote {
79
- constructor(
80
- /** The note as emitted from the Noir contract. */
81
- note: Note,
82
- /** The recipient whose public key was used to encrypt the note. */
83
- recipient: AztecAddress,
84
- /** The contract address this note is created in. */
85
- contractAddress: AztecAddress,
86
- /** The specific storage location of the note on the contract. */
87
- storageSlot: Fr,
88
- /** The hash of the tx the note was created in. */
89
- txHash: TxHash,
90
27
  /** The nonce that was injected into the note hash preimage in order to guarantee uniqueness. */
91
28
  public noteNonce: Fr,
92
- ) {
93
- super(note, recipient, contractAddress, storageSlot, txHash);
94
- }
29
+ ) {}
95
30
 
96
- static override get schema() {
31
+ static get schema(): ZodFor<UniqueNote> {
97
32
  return z
98
33
  .object({
99
34
  note: Note.schema,
@@ -108,7 +43,7 @@ export class UniqueNote extends ExtendedNote {
108
43
  });
109
44
  }
110
45
 
111
- override toBuffer(): Buffer {
46
+ toBuffer(): Buffer {
112
47
  return serializeToBuffer([
113
48
  this.note,
114
49
  this.recipient,
@@ -119,7 +54,7 @@ export class UniqueNote extends ExtendedNote {
119
54
  ]);
120
55
  }
121
56
 
122
- static override async random() {
57
+ static async random() {
123
58
  return new UniqueNote(
124
59
  Note.random(),
125
60
  await AztecAddress.random(),
@@ -130,7 +65,7 @@ export class UniqueNote extends ExtendedNote {
130
65
  );
131
66
  }
132
67
 
133
- static override fromBuffer(buffer: Buffer | BufferReader) {
68
+ static fromBuffer(buffer: Buffer | BufferReader) {
134
69
  const reader = BufferReader.asReader(buffer);
135
70
 
136
71
  const note = reader.readObject(Note);
@@ -140,10 +75,14 @@ export class UniqueNote extends ExtendedNote {
140
75
  const txHash = reader.readObject(TxHash);
141
76
  const noteNonce = reader.readObject(Fr);
142
77
 
143
- return new this(note, recipient, contractAddress, storageSlot, txHash, noteNonce);
78
+ return new UniqueNote(note, recipient, contractAddress, storageSlot, txHash, noteNonce);
144
79
  }
145
80
 
146
- static override fromString(str: string) {
81
+ static fromString(str: string) {
147
82
  return UniqueNote.fromBuffer(hexToBuffer(str));
148
83
  }
84
+
85
+ toString() {
86
+ return bufferToHex(this.toBuffer());
87
+ }
149
88
  }
@@ -1,5 +1,5 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { keccak256, recoverAddress } from '@aztec/foundation/crypto';
2
+ import { keccak256, tryRecoverAddress } from '@aztec/foundation/crypto';
3
3
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { Signature } from '@aztec/foundation/eth-signature';
5
5
  import { Fr } from '@aztec/foundation/fields';
@@ -7,8 +7,7 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
7
7
 
8
8
  import { z } from 'zod';
9
9
 
10
- import { type ZodFor, schemas } from '../schemas/index.js';
11
- import type { UInt32 } from '../types/index.js';
10
+ import type { ZodFor } from '../schemas/index.js';
12
11
  import { ConsensusPayload } from './consensus_payload.js';
13
12
  import { Gossipable } from './gossipable.js';
14
13
  import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
@@ -30,16 +29,17 @@ export class BlockAttestation extends Gossipable {
30
29
  static override p2pTopic = TopicType.block_attestation;
31
30
 
32
31
  private sender: EthAddress | undefined;
32
+ private proposer: EthAddress | undefined;
33
33
 
34
34
  constructor(
35
- /** The block number of the attestation. */
36
- public readonly blockNumber: UInt32,
37
-
38
35
  /** The payload of the message, and what the signature is over */
39
36
  public readonly payload: ConsensusPayload,
40
37
 
41
38
  /** The signature of the block attester */
42
39
  public readonly signature: Signature,
40
+
41
+ /** The signature from the block proposer */
42
+ public readonly proposerSignature: Signature,
43
43
  ) {
44
44
  super();
45
45
  }
@@ -47,11 +47,11 @@ export class BlockAttestation extends Gossipable {
47
47
  static get schema(): ZodFor<BlockAttestation> {
48
48
  return z
49
49
  .object({
50
- blockNumber: schemas.UInt32,
51
50
  payload: ConsensusPayload.schema,
52
51
  signature: Signature.schema,
52
+ proposerSignature: Signature.schema,
53
53
  })
54
- .transform(obj => new BlockAttestation(obj.blockNumber, obj.payload, obj.signature));
54
+ .transform(obj => new BlockAttestation(obj.payload, obj.signature, obj.proposerSignature));
55
55
  }
56
56
 
57
57
  override generateP2PMessageIdentifier(): Promise<Buffer32> {
@@ -68,37 +68,68 @@ export class BlockAttestation extends Gossipable {
68
68
 
69
69
  /**
70
70
  * Lazily evaluate and cache the signer of the attestation
71
- * @returns The signer of the attestation
71
+ * @returns The signer of the attestation, or undefined if signature recovery fails
72
72
  */
73
- getSender(): EthAddress {
73
+ getSender(): EthAddress | undefined {
74
74
  if (!this.sender) {
75
75
  // Recover the sender from the attestation
76
76
  const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.blockAttestation);
77
77
  // Cache the sender for later use
78
- this.sender = recoverAddress(hashed, this.signature);
78
+ this.sender = tryRecoverAddress(hashed, this.signature);
79
79
  }
80
80
 
81
81
  return this.sender;
82
82
  }
83
83
 
84
+ /**
85
+ * Lazily evaluate and cache the proposer of the block
86
+ * @returns The proposer of the block
87
+ */
88
+ getProposer(): EthAddress | undefined {
89
+ if (!this.proposer) {
90
+ // Recover the proposer from the proposal signature
91
+ const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.blockProposal);
92
+ // Cache the proposer for later use
93
+ this.proposer = tryRecoverAddress(hashed, this.proposerSignature);
94
+ }
95
+
96
+ return this.proposer;
97
+ }
98
+
84
99
  getPayload(): Buffer {
85
100
  return this.payload.getPayloadToSign(SignatureDomainSeparator.blockAttestation);
86
101
  }
87
102
 
88
103
  toBuffer(): Buffer {
89
- return serializeToBuffer([this.blockNumber, this.payload, this.signature]);
104
+ return serializeToBuffer([this.payload, this.signature, this.proposerSignature]);
90
105
  }
91
106
 
92
107
  static fromBuffer(buf: Buffer | BufferReader): BlockAttestation {
93
108
  const reader = BufferReader.asReader(buf);
94
- return new BlockAttestation(reader.readNumber(), reader.readObject(ConsensusPayload), reader.readObject(Signature));
109
+ return new BlockAttestation(
110
+ reader.readObject(ConsensusPayload),
111
+ reader.readObject(Signature),
112
+ reader.readObject(Signature),
113
+ );
95
114
  }
96
115
 
97
116
  static empty(): BlockAttestation {
98
- return new BlockAttestation(0, ConsensusPayload.empty(), Signature.empty());
117
+ return new BlockAttestation(ConsensusPayload.empty(), Signature.empty(), Signature.empty());
118
+ }
119
+
120
+ static random(): BlockAttestation {
121
+ return new BlockAttestation(ConsensusPayload.random(), Signature.random(), Signature.random());
99
122
  }
100
123
 
101
124
  getSize(): number {
102
- return 4 /* blockNumber */ + this.payload.getSize() + this.signature.getSize();
125
+ return this.payload.getSize() + this.signature.getSize() + this.proposerSignature.getSize();
126
+ }
127
+
128
+ toInspect() {
129
+ return {
130
+ payload: this.payload.toInspect(),
131
+ signature: this.signature.toString(),
132
+ proposerSignature: this.proposerSignature.toString(),
133
+ };
103
134
  }
104
135
  }
@@ -1,14 +1,13 @@
1
1
  import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { keccak256, recoverAddress } from '@aztec/foundation/crypto';
2
+ import { keccak256, tryRecoverAddress } from '@aztec/foundation/crypto';
3
3
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { Signature } from '@aztec/foundation/eth-signature';
5
5
  import { Fr } from '@aztec/foundation/fields';
6
6
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
7
7
 
8
- import type { BlockInfo } from '../block/l2_block.js';
8
+ import type { L2BlockInfo } from '../block/l2_block_info.js';
9
9
  import { TxHash } from '../tx/index.js';
10
10
  import { Tx } from '../tx/tx.js';
11
- import type { UInt32 } from '../types/index.js';
12
11
  import { ConsensusPayload } from './consensus_payload.js';
13
12
  import { Gossipable } from './gossipable.js';
14
13
  import {
@@ -26,6 +25,8 @@ export class BlockProposalHash extends Buffer32 {
26
25
 
27
26
  export type BlockProposalOptions = {
28
27
  publishFullTxs: boolean;
28
+ /** Whether to generate an invalid block proposal for broadcasting. Use only for testing. */
29
+ broadcastInvalidBlockProposal?: boolean;
29
30
  };
30
31
 
31
32
  /**
@@ -40,9 +41,6 @@ export class BlockProposal extends Gossipable {
40
41
  private sender: EthAddress | undefined;
41
42
 
42
43
  constructor(
43
- /** The number of the block */
44
- public readonly blockNumber: UInt32,
45
-
46
44
  /** The payload of the message, and what the signature is over */
47
45
  public readonly payload: ConsensusPayload,
48
46
 
@@ -71,17 +69,17 @@ export class BlockProposal extends Gossipable {
71
69
  return this.payload.header.slotNumber;
72
70
  }
73
71
 
74
- toBlockInfo(): BlockInfo {
72
+ toBlockInfo(): Omit<L2BlockInfo, 'blockNumber'> {
75
73
  return {
76
- blockNumber: this.blockNumber,
77
74
  slotNumber: this.slotNumber.toNumber(),
78
- archive: this.archive.toString(),
75
+ lastArchive: this.payload.header.lastArchiveRoot,
76
+ timestamp: this.payload.header.timestamp,
77
+ archive: this.archive,
79
78
  txCount: this.txHashes.length,
80
79
  };
81
80
  }
82
81
 
83
82
  static async createProposalFromSigner(
84
- blockNumber: UInt32,
85
83
  payload: ConsensusPayload,
86
84
  txHashes: TxHash[],
87
85
  // Note(md): Provided separately to tx hashes such that this function can be optional
@@ -91,17 +89,18 @@ export class BlockProposal extends Gossipable {
91
89
  const hashed = getHashedSignaturePayload(payload, SignatureDomainSeparator.blockProposal);
92
90
  const sig = await payloadSigner(hashed);
93
91
 
94
- return new BlockProposal(blockNumber, payload, sig, txHashes, txs);
92
+ return new BlockProposal(payload, sig, txHashes, txs);
95
93
  }
96
94
 
97
95
  /**Get Sender
98
96
  * Lazily evaluate the sender of the proposal; result is cached
97
+ * @returns The sender address, or undefined if signature recovery fails
99
98
  */
100
- getSender() {
99
+ getSender(): EthAddress | undefined {
101
100
  if (!this.sender) {
102
101
  const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.blockProposal);
103
102
  // Cache the sender for later use
104
- this.sender = recoverAddress(hashed, this.signature);
103
+ this.sender = tryRecoverAddress(hashed, this.signature);
105
104
  }
106
105
 
107
106
  return this.sender;
@@ -112,7 +111,7 @@ export class BlockProposal extends Gossipable {
112
111
  }
113
112
 
114
113
  toBuffer(): Buffer {
115
- const buffer: any[] = [this.blockNumber, this.payload, this.signature, this.txHashes.length, this.txHashes];
114
+ const buffer: any[] = [this.payload, this.signature, this.txHashes.length, this.txHashes];
116
115
  if (this.txs) {
117
116
  buffer.push(this.txs.length);
118
117
  buffer.push(this.txs);
@@ -123,22 +122,20 @@ export class BlockProposal extends Gossipable {
123
122
  static fromBuffer(buf: Buffer | BufferReader): BlockProposal {
124
123
  const reader = BufferReader.asReader(buf);
125
124
 
126
- const blockNumber = reader.readNumber();
127
125
  const payload = reader.readObject(ConsensusPayload);
128
126
  const sig = reader.readObject(Signature);
129
127
  const txHashes = reader.readArray(reader.readNumber(), TxHash);
130
128
 
131
129
  if (!reader.isEmpty()) {
132
130
  const txs = reader.readArray(reader.readNumber(), Tx);
133
- return new BlockProposal(blockNumber, payload, sig, txHashes, txs);
131
+ return new BlockProposal(payload, sig, txHashes, txs);
134
132
  }
135
133
 
136
- return new BlockProposal(blockNumber, payload, sig, txHashes);
134
+ return new BlockProposal(payload, sig, txHashes);
137
135
  }
138
136
 
139
137
  getSize(): number {
140
138
  return (
141
- 4 /* blockNumber */ +
142
139
  this.payload.getSize() +
143
140
  this.signature.getSize() +
144
141
  4 /* txHashes.length */ +
@@ -8,7 +8,8 @@ import { encodeAbiParameters, parseAbiParameters } from 'viem';
8
8
  import { z } from 'zod';
9
9
 
10
10
  import type { L2Block } from '../block/l2_block.js';
11
- import { ProposedBlockHeader, StateReference } from '../tx/index.js';
11
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
12
+ import { StateReference } from '../tx/state_reference.js';
12
13
  import type { Signable, SignatureDomainSeparator } from './signature_utils.js';
13
14
 
14
15
  export class ConsensusPayload implements Signable {
@@ -16,7 +17,7 @@ export class ConsensusPayload implements Signable {
16
17
 
17
18
  constructor(
18
19
  /** The proposed block header the attestation is made over */
19
- public readonly header: ProposedBlockHeader,
20
+ public readonly header: CheckpointHeader,
20
21
  /** The archive root after the block is added */
21
22
  public readonly archive: Fr,
22
23
  /** The state reference after the block is added */
@@ -26,7 +27,7 @@ export class ConsensusPayload implements Signable {
26
27
  static get schema() {
27
28
  return z
28
29
  .object({
29
- header: ProposedBlockHeader.schema,
30
+ header: CheckpointHeader.schema,
30
31
  archive: schemas.Fr,
31
32
  stateReference: StateReference.schema,
32
33
  })
@@ -60,18 +61,25 @@ export class ConsensusPayload implements Signable {
60
61
  }
61
62
 
62
63
  toBuffer(): Buffer {
63
- const buffer = serializeToBuffer([this.header, this.archive, this.stateReference]);
64
- this.size = buffer.length;
65
- return buffer;
64
+ return serializeToBuffer([this.header, this.archive, this.stateReference]);
65
+ }
66
+
67
+ public equals(other: ConsensusPayload): boolean {
68
+ return (
69
+ this.header.equals(other.header) &&
70
+ this.archive.equals(other.archive) &&
71
+ this.stateReference.equals(other.stateReference)
72
+ );
66
73
  }
67
74
 
68
75
  static fromBuffer(buf: Buffer | BufferReader): ConsensusPayload {
69
76
  const reader = BufferReader.asReader(buf);
70
- return new ConsensusPayload(
71
- reader.readObject(ProposedBlockHeader),
77
+ const payload = new ConsensusPayload(
78
+ reader.readObject(CheckpointHeader),
72
79
  reader.readObject(Fr),
73
80
  reader.readObject(StateReference),
74
81
  );
82
+ return payload;
75
83
  }
76
84
 
77
85
  static fromFields(fields: FieldsOf<ConsensusPayload>): ConsensusPayload {
@@ -79,11 +87,15 @@ export class ConsensusPayload implements Signable {
79
87
  }
80
88
 
81
89
  static fromBlock(block: L2Block): ConsensusPayload {
82
- return new ConsensusPayload(block.header.toPropose(), block.archive.root, block.header.state);
90
+ return new ConsensusPayload(block.header.toCheckpointHeader(), block.archive.root, block.header.state);
83
91
  }
84
92
 
85
93
  static empty(): ConsensusPayload {
86
- return new ConsensusPayload(ProposedBlockHeader.empty(), Fr.ZERO, StateReference.empty());
94
+ return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, StateReference.empty());
95
+ }
96
+
97
+ static random(): ConsensusPayload {
98
+ return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), StateReference.random());
87
99
  }
88
100
 
89
101
  /**
@@ -99,6 +111,14 @@ export class ConsensusPayload implements Signable {
99
111
  return this.size;
100
112
  }
101
113
 
114
+ toInspect() {
115
+ return {
116
+ header: this.header.toInspect(),
117
+ archive: this.archive.toString(),
118
+ stateReference: this.stateReference.toInspect(),
119
+ };
120
+ }
121
+
102
122
  toString() {
103
123
  return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, stateReference: ${this.stateReference.l1ToL2MessageTree.root.toString()}`;
104
124
  }