@aztec/stdlib 3.0.0-canary.a9708bd → 3.0.0-devnet.3

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 (633) 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 +30 -428
  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 +17 -1
  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 +26 -9
  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_init_circuit_private_inputs.d.ts +5 -4
  172. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  173. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  174. package/dest/kernel/private_kernel_prover_output.d.ts +1 -1
  175. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  176. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
  177. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  178. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
  179. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  180. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
  181. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  182. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
  183. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
  184. package/dest/keys/derivation.d.ts +0 -2
  185. package/dest/keys/derivation.d.ts.map +1 -1
  186. package/dest/keys/derivation.js +1 -21
  187. package/dest/logs/contract_class_log.d.ts +1 -1
  188. package/dest/logs/contract_class_log.d.ts.map +1 -1
  189. package/dest/logs/contract_class_log.js +1 -3
  190. package/dest/logs/debug_log.d.ts +13 -0
  191. package/dest/logs/debug_log.d.ts.map +1 -0
  192. package/dest/logs/debug_log.js +26 -0
  193. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  194. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  195. package/dest/logs/directional_app_tagging_secret.js +64 -0
  196. package/dest/logs/index.d.ts +3 -1
  197. package/dest/logs/index.d.ts.map +1 -1
  198. package/dest/logs/index.js +3 -1
  199. package/dest/logs/log_with_tx_data.d.ts +9 -12
  200. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  201. package/dest/logs/log_with_tx_data.js +18 -23
  202. package/dest/logs/pre_tag.d.ts +34 -0
  203. package/dest/logs/pre_tag.d.ts.map +1 -0
  204. package/dest/logs/pre_tag.js +7 -0
  205. package/dest/logs/public_log.d.ts +23 -10
  206. package/dest/logs/public_log.d.ts.map +1 -1
  207. package/dest/logs/public_log.js +117 -42
  208. package/dest/messaging/inbox_leaf.d.ts +2 -0
  209. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  210. package/dest/messaging/inbox_leaf.js +3 -0
  211. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  212. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  213. package/dest/messaging/l2_to_l1_membership.js +16 -18
  214. package/dest/noir/index.d.ts +11 -0
  215. package/dest/noir/index.d.ts.map +1 -1
  216. package/dest/note/index.d.ts +1 -1
  217. package/dest/note/index.d.ts.map +1 -1
  218. package/dest/note/index.js +1 -1
  219. package/dest/note/notes_filter.d.ts +0 -5
  220. package/dest/note/notes_filter.d.ts.map +1 -1
  221. package/dest/note/notes_filter.js +0 -3
  222. package/dest/note/unique_note.d.ts +43 -0
  223. package/dest/note/unique_note.d.ts.map +1 -0
  224. package/dest/note/{extended_note.js → unique_note.js} +9 -48
  225. package/dest/p2p/block_attestation.d.ts +45 -9
  226. package/dest/p2p/block_attestation.d.ts.map +1 -1
  227. package/dest/p2p/block_attestation.js +37 -15
  228. package/dest/p2p/block_proposal.d.ts +7 -9
  229. package/dest/p2p/block_proposal.d.ts.map +1 -1
  230. package/dest/p2p/block_proposal.js +13 -14
  231. package/dest/p2p/consensus_payload.d.ts +35 -6
  232. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  233. package/dest/p2p/consensus_payload.js +21 -8
  234. package/dest/p2p/gossipable.d.ts +2 -4
  235. package/dest/p2p/gossipable.d.ts.map +1 -1
  236. package/dest/p2p/gossipable.js +5 -14
  237. package/dest/p2p/signature_utils.d.ts +2 -1
  238. package/dest/p2p/signature_utils.d.ts.map +1 -1
  239. package/dest/p2p/signature_utils.js +1 -0
  240. package/dest/parity/index.d.ts +2 -3
  241. package/dest/parity/index.d.ts.map +1 -1
  242. package/dest/parity/index.js +2 -3
  243. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
  244. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  245. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  246. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  247. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  248. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  249. package/dest/proofs/client_ivc_proof.d.ts +17 -7
  250. package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
  251. package/dest/proofs/client_ivc_proof.js +78 -19
  252. package/dest/proofs/index.d.ts +1 -0
  253. package/dest/proofs/index.d.ts.map +1 -1
  254. package/dest/proofs/index.js +1 -0
  255. package/dest/proofs/proof_data.d.ts +21 -0
  256. package/dest/proofs/proof_data.d.ts.map +1 -0
  257. package/dest/proofs/proof_data.js +22 -0
  258. package/dest/proofs/proving_request_type.d.ts +17 -13
  259. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  260. package/dest/proofs/proving_request_type.js +17 -12
  261. package/dest/rollup/avm_proof_data.d.ts +2 -12
  262. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  263. package/dest/rollup/avm_proof_data.js +0 -24
  264. package/dest/rollup/base_rollup_hints.d.ts +17 -17
  265. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  266. package/dest/rollup/base_rollup_hints.js +26 -26
  267. package/dest/rollup/block_constant_data.d.ts +24 -10
  268. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  269. package/dest/rollup/block_constant_data.js +18 -10
  270. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
  271. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  272. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  273. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  274. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  275. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  276. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  277. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  278. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  279. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  280. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  281. package/dest/rollup/checkpoint_constant_data.js +55 -0
  282. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -11
  283. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  284. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +14 -8
  285. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  286. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  287. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  288. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  289. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  290. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  291. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  292. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  293. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  294. package/dest/rollup/epoch_constant_data.d.ts +23 -6
  295. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  296. package/dest/rollup/epoch_constant_data.js +25 -12
  297. package/dest/rollup/index.d.ts +17 -16
  298. package/dest/rollup/index.d.ts.map +1 -1
  299. package/dest/rollup/index.js +17 -16
  300. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  301. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  302. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  303. package/dest/rollup/public_tube_private_inputs.d.ts +21 -0
  304. package/dest/rollup/public_tube_private_inputs.d.ts.map +1 -0
  305. package/dest/rollup/public_tube_private_inputs.js +42 -0
  306. package/dest/rollup/public_tube_public_inputs.d.ts +20 -0
  307. package/dest/rollup/public_tube_public_inputs.d.ts.map +1 -0
  308. package/dest/rollup/public_tube_public_inputs.js +41 -0
  309. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  310. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  311. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  312. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  313. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  314. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  315. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  316. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  317. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  318. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
  319. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  320. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  321. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
  322. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  323. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  324. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
  325. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  326. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
  327. package/dest/slashing/types.d.ts +1 -0
  328. package/dest/slashing/types.d.ts.map +1 -1
  329. package/dest/slashing/types.js +22 -0
  330. package/dest/snapshots/download.d.ts.map +1 -1
  331. package/dest/snapshots/download.js +58 -2
  332. package/dest/snapshots/upload.d.ts.map +1 -1
  333. package/dest/snapshots/upload.js +1 -0
  334. package/dest/stats/stats.d.ts +1 -1
  335. package/dest/stats/stats.d.ts.map +1 -1
  336. package/dest/tests/factories.d.ts +42 -74
  337. package/dest/tests/factories.d.ts.map +1 -1
  338. package/dest/tests/factories.js +144 -167
  339. package/dest/tests/mocks.d.ts +14 -8
  340. package/dest/tests/mocks.d.ts.map +1 -1
  341. package/dest/tests/mocks.js +53 -31
  342. package/dest/trees/index.d.ts +0 -1
  343. package/dest/trees/index.d.ts.map +1 -1
  344. package/dest/trees/index.js +0 -1
  345. package/dest/trees/merkle_tree_id.d.ts +4 -4
  346. package/dest/trees/nullifier_membership_witness.d.ts +3 -3
  347. package/dest/tx/block_header.d.ts +12 -13
  348. package/dest/tx/block_header.d.ts.map +1 -1
  349. package/dest/tx/block_header.js +16 -21
  350. package/dest/tx/content_commitment.d.ts +1 -0
  351. package/dest/tx/content_commitment.d.ts.map +1 -1
  352. package/dest/tx/content_commitment.js +3 -0
  353. package/dest/tx/global_variables.d.ts.map +1 -1
  354. package/dest/tx/global_variables.js +0 -1
  355. package/dest/tx/index.d.ts +2 -1
  356. package/dest/tx/index.d.ts.map +1 -1
  357. package/dest/tx/index.js +2 -1
  358. package/dest/tx/indexed_tx_effect.d.ts +3 -3
  359. package/dest/tx/partial_state_reference.d.ts +1 -0
  360. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  361. package/dest/tx/partial_state_reference.js +3 -0
  362. package/dest/tx/private_execution_result.d.ts +7 -2
  363. package/dest/tx/private_execution_result.d.ts.map +1 -1
  364. package/dest/tx/private_execution_result.js +10 -6
  365. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  366. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  367. package/dest/tx/private_tx_constant_data.js +69 -0
  368. package/dest/tx/processed_tx.d.ts +0 -1
  369. package/dest/tx/processed_tx.d.ts.map +1 -1
  370. package/dest/tx/processed_tx.js +1 -6
  371. package/dest/tx/profiling.d.ts.map +1 -1
  372. package/dest/tx/profiling.js +0 -2
  373. package/dest/tx/protocol_contracts.d.ts +29 -0
  374. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  375. package/dest/tx/protocol_contracts.js +49 -0
  376. package/dest/tx/simulated_tx.d.ts +3 -3
  377. package/dest/tx/state_reference.d.ts +1 -0
  378. package/dest/tx/state_reference.d.ts.map +1 -1
  379. package/dest/tx/state_reference.js +4 -1
  380. package/dest/tx/tx.d.ts +6 -9
  381. package/dest/tx/tx.d.ts.map +1 -1
  382. package/dest/tx/tx.js +10 -11
  383. package/dest/tx/tx_constant_data.d.ts +6 -38
  384. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  385. package/dest/tx/tx_constant_data.js +11 -20
  386. package/dest/tx/tx_effect.d.ts +3 -36
  387. package/dest/tx/tx_effect.d.ts.map +1 -1
  388. package/dest/tx/tx_effect.js +63 -202
  389. package/dest/tx/validator/error_texts.d.ts +1 -1
  390. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  391. package/dest/tx/validator/error_texts.js +1 -1
  392. package/dest/update-checker/update-checker.d.ts +1 -1
  393. package/dest/update-checker/update-checker.d.ts.map +1 -1
  394. package/dest/update-checker/update-checker.js +1 -1
  395. package/dest/validators/schemas.d.ts +42 -4
  396. package/dest/validators/schemas.d.ts.map +1 -1
  397. package/dest/validators/schemas.js +5 -4
  398. package/dest/validators/types.d.ts +8 -10
  399. package/dest/validators/types.d.ts.map +1 -1
  400. package/dest/versioning/versioning.d.ts +2 -2
  401. package/dest/versioning/versioning.d.ts.map +1 -1
  402. package/dest/versioning/versioning.js +18 -13
  403. package/dest/world-state/index.d.ts +2 -0
  404. package/dest/world-state/index.d.ts.map +1 -0
  405. package/dest/world-state/index.js +1 -0
  406. package/dest/world-state/world_state_revision.d.ts +22 -0
  407. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  408. package/dest/world-state/world_state_revision.js +21 -0
  409. package/dest/zkpassport/index.d.ts +17 -11
  410. package/dest/zkpassport/index.d.ts.map +1 -1
  411. package/dest/zkpassport/index.js +21 -15
  412. package/package.json +15 -11
  413. package/src/abi/abi.ts +1 -1
  414. package/src/abi/contract_artifact.ts +3 -0
  415. package/src/abi/event_metadata_definition.ts +8 -0
  416. package/src/abi/function_call.ts +5 -1
  417. package/src/abi/index.ts +1 -0
  418. package/src/avm/avm.ts +15 -7
  419. package/src/avm/avm_accumulated_data.ts +25 -29
  420. package/src/avm/avm_circuit_public_inputs.ts +21 -0
  421. package/src/avm/index.ts +1 -1
  422. package/src/avm/message_pack.ts +25 -1
  423. package/src/block/attestation_info.ts +62 -0
  424. package/src/block/body.ts +25 -23
  425. package/src/block/index.ts +4 -0
  426. package/src/block/l2_block.ts +39 -19
  427. package/src/block/l2_block_code_to_purge.ts +30 -31
  428. package/src/block/l2_block_header.ts +232 -0
  429. package/src/block/l2_block_info.ts +63 -0
  430. package/src/block/l2_block_source.ts +33 -51
  431. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  432. package/src/block/proposal/attestations_and_signers.ts +121 -0
  433. package/src/block/proposal/index.ts +1 -0
  434. package/src/block/published_l2_block.ts +37 -15
  435. package/src/block/test/l2_tips_store_test_suite.ts +7 -7
  436. package/src/block/validate_block_result.ts +122 -0
  437. package/src/checkpoint/checkpoint_body.ts +10 -0
  438. package/src/checkpoint/index.ts +1 -0
  439. package/src/config/node-rpc-config.ts +9 -0
  440. package/src/contract/contract_address.ts +1 -1
  441. package/src/contract/contract_class_metadata.ts +8 -0
  442. package/src/contract/contract_instance.ts +11 -10
  443. package/src/contract/contract_metadata.ts +7 -0
  444. package/src/contract/index.ts +2 -0
  445. package/src/contract/interfaces/contract_class.ts +1 -1
  446. package/src/epoch-helpers/index.ts +24 -2
  447. package/src/fees/transaction_fee.ts +11 -0
  448. package/src/file-store/factory.ts +15 -0
  449. package/src/file-store/interface.ts +8 -2
  450. package/src/file-store/s3.ts +254 -0
  451. package/src/hash/hash.ts +0 -4
  452. package/src/interfaces/archiver.ts +46 -1
  453. package/src/interfaces/aztec-node-admin.ts +17 -1
  454. package/src/interfaces/aztec-node.ts +53 -2
  455. package/src/interfaces/block-builder.ts +11 -12
  456. package/src/interfaces/client.ts +0 -1
  457. package/src/interfaces/configs.ts +6 -0
  458. package/src/interfaces/epoch-prover.ts +35 -11
  459. package/src/interfaces/merkle_tree_operations.ts +6 -0
  460. package/src/interfaces/p2p.ts +4 -0
  461. package/src/interfaces/private_kernel_prover.ts +2 -2
  462. package/src/interfaces/proving-job.ts +215 -134
  463. package/src/interfaces/server.ts +1 -0
  464. package/src/interfaces/server_circuit_prover.ts +87 -61
  465. package/src/interfaces/slasher.ts +2 -0
  466. package/src/interfaces/tx_provider.ts +1 -0
  467. package/src/interfaces/validator.ts +95 -0
  468. package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
  469. package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
  470. package/src/kernel/nullifier.ts +8 -8
  471. package/src/kernel/private_call_data.ts +2 -21
  472. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  473. package/src/kernel/private_context_inputs.ts +2 -2
  474. package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
  475. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  476. package/src/kernel/private_kernel_prover_output.ts +1 -1
  477. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
  478. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
  479. package/src/keys/derivation.ts +1 -26
  480. package/src/logs/contract_class_log.ts +2 -3
  481. package/src/logs/debug_log.ts +32 -0
  482. package/src/logs/directional_app_tagging_secret.ts +78 -0
  483. package/src/logs/index.ts +3 -1
  484. package/src/logs/log_with_tx_data.ts +14 -24
  485. package/src/logs/pre_tag.ts +25 -0
  486. package/src/logs/public_log.ts +120 -58
  487. package/src/messaging/inbox_leaf.ts +5 -0
  488. package/src/messaging/l2_to_l1_membership.ts +20 -26
  489. package/src/noir/index.ts +11 -0
  490. package/src/note/index.ts +1 -1
  491. package/src/note/notes_filter.ts +0 -7
  492. package/src/note/{extended_note.ts → unique_note.ts} +14 -75
  493. package/src/p2p/block_attestation.ts +46 -15
  494. package/src/p2p/block_proposal.ts +15 -18
  495. package/src/p2p/consensus_payload.ts +30 -10
  496. package/src/p2p/gossipable.ts +6 -16
  497. package/src/p2p/signature_utils.ts +1 -0
  498. package/src/parity/index.ts +2 -3
  499. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  500. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  501. package/src/proofs/client_ivc_proof.ts +86 -20
  502. package/src/proofs/index.ts +1 -0
  503. package/src/proofs/proof_data.ts +36 -0
  504. package/src/proofs/proving_request_type.ts +14 -10
  505. package/src/rollup/avm_proof_data.ts +2 -31
  506. package/src/rollup/base_rollup_hints.ts +22 -22
  507. package/src/rollup/block_constant_data.ts +16 -6
  508. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  509. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  510. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  511. package/src/rollup/checkpoint_constant_data.ts +84 -0
  512. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +40 -15
  513. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  514. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
  515. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  516. package/src/rollup/epoch_constant_data.ts +28 -10
  517. package/src/rollup/index.ts +17 -16
  518. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  519. package/src/rollup/public_tube_private_inputs.ts +53 -0
  520. package/src/rollup/public_tube_public_inputs.ts +52 -0
  521. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  522. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  523. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  524. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  525. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  526. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
  527. package/src/slashing/types.ts +23 -0
  528. package/src/snapshots/download.ts +66 -2
  529. package/src/snapshots/upload.ts +1 -0
  530. package/src/stats/stats.ts +19 -13
  531. package/src/tests/factories.ts +217 -275
  532. package/src/tests/mocks.ts +87 -57
  533. package/src/trees/index.ts +0 -1
  534. package/src/tx/block_header.ts +17 -32
  535. package/src/tx/content_commitment.ts +4 -0
  536. package/src/tx/global_variables.ts +0 -1
  537. package/src/tx/index.ts +2 -1
  538. package/src/tx/partial_state_reference.ts +8 -0
  539. package/src/tx/private_execution_result.ts +9 -3
  540. package/src/tx/private_tx_constant_data.ts +94 -0
  541. package/src/tx/processed_tx.ts +1 -7
  542. package/src/tx/profiling.ts +0 -2
  543. package/src/tx/protocol_contracts.ts +70 -0
  544. package/src/tx/state_reference.ts +5 -1
  545. package/src/tx/tx.ts +12 -13
  546. package/src/tx/tx_constant_data.ts +8 -21
  547. package/src/tx/tx_effect.ts +64 -213
  548. package/src/tx/validator/error_texts.ts +1 -1
  549. package/src/update-checker/update-checker.ts +1 -1
  550. package/src/validators/schemas.ts +6 -4
  551. package/src/validators/types.ts +9 -10
  552. package/src/versioning/versioning.ts +20 -15
  553. package/src/world-state/index.ts +1 -0
  554. package/src/world-state/world_state_revision.ts +21 -0
  555. package/src/zkpassport/index.ts +42 -30
  556. package/dest/avm/public_data_hint.d.ts +0 -16
  557. package/dest/avm/public_data_hint.d.ts.map +0 -1
  558. package/dest/avm/public_data_hint.js +0 -27
  559. package/dest/interfaces/pxe.d.ts +0 -329
  560. package/dest/interfaces/pxe.d.ts.map +0 -1
  561. package/dest/interfaces/pxe.js +0 -100
  562. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  563. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  564. package/dest/logs/indexed_tagging_secret.js +0 -50
  565. package/dest/note/extended_note.d.ts +0 -111
  566. package/dest/note/extended_note.d.ts.map +0 -1
  567. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  568. package/dest/parity/root_parity_input.d.ts +0 -52
  569. package/dest/parity/root_parity_input.d.ts.map +0 -1
  570. package/dest/parity/root_parity_input.js +0 -50
  571. package/dest/parity/root_parity_inputs.d.ts +0 -37
  572. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  573. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  574. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  575. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  576. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  577. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  578. package/dest/rollup/block_root_rollup.d.ts +0 -283
  579. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  580. package/dest/rollup/block_root_rollup.js +0 -306
  581. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  582. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  583. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  584. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  585. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  586. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  587. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  588. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  589. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  590. package/dest/rollup/previous_rollup_block_data.js +0 -37
  591. package/dest/rollup/previous_rollup_data.d.ts +0 -47
  592. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  593. package/dest/rollup/previous_rollup_data.js +0 -37
  594. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
  595. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  596. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  597. package/dest/rollup/private_tube_data.d.ts +0 -15
  598. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  599. package/dest/rollup/private_tube_data.js +0 -25
  600. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
  601. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  602. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  603. package/dest/rollup/public_tube_data.d.ts +0 -15
  604. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  605. package/dest/rollup/public_tube_data.js +0 -25
  606. package/dest/rollup/root_rollup.d.ts +0 -106
  607. package/dest/rollup/root_rollup.d.ts.map +0 -1
  608. package/dest/rollup/root_rollup.js +0 -147
  609. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  610. package/dest/rollup/state_diff_hints.js +0 -85
  611. package/dest/rollup/tube_inputs.d.ts +0 -43
  612. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  613. package/dest/rollup/tube_inputs.js +0 -63
  614. package/dest/trees/protocol_contract_leaf.d.ts +0 -84
  615. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  616. package/dest/trees/protocol_contract_leaf.js +0 -100
  617. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  618. package/src/avm/public_data_hint.ts +0 -38
  619. package/src/interfaces/pxe.ts +0 -532
  620. package/src/logs/indexed_tagging_secret.ts +0 -48
  621. package/src/parity/root_parity_input.ts +0 -71
  622. package/src/rollup/block_root_rollup.ts +0 -380
  623. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  624. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  625. package/src/rollup/previous_rollup_block_data.ts +0 -48
  626. package/src/rollup/previous_rollup_data.ts +0 -48
  627. package/src/rollup/private_base_rollup_inputs.ts +0 -53
  628. package/src/rollup/private_tube_data.ts +0 -35
  629. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  630. package/src/rollup/public_tube_data.ts +0 -35
  631. package/src/rollup/root_rollup.ts +0 -195
  632. package/src/rollup/tube_inputs.ts +0 -77
  633. package/src/trees/protocol_contract_leaf.ts +0 -128
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "3.0.0-canary.a9708bd",
3
+ "version": "3.0.0-devnet.3",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -39,6 +39,7 @@
39
39
  "./auth-witness": "./dest/auth_witness/index.js",
40
40
  "./block": "./dest/block/index.js",
41
41
  "./block/test": "./dest/block/test/index.js",
42
+ "./checkpoint": "./dest/checkpoint/index.js",
42
43
  "./versioning": "./dest/versioning/index.js",
43
44
  "./interfaces/client": "./dest/interfaces/client.js",
44
45
  "./interfaces/server": "./dest/interfaces/server.js",
@@ -52,7 +53,8 @@
52
53
  "./update-checker": "./dest/update-checker/index.js",
53
54
  "./zkpassport": "./dest/zkpassport/index.js",
54
55
  "./slashing": "./dest/slashing/index.js",
55
- "./l1-contracts": "./dest/l1-contracts/index.js"
56
+ "./l1-contracts": "./dest/l1-contracts/index.js",
57
+ "./world-state": "./dest/world-state/index.js"
56
58
  },
57
59
  "typedocOptions": {
58
60
  "entryPoints": [
@@ -69,15 +71,16 @@
69
71
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
70
72
  },
71
73
  "dependencies": {
72
- "@aztec/bb.js": "3.0.0-canary.a9708bd",
73
- "@aztec/blob-lib": "3.0.0-canary.a9708bd",
74
- "@aztec/constants": "3.0.0-canary.a9708bd",
75
- "@aztec/ethereum": "3.0.0-canary.a9708bd",
76
- "@aztec/foundation": "3.0.0-canary.a9708bd",
77
- "@aztec/l1-artifacts": "3.0.0-canary.a9708bd",
78
- "@aztec/noir-noirc_abi": "3.0.0-canary.a9708bd",
74
+ "@aws-sdk/client-s3": "^3.892.0",
75
+ "@aztec/bb.js": "3.0.0-devnet.3",
76
+ "@aztec/blob-lib": "3.0.0-devnet.3",
77
+ "@aztec/constants": "3.0.0-devnet.3",
78
+ "@aztec/ethereum": "3.0.0-devnet.3",
79
+ "@aztec/foundation": "3.0.0-devnet.3",
80
+ "@aztec/l1-artifacts": "3.0.0-devnet.3",
81
+ "@aztec/noir-noirc_abi": "3.0.0-devnet.3",
79
82
  "@google-cloud/storage": "^7.15.0",
80
- "axios": "^1.9.0",
83
+ "axios": "^1.12.0",
81
84
  "json-stringify-deterministic": "1.0.12",
82
85
  "lodash.chunk": "^4.2.0",
83
86
  "lodash.isequal": "^4.5.0",
@@ -86,12 +89,13 @@
86
89
  "msgpackr": "^1.11.2",
87
90
  "pako": "^2.1.0",
88
91
  "tslib": "^2.4.0",
89
- "viem": "2.23.7",
92
+ "viem": "npm:@spalladino/viem@2.38.2-eip7594.0",
90
93
  "zod": "^3.23.8"
91
94
  },
92
95
  "devDependencies": {
93
96
  "@jest/expect": "^30.0.0",
94
97
  "@jest/globals": "^30.0.0",
98
+ "@libp2p/interface": "1.3.1",
95
99
  "@types/jest": "^30.0.0",
96
100
  "@types/lodash.chunk": "^4.2.9",
97
101
  "@types/lodash.isequal": "^4.5.8",
package/src/abi/abi.ts CHANGED
@@ -195,7 +195,7 @@ export const FunctionAbiSchema = z.object({
195
195
  isInitializer: z.boolean(),
196
196
  parameters: z.array(z.object({ name: z.string(), type: AbiTypeSchema, visibility: z.enum(ABIParameterVisibility) })),
197
197
  returnTypes: z.array(AbiTypeSchema),
198
- errorTypes: z.record(AbiErrorTypeSchema),
198
+ errorTypes: z.record(z.string(), AbiErrorTypeSchema.optional()),
199
199
  }) satisfies z.ZodType<FunctionAbi>;
200
200
 
201
201
  /** Debug metadata for a function. */
@@ -283,6 +283,9 @@ function getStorageLayout(input: NoirCompiledContract) {
283
283
  */
284
284
  function generateContractArtifact(contract: NoirCompiledContract): ContractArtifact {
285
285
  try {
286
+ if (!contract.transpiled) {
287
+ throw new Error("Contract's public bytecode has not been transpiled");
288
+ }
286
289
  return ContractArtifactSchema.parse({
287
290
  name: contract.name,
288
291
  functions: contract.functions.filter(f => retainBytecode(f)).map(f => generateFunctionArtifact(f, contract)),
@@ -0,0 +1,8 @@
1
+ import type { AbiType } from './abi.js';
2
+ import type { EventSelector } from './event_selector.js';
3
+
4
+ export type EventMetadataDefinition = {
5
+ eventSelector: EventSelector;
6
+ abiType: AbiType;
7
+ fieldNames: string[];
8
+ };
@@ -5,7 +5,7 @@ import { AztecAddress } from '../aztec-address/index.js';
5
5
  import { type AbiType, FunctionType } from './abi.js';
6
6
  import { FunctionSelector } from './function_selector.js';
7
7
 
8
- /** A request to call a function on a contract from a given address. */
8
+ /** A request to call a function on a contract. */
9
9
  export class FunctionCall {
10
10
  constructor(
11
11
  /** The name of the function to call */
@@ -16,6 +16,8 @@ export class FunctionCall {
16
16
  public selector: FunctionSelector,
17
17
  /** Type of the function */
18
18
  public type: FunctionType,
19
+ /** Only applicable for enqueued public function calls. `hideMsgSender = true` will set the msg_sender field (the caller's address) to "null", meaning the public function (and observers around the world) won't know which smart contract address made the call. */
20
+ public hideMsgSender: boolean,
19
21
  /** Whether this call can make modifications to state or not */
20
22
  public isStatic: boolean,
21
23
  /** The encoded args */
@@ -30,6 +32,7 @@ export class FunctionCall {
30
32
  fields.to,
31
33
  fields.selector,
32
34
  fields.type,
35
+ fields.hideMsgSender,
33
36
  fields.isStatic,
34
37
  fields.args,
35
38
  fields.returnTypes,
@@ -50,6 +53,7 @@ export class FunctionCall {
50
53
  to: AztecAddress.ZERO,
51
54
  selector: FunctionSelector.empty(),
52
55
  type: FunctionType.PUBLIC,
56
+ hideMsgSender: false,
53
57
  isStatic: false,
54
58
  args: [],
55
59
  returnTypes: [],
package/src/abi/index.ts CHANGED
@@ -3,6 +3,7 @@ export * from './buffer.js';
3
3
  export * from './decoder.js';
4
4
  export * from './encoder.js';
5
5
  export * from './authorization_selector.js';
6
+ export * from './event_metadata_definition.js';
6
7
  export * from './event_selector.js';
7
8
  export * from './function_selector.js';
8
9
  export * from './note_selector.js';
package/src/avm/avm.ts CHANGED
@@ -15,7 +15,13 @@ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
15
15
  import { MerkleTreeId } from '../trees/merkle_tree_id.js';
16
16
  import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
17
17
  import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
18
- import { GlobalVariables, PublicCallRequestWithCalldata, TreeSnapshots, type Tx } from '../tx/index.js';
18
+ import {
19
+ GlobalVariables,
20
+ ProtocolContracts,
21
+ PublicCallRequestWithCalldata,
22
+ TreeSnapshots,
23
+ type Tx,
24
+ } from '../tx/index.js';
19
25
  import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
20
26
  import { serializeWithMessagePack } from './message_pack.js';
21
27
 
@@ -408,15 +414,12 @@ export class AvmTxHint {
408
414
  public readonly feePayer: AztecAddress,
409
415
  ) {}
410
416
 
411
- static fromTx(tx: Tx): AvmTxHint {
417
+ static fromTx(tx: Tx, gasFees: GasFees): AvmTxHint {
412
418
  const setupCallRequests = tx.getNonRevertiblePublicCallRequestsWithCalldata();
413
419
  const appLogicCallRequests = tx.getRevertiblePublicCallRequestsWithCalldata();
414
420
  const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
415
421
  const gasSettings = tx.data.constants.txContext.gasSettings;
416
- const effectiveGasFees = computeEffectiveGasFees(
417
- tx.data.constants.historicalHeader.globalVariables.gasFees,
418
- gasSettings,
419
- );
422
+ const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
420
423
 
421
424
  // For informational purposes. Assumed quick because it should be cached.
422
425
  const txHash = tx.getTxHash();
@@ -513,6 +516,8 @@ export class AvmExecutionHints {
513
516
  constructor(
514
517
  public readonly globalVariables: GlobalVariables,
515
518
  public tx: AvmTxHint,
519
+ // Protocol contracts.
520
+ public protocolContracts: ProtocolContracts,
516
521
  // Contract hints.
517
522
  public readonly contractInstances: AvmContractInstanceHint[] = [],
518
523
  public readonly contractClasses: AvmContractClassHint[] = [],
@@ -533,7 +538,7 @@ export class AvmExecutionHints {
533
538
  ) {}
534
539
 
535
540
  static empty() {
536
- return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty());
541
+ return new AvmExecutionHints(GlobalVariables.empty(), AvmTxHint.empty(), ProtocolContracts.empty());
537
542
  }
538
543
 
539
544
  static get schema() {
@@ -541,6 +546,7 @@ export class AvmExecutionHints {
541
546
  .object({
542
547
  globalVariables: GlobalVariables.schema,
543
548
  tx: AvmTxHint.schema,
549
+ protocolContracts: ProtocolContracts.schema,
544
550
  contractInstances: AvmContractInstanceHint.schema.array(),
545
551
  contractClasses: AvmContractClassHint.schema.array(),
546
552
  bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
@@ -561,6 +567,7 @@ export class AvmExecutionHints {
561
567
  ({
562
568
  globalVariables,
563
569
  tx,
570
+ protocolContracts,
564
571
  contractInstances,
565
572
  contractClasses,
566
573
  bytecodeCommitments,
@@ -580,6 +587,7 @@ export class AvmExecutionHints {
580
587
  new AvmExecutionHints(
581
588
  globalVariables,
582
589
  tx,
590
+ protocolContracts,
583
591
  contractInstances,
584
592
  contractClasses,
585
593
  bytecodeCommitments,
@@ -3,7 +3,6 @@ import {
3
3
  MAX_L2_TO_L1_MSGS_PER_TX,
4
4
  MAX_NOTE_HASHES_PER_TX,
5
5
  MAX_NULLIFIERS_PER_TX,
6
- MAX_PUBLIC_LOGS_PER_TX,
7
6
  MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
8
7
  } from '@aztec/constants';
9
8
  import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
@@ -23,7 +22,8 @@ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
23
22
  import { inspect } from 'util';
24
23
  import { z } from 'zod';
25
24
 
26
- import { PublicLog } from '../logs/public_log.js';
25
+ import { countAccumulatedItems } from '../kernel/utils/index.js';
26
+ import { FlatPublicLogs } from '../logs/public_log.js';
27
27
  import { ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
28
28
  import { PublicDataWrite } from './public_data_write.js';
29
29
 
@@ -44,7 +44,7 @@ export class AvmAccumulatedData {
44
44
  /**
45
45
  * The public logs emitted from the AVM execution.
46
46
  */
47
- public publicLogs: Tuple<PublicLog, typeof MAX_PUBLIC_LOGS_PER_TX>,
47
+ public publicLogs: FlatPublicLogs,
48
48
  /**
49
49
  * The public data writes made in the AVM execution.
50
50
  */
@@ -57,7 +57,7 @@ export class AvmAccumulatedData {
57
57
  noteHashes: schemas.Fr.array().min(MAX_NOTE_HASHES_PER_TX).max(MAX_NOTE_HASHES_PER_TX),
58
58
  nullifiers: schemas.Fr.array().min(MAX_NULLIFIERS_PER_TX).max(MAX_NULLIFIERS_PER_TX),
59
59
  l2ToL1Msgs: ScopedL2ToL1Message.schema.array().min(MAX_L2_TO_L1_MSGS_PER_TX).max(MAX_L2_TO_L1_MSGS_PER_TX),
60
- publicLogs: PublicLog.schema.array().min(MAX_PUBLIC_LOGS_PER_TX).max(MAX_PUBLIC_LOGS_PER_TX),
60
+ publicLogs: FlatPublicLogs.schema,
61
61
  publicDataWrites: PublicDataWrite.schema
62
62
  .array()
63
63
  .min(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX)
@@ -69,7 +69,7 @@ export class AvmAccumulatedData {
69
69
  assertLength(noteHashes, MAX_NOTE_HASHES_PER_TX),
70
70
  assertLength(nullifiers, MAX_NULLIFIERS_PER_TX),
71
71
  assertLength(l2ToL1Msgs, MAX_L2_TO_L1_MSGS_PER_TX),
72
- assertLength(publicLogs, MAX_PUBLIC_LOGS_PER_TX),
72
+ publicLogs,
73
73
  assertLength(publicDataWrites, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX),
74
74
  ),
75
75
  );
@@ -80,7 +80,7 @@ export class AvmAccumulatedData {
80
80
  arraySerializedSizeOfNonEmpty(this.noteHashes) +
81
81
  arraySerializedSizeOfNonEmpty(this.nullifiers) +
82
82
  arraySerializedSizeOfNonEmpty(this.l2ToL1Msgs) +
83
- arraySerializedSizeOfNonEmpty(this.publicLogs) +
83
+ this.publicLogs.toBuffer().length +
84
84
  arraySerializedSizeOfNonEmpty(this.publicDataWrites)
85
85
  );
86
86
  }
@@ -91,7 +91,7 @@ export class AvmAccumulatedData {
91
91
  reader.readArray(MAX_NOTE_HASHES_PER_TX, Fr),
92
92
  reader.readArray(MAX_NULLIFIERS_PER_TX, Fr),
93
93
  reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message),
94
- reader.readArray(MAX_PUBLIC_LOGS_PER_TX, PublicLog),
94
+ reader.readObject(FlatPublicLogs),
95
95
  reader.readArray(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite),
96
96
  );
97
97
  }
@@ -116,7 +116,7 @@ export class AvmAccumulatedData {
116
116
  reader.readFieldArray(MAX_NOTE_HASHES_PER_TX),
117
117
  reader.readFieldArray(MAX_NULLIFIERS_PER_TX),
118
118
  reader.readArray(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message),
119
- reader.readArray(MAX_PUBLIC_LOGS_PER_TX, PublicLog),
119
+ reader.readObject(FlatPublicLogs),
120
120
  reader.readArray(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite),
121
121
  );
122
122
  }
@@ -144,7 +144,7 @@ export class AvmAccumulatedData {
144
144
  makeTuple(MAX_NOTE_HASHES_PER_TX, Fr.zero),
145
145
  makeTuple(MAX_NULLIFIERS_PER_TX, Fr.zero),
146
146
  makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, ScopedL2ToL1Message.empty),
147
- makeTuple(MAX_PUBLIC_LOGS_PER_TX, PublicLog.empty),
147
+ FlatPublicLogs.empty(),
148
148
  makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite.empty),
149
149
  );
150
150
  }
@@ -154,7 +154,7 @@ export class AvmAccumulatedData {
154
154
  this.noteHashes.every(x => x.isZero()) &&
155
155
  this.nullifiers.every(x => x.isZero()) &&
156
156
  this.l2ToL1Msgs.every(x => x.isEmpty()) &&
157
- this.publicLogs.every(x => x.isEmpty()) &&
157
+ this.publicLogs.isEmpty() &&
158
158
  this.publicDataWrites.every(x => x.isEmpty())
159
159
  );
160
160
  }
@@ -175,6 +175,7 @@ export class AvmAccumulatedData {
175
175
  .map(h => inspect(h))
176
176
  .join(', ')}],
177
177
  publicLogs: [${this.publicLogs
178
+ .toLogs()
178
179
  .filter(x => !x.isEmpty())
179
180
  .map(h => inspect(h))
180
181
  .join(', ')}],
@@ -184,6 +185,15 @@ export class AvmAccumulatedData {
184
185
  .join(', ')}],
185
186
  }`;
186
187
  }
188
+
189
+ getArrayLengths() {
190
+ return new AvmAccumulatedDataArrayLengths(
191
+ countAccumulatedItems(this.noteHashes),
192
+ countAccumulatedItems(this.nullifiers),
193
+ countAccumulatedItems(this.l2ToL1Msgs),
194
+ countAccumulatedItems(this.publicDataWrites),
195
+ );
196
+ }
187
197
  }
188
198
 
189
199
  /**
@@ -203,10 +213,6 @@ export class AvmAccumulatedDataArrayLengths {
203
213
  * Number of L2 to L1 messages
204
214
  */
205
215
  public l2ToL1Msgs: number,
206
- /**
207
- * Number of public logs
208
- */
209
- public publicLogs: number,
210
216
  /**
211
217
  * Number of public data writes
212
218
  */
@@ -219,12 +225,11 @@ export class AvmAccumulatedDataArrayLengths {
219
225
  noteHashes: z.number(),
220
226
  nullifiers: z.number(),
221
227
  l2ToL1Msgs: z.number(),
222
- publicLogs: z.number(),
223
228
  publicDataWrites: z.number(),
224
229
  })
225
230
  .transform(
226
- ({ noteHashes, nullifiers, l2ToL1Msgs, publicLogs, publicDataWrites }) =>
227
- new AvmAccumulatedDataArrayLengths(noteHashes, nullifiers, l2ToL1Msgs, publicLogs, publicDataWrites),
231
+ ({ noteHashes, nullifiers, l2ToL1Msgs, publicDataWrites }) =>
232
+ new AvmAccumulatedDataArrayLengths(noteHashes, nullifiers, l2ToL1Msgs, publicDataWrites),
228
233
  );
229
234
  }
230
235
 
@@ -235,12 +240,11 @@ export class AvmAccumulatedDataArrayLengths {
235
240
  reader.readNumber(),
236
241
  reader.readNumber(),
237
242
  reader.readNumber(),
238
- reader.readNumber(),
239
243
  );
240
244
  }
241
245
 
242
246
  toBuffer() {
243
- return serializeToBuffer(this.noteHashes, this.nullifiers, this.l2ToL1Msgs, this.publicLogs, this.publicDataWrites);
247
+ return serializeToBuffer(this.noteHashes, this.nullifiers, this.l2ToL1Msgs, this.publicDataWrites);
244
248
  }
245
249
 
246
250
  static fromFields(fields: Fr[] | FieldReader) {
@@ -250,22 +254,15 @@ export class AvmAccumulatedDataArrayLengths {
250
254
  Number(reader.readField()),
251
255
  Number(reader.readField()),
252
256
  Number(reader.readField()),
253
- Number(reader.readField()),
254
257
  );
255
258
  }
256
259
 
257
260
  toFields(): Fr[] {
258
- return [
259
- new Fr(this.noteHashes),
260
- new Fr(this.nullifiers),
261
- new Fr(this.l2ToL1Msgs),
262
- new Fr(this.publicLogs),
263
- new Fr(this.publicDataWrites),
264
- ];
261
+ return [new Fr(this.noteHashes), new Fr(this.nullifiers), new Fr(this.l2ToL1Msgs), new Fr(this.publicDataWrites)];
265
262
  }
266
263
 
267
264
  static empty() {
268
- return new AvmAccumulatedDataArrayLengths(0, 0, 0, 0, 0);
265
+ return new AvmAccumulatedDataArrayLengths(0, 0, 0, 0);
269
266
  }
270
267
 
271
268
  [inspect.custom]() {
@@ -273,7 +270,6 @@ export class AvmAccumulatedDataArrayLengths {
273
270
  noteHashes: ${this.noteHashes},
274
271
  nullifiers: ${this.nullifiers},
275
272
  l2ToL1Msgs: ${this.l2ToL1Msgs},
276
- publicLogs: ${this.publicLogs},
277
273
  publicDataWrites: ${this.publicDataWrites},
278
274
  }`;
279
275
  }
@@ -16,6 +16,7 @@ import {
16
16
  } from '../kernel/private_to_avm_accumulated_data.js';
17
17
  import { PublicCallRequest, PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
18
18
  import { GlobalVariables } from '../tx/global_variables.js';
19
+ import { ProtocolContracts } from '../tx/protocol_contracts.js';
19
20
  import { TreeSnapshots } from '../tx/tree_snapshots.js';
20
21
  import { AvmAccumulatedData, AvmAccumulatedDataArrayLengths } from './avm_accumulated_data.js';
21
22
  import { serializeWithMessagePack } from './message_pack.js';
@@ -27,11 +28,13 @@ export class AvmCircuitPublicInputs {
27
28
  ///////////////////////////////////
28
29
  // Inputs.
29
30
  public globalVariables: GlobalVariables,
31
+ public protocolContracts: ProtocolContracts,
30
32
  public startTreeSnapshots: TreeSnapshots,
31
33
  public startGasUsed: Gas,
32
34
  public gasSettings: GasSettings,
33
35
  public effectiveGasFees: GasFees,
34
36
  public feePayer: AztecAddress,
37
+ public proverId: Fr,
35
38
  public publicCallRequestArrayLengths: PublicCallRequestArrayLengths,
36
39
  public publicSetupCallRequests: Tuple<PublicCallRequest, typeof MAX_ENQUEUED_CALLS_PER_TX>,
37
40
  public publicAppLogicCallRequests: Tuple<PublicCallRequest, typeof MAX_ENQUEUED_CALLS_PER_TX>,
@@ -54,11 +57,13 @@ export class AvmCircuitPublicInputs {
54
57
  return z
55
58
  .object({
56
59
  globalVariables: GlobalVariables.schema,
60
+ protocolContracts: ProtocolContracts.schema,
57
61
  startTreeSnapshots: TreeSnapshots.schema,
58
62
  startGasUsed: Gas.schema,
59
63
  gasSettings: GasSettings.schema,
60
64
  effectiveGasFees: GasFees.schema,
61
65
  feePayer: AztecAddress.schema,
66
+ proverId: Fr.schema,
62
67
  publicCallRequestArrayLengths: PublicCallRequestArrayLengths.schema,
63
68
  publicSetupCallRequests: PublicCallRequest.schema.array().max(MAX_ENQUEUED_CALLS_PER_TX),
64
69
  publicAppLogicCallRequests: PublicCallRequest.schema.array().max(MAX_ENQUEUED_CALLS_PER_TX),
@@ -77,11 +82,13 @@ export class AvmCircuitPublicInputs {
77
82
  .transform(
78
83
  ({
79
84
  globalVariables,
85
+ protocolContracts,
80
86
  startTreeSnapshots,
81
87
  startGasUsed,
82
88
  gasSettings,
83
89
  effectiveGasFees,
84
90
  feePayer,
91
+ proverId,
85
92
  publicCallRequestArrayLengths,
86
93
  publicSetupCallRequests,
87
94
  publicAppLogicCallRequests,
@@ -99,11 +106,13 @@ export class AvmCircuitPublicInputs {
99
106
  }) =>
100
107
  new AvmCircuitPublicInputs(
101
108
  globalVariables,
109
+ protocolContracts,
102
110
  startTreeSnapshots,
103
111
  startGasUsed,
104
112
  gasSettings,
105
113
  effectiveGasFees,
106
114
  feePayer,
115
+ proverId,
107
116
  publicCallRequestArrayLengths,
108
117
  assertLength(publicSetupCallRequests, MAX_ENQUEUED_CALLS_PER_TX),
109
118
  assertLength(publicAppLogicCallRequests, MAX_ENQUEUED_CALLS_PER_TX),
@@ -126,11 +135,13 @@ export class AvmCircuitPublicInputs {
126
135
  const reader = BufferReader.asReader(buffer);
127
136
  return new AvmCircuitPublicInputs(
128
137
  reader.readObject(GlobalVariables),
138
+ reader.readObject(ProtocolContracts),
129
139
  reader.readObject(TreeSnapshots),
130
140
  reader.readObject(Gas),
131
141
  reader.readObject(GasSettings),
132
142
  reader.readObject(GasFees),
133
143
  reader.readObject(AztecAddress),
144
+ reader.readObject(Fr),
134
145
  reader.readObject(PublicCallRequestArrayLengths),
135
146
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
136
147
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
@@ -151,11 +162,13 @@ export class AvmCircuitPublicInputs {
151
162
  toBuffer() {
152
163
  return serializeToBuffer(
153
164
  this.globalVariables,
165
+ this.protocolContracts,
154
166
  this.startTreeSnapshots,
155
167
  this.startGasUsed,
156
168
  this.gasSettings,
157
169
  this.effectiveGasFees,
158
170
  this.feePayer,
171
+ this.proverId,
159
172
  this.publicCallRequestArrayLengths,
160
173
  this.publicSetupCallRequests,
161
174
  this.publicAppLogicCallRequests,
@@ -185,11 +198,13 @@ export class AvmCircuitPublicInputs {
185
198
  const reader = FieldReader.asReader(fields);
186
199
  return new AvmCircuitPublicInputs(
187
200
  GlobalVariables.fromFields(reader),
201
+ ProtocolContracts.fromFields(reader),
188
202
  TreeSnapshots.fromFields(reader),
189
203
  Gas.fromFields(reader),
190
204
  GasSettings.fromFields(reader),
191
205
  GasFees.fromFields(reader),
192
206
  AztecAddress.fromFields(reader),
207
+ reader.readField(),
193
208
  PublicCallRequestArrayLengths.fromFields(reader),
194
209
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
195
210
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
@@ -210,11 +225,13 @@ export class AvmCircuitPublicInputs {
210
225
  toFields() {
211
226
  return [
212
227
  ...this.globalVariables.toFields(),
228
+ ...this.protocolContracts.toFields(),
213
229
  ...this.startTreeSnapshots.toFields(),
214
230
  ...this.startGasUsed.toFields(),
215
231
  ...this.gasSettings.toFields(),
216
232
  ...this.effectiveGasFees.toFields(),
217
233
  this.feePayer,
234
+ this.proverId,
218
235
  ...this.publicCallRequestArrayLengths.toFields(),
219
236
  ...this.publicSetupCallRequests.map(request => request.toFields()),
220
237
  ...this.publicAppLogicCallRequests.map(request => request.toFields()),
@@ -235,11 +252,13 @@ export class AvmCircuitPublicInputs {
235
252
  static empty() {
236
253
  return new AvmCircuitPublicInputs(
237
254
  GlobalVariables.empty(),
255
+ ProtocolContracts.empty(),
238
256
  TreeSnapshots.empty(),
239
257
  Gas.empty(),
240
258
  GasSettings.empty(),
241
259
  GasFees.empty(),
242
260
  AztecAddress.zero(),
261
+ Fr.zero(),
243
262
  PublicCallRequestArrayLengths.empty(),
244
263
  makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty),
245
264
  makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty),
@@ -264,11 +283,13 @@ export class AvmCircuitPublicInputs {
264
283
  [inspect.custom]() {
265
284
  return `AvmCircuitPublicInputs {
266
285
  globalVariables: ${inspect(this.globalVariables)},
286
+ protocolContracts: ${inspect(this.protocolContracts)},
267
287
  startTreeSnapshots: ${inspect(this.startTreeSnapshots)},
268
288
  startGasUsed: ${inspect(this.startGasUsed)},
269
289
  gasSettings: ${inspect(this.gasSettings)},
270
290
  effectiveGasFees: ${inspect(this.effectiveGasFees)},
271
291
  feePayer: ${inspect(this.feePayer)},
292
+ proverId: ${inspect(this.proverId)},
272
293
  publicCallRequestArrayLengths: ${inspect(this.publicCallRequestArrayLengths)},
273
294
  publicSetupCallRequests: [${this.publicSetupCallRequests
274
295
  .filter(x => !x.isEmpty())
package/src/avm/index.ts CHANGED
@@ -3,10 +3,10 @@ export * from './avm_accumulated_data.js';
3
3
  export * from './avm_circuit_public_inputs.js';
4
4
  export * from './revert_code.js';
5
5
  export * from './public_data_write.js';
6
- export * from './public_data_hint.js';
7
6
  export * from './public_data_update_request.js';
8
7
  export * from './contract_storage_update_request.js';
9
8
  export * from './contract_storage_read.js';
10
9
  export * from './public_inner_call_request.js';
11
10
  export * from './public_call_stack_item_compressed.js';
12
11
  export * from './avm_proving_request.js';
12
+ export * from './message_pack.js';
@@ -2,7 +2,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import { Fq, Fr, Point } from '@aztec/foundation/fields';
3
3
 
4
4
  import { strict as assert } from 'assert';
5
- import { Encoder, addExtension } from 'msgpackr';
5
+ import { Decoder, Encoder, addExtension } from 'msgpackr';
6
6
 
7
7
  import { AztecAddress } from '../aztec-address/index.js';
8
8
 
@@ -18,6 +18,16 @@ export function serializeWithMessagePack(obj: any): Buffer {
18
18
  return encoder.encode(obj);
19
19
  }
20
20
 
21
+ export function deserializeFromMessagePack<T>(buffer: Buffer): T {
22
+ setUpMessagePackExtensions();
23
+ const decoder = new Decoder({
24
+ useRecords: false,
25
+ int64AsType: 'bigint',
26
+ largeBigIntToString: true,
27
+ });
28
+ return decoder.decode(buffer);
29
+ }
30
+
21
31
  let messagePackWasSetUp = false;
22
32
  function setUpMessagePackExtensions() {
23
33
  if (messagePackWasSetUp) {
@@ -27,15 +37,24 @@ function setUpMessagePackExtensions() {
27
37
  addExtension({
28
38
  Class: Fr,
29
39
  write: (fr: Fr) => fr.toBuffer(),
40
+ read: (data: Buffer) => Fr.fromBuffer(data),
30
41
  });
31
42
  addExtension({
32
43
  Class: Fq,
33
44
  write: (fq: Fq) => fq.toBuffer(),
45
+ read: (data: Buffer) => Fq.fromBuffer(data),
34
46
  });
35
47
  // AztecAddress is a class that has a field in TS, but is itself a field in C++.
36
48
  addExtension({
37
49
  Class: AztecAddress,
38
50
  write: (addr: AztecAddress) => addr.toField(),
51
+ read: (data: Fr | Buffer) => {
52
+ // If C++ sent it as Fr, wrap it. If as buffer, construct from buffer.
53
+ if (data instanceof Fr) {
54
+ return new AztecAddress(data);
55
+ }
56
+ return new AztecAddress(Fr.fromBuffer(data));
57
+ },
39
58
  });
40
59
  // Affine points are a mess, we do our best.
41
60
  addExtension({
@@ -45,11 +64,16 @@ function setUpMessagePackExtensions() {
45
64
  // TODO: should these be Frs?
46
65
  return { x: new Fq(p.x.toBigInt()), y: new Fq(p.y.toBigInt()) };
47
66
  },
67
+ read: (data: { x: Fq; y: Fq }) => {
68
+ // Convert Fq back to Fr for Point constructor
69
+ return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()), false);
70
+ },
48
71
  });
49
72
  // EthAddress is a class that has a buffer in TS, but is itself just a field in C++.
50
73
  addExtension({
51
74
  Class: EthAddress,
52
75
  write: (addr: EthAddress) => addr.toField().toBuffer(),
76
+ read: (data: Buffer) => EthAddress.fromField(Fr.fromBuffer(data)),
53
77
  });
54
78
  messagePackWasSetUp = true;
55
79
  }