@aztec/stdlib 2.1.0-rc.9 → 3.0.0-devnet.2

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 (550) 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 +131 -72
  14. package/dest/avm/avm.d.ts.map +1 -1
  15. package/dest/avm/avm.js +8 -4
  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/index.d.ts +2 -0
  37. package/dest/block/index.d.ts.map +1 -1
  38. package/dest/block/index.js +2 -0
  39. package/dest/block/l2_block.d.ts +19 -5
  40. package/dest/block/l2_block.d.ts.map +1 -1
  41. package/dest/block/l2_block.js +28 -7
  42. package/dest/block/l2_block_code_to_purge.d.ts +3 -14
  43. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  44. package/dest/block/l2_block_code_to_purge.js +23 -13
  45. package/dest/block/l2_block_header.d.ts +100 -0
  46. package/dest/block/l2_block_header.d.ts.map +1 -0
  47. package/dest/block/l2_block_header.js +146 -0
  48. package/dest/block/l2_block_source.d.ts +29 -0
  49. package/dest/block/l2_block_source.d.ts.map +1 -1
  50. package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
  51. package/dest/block/proposal/attestations_and_signers.d.ts +1 -1
  52. package/dest/block/proposal/attestations_and_signers.js +1 -1
  53. package/dest/block/proposal/committee_attestation.d.ts +0 -1
  54. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  55. package/dest/block/proposal/committee_attestation.js +0 -3
  56. package/dest/block/published_l2_block.d.ts +2 -8
  57. package/dest/block/published_l2_block.d.ts.map +1 -1
  58. package/dest/block/published_l2_block.js +0 -9
  59. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  60. package/dest/block/test/l2_tips_store_test_suite.js +1 -3
  61. package/dest/checkpoint/checkpoint_body.d.ts +4 -0
  62. package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
  63. package/dest/checkpoint/checkpoint_body.js +9 -0
  64. package/dest/checkpoint/index.d.ts +2 -0
  65. package/dest/checkpoint/index.d.ts.map +1 -0
  66. package/dest/checkpoint/index.js +1 -0
  67. package/dest/config/node-rpc-config.d.ts +2 -0
  68. package/dest/config/node-rpc-config.d.ts.map +1 -1
  69. package/dest/config/node-rpc-config.js +6 -0
  70. package/dest/contract/contract_address.d.ts +1 -1
  71. package/dest/contract/contract_address.js +1 -1
  72. package/dest/contract/contract_class_metadata.d.ts +8 -0
  73. package/dest/contract/contract_class_metadata.d.ts.map +1 -0
  74. package/dest/contract/contract_class_metadata.js +1 -0
  75. package/dest/contract/contract_instance.d.ts +9 -8
  76. package/dest/contract/contract_instance.d.ts.map +1 -1
  77. package/dest/contract/contract_instance.js +1 -2
  78. package/dest/contract/contract_metadata.d.ts +7 -0
  79. package/dest/contract/contract_metadata.d.ts.map +1 -0
  80. package/dest/contract/contract_metadata.js +1 -0
  81. package/dest/contract/index.d.ts +2 -0
  82. package/dest/contract/index.d.ts.map +1 -1
  83. package/dest/contract/index.js +2 -0
  84. package/dest/contract/interfaces/contract_class.d.ts +1 -1
  85. package/dest/contract/interfaces/contract_instance.d.ts +2 -2
  86. package/dest/hash/hash.d.ts.map +1 -1
  87. package/dest/hash/hash.js +0 -3
  88. package/dest/interfaces/archiver.d.ts +1 -1
  89. package/dest/interfaces/archiver.d.ts.map +1 -1
  90. package/dest/interfaces/archiver.js +7 -0
  91. package/dest/interfaces/aztec-node-admin.d.ts +40 -36
  92. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  93. package/dest/interfaces/aztec-node-admin.js +2 -2
  94. package/dest/interfaces/aztec-node.d.ts +30 -0
  95. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  96. package/dest/interfaces/aztec-node.js +7 -1
  97. package/dest/interfaces/block-builder.d.ts +1 -2
  98. package/dest/interfaces/block-builder.d.ts.map +1 -1
  99. package/dest/interfaces/client.d.ts +0 -1
  100. package/dest/interfaces/client.d.ts.map +1 -1
  101. package/dest/interfaces/client.js +0 -1
  102. package/dest/interfaces/configs.d.ts +5 -0
  103. package/dest/interfaces/configs.d.ts.map +1 -1
  104. package/dest/interfaces/configs.js +1 -0
  105. package/dest/interfaces/epoch-prover.d.ts +26 -9
  106. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  107. package/dest/interfaces/merkle_tree_operations.d.ts +5 -0
  108. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  109. package/dest/interfaces/p2p.d.ts +2 -0
  110. package/dest/interfaces/p2p.d.ts.map +1 -1
  111. package/dest/interfaces/p2p.js +2 -1
  112. package/dest/interfaces/private_kernel_prover.d.ts +2 -2
  113. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  114. package/dest/interfaces/proving-job.d.ts +343 -194
  115. package/dest/interfaces/proving-job.d.ts.map +1 -1
  116. package/dest/interfaces/proving-job.js +131 -113
  117. package/dest/interfaces/server_circuit_prover.d.ts +34 -34
  118. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  119. package/dest/interfaces/tx_provider.d.ts +1 -1
  120. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  121. package/dest/interfaces/validator.d.ts +99 -3
  122. package/dest/interfaces/validator.d.ts.map +1 -1
  123. package/dest/interfaces/validator.js +7 -0
  124. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -2
  125. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  126. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -3
  127. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  128. package/dest/kernel/nullifier.d.ts +2 -2
  129. package/dest/kernel/nullifier.d.ts.map +1 -1
  130. package/dest/kernel/nullifier.js +11 -11
  131. package/dest/kernel/private_call_data.d.ts +4 -24
  132. package/dest/kernel/private_call_data.d.ts.map +1 -1
  133. package/dest/kernel/private_call_data.js +4 -16
  134. package/dest/kernel/private_circuit_public_inputs.d.ts +5 -5
  135. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  136. package/dest/kernel/private_circuit_public_inputs.js +7 -7
  137. package/dest/kernel/private_context_inputs.d.ts +2 -2
  138. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  139. package/dest/kernel/private_context_inputs.js +4 -4
  140. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
  141. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  142. package/dest/kernel/private_kernel_circuit_public_inputs.js +3 -3
  143. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +5 -4
  144. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  145. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  146. package/dest/kernel/private_kernel_prover_output.d.ts +1 -1
  147. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  148. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +1 -0
  149. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  150. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -1
  151. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -1
  152. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +2 -0
  153. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  154. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -0
  155. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +1 -1
  156. package/dest/keys/derivation.d.ts +0 -2
  157. package/dest/keys/derivation.d.ts.map +1 -1
  158. package/dest/keys/derivation.js +1 -21
  159. package/dest/logs/contract_class_log.d.ts +1 -1
  160. package/dest/logs/contract_class_log.d.ts.map +1 -1
  161. package/dest/logs/contract_class_log.js +1 -3
  162. package/dest/logs/debug_log.d.ts +13 -0
  163. package/dest/logs/debug_log.d.ts.map +1 -0
  164. package/dest/logs/debug_log.js +26 -0
  165. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  166. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  167. package/dest/logs/directional_app_tagging_secret.js +64 -0
  168. package/dest/logs/index.d.ts +3 -1
  169. package/dest/logs/index.d.ts.map +1 -1
  170. package/dest/logs/index.js +3 -1
  171. package/dest/logs/log_with_tx_data.d.ts +9 -12
  172. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  173. package/dest/logs/log_with_tx_data.js +18 -23
  174. package/dest/logs/pre_tag.d.ts +34 -0
  175. package/dest/logs/pre_tag.d.ts.map +1 -0
  176. package/dest/logs/pre_tag.js +7 -0
  177. package/dest/logs/public_log.d.ts +23 -10
  178. package/dest/logs/public_log.d.ts.map +1 -1
  179. package/dest/logs/public_log.js +117 -42
  180. package/dest/messaging/l2_to_l1_membership.d.ts +1 -1
  181. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  182. package/dest/messaging/l2_to_l1_membership.js +16 -18
  183. package/dest/noir/index.d.ts +11 -0
  184. package/dest/noir/index.d.ts.map +1 -1
  185. package/dest/note/index.d.ts +1 -1
  186. package/dest/note/index.d.ts.map +1 -1
  187. package/dest/note/index.js +1 -1
  188. package/dest/note/notes_filter.d.ts +0 -5
  189. package/dest/note/notes_filter.d.ts.map +1 -1
  190. package/dest/note/notes_filter.js +0 -3
  191. package/dest/note/unique_note.d.ts +43 -0
  192. package/dest/note/unique_note.d.ts.map +1 -0
  193. package/dest/note/{extended_note.js → unique_note.js} +9 -48
  194. package/dest/p2p/block_attestation.d.ts +13 -13
  195. package/dest/p2p/block_attestation.d.ts.map +1 -1
  196. package/dest/p2p/block_attestation.js +27 -25
  197. package/dest/p2p/block_proposal.d.ts +6 -8
  198. package/dest/p2p/block_proposal.d.ts.map +1 -1
  199. package/dest/p2p/block_proposal.js +10 -13
  200. package/dest/p2p/consensus_payload.d.ts +7 -6
  201. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  202. package/dest/p2p/consensus_payload.js +7 -6
  203. package/dest/parity/index.d.ts +2 -3
  204. package/dest/parity/index.d.ts.map +1 -1
  205. package/dest/parity/index.js +2 -3
  206. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +7 -7
  207. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  208. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  209. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  210. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  211. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  212. package/dest/proofs/client_ivc_proof.d.ts +17 -7
  213. package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
  214. package/dest/proofs/client_ivc_proof.js +78 -19
  215. package/dest/proofs/index.d.ts +1 -0
  216. package/dest/proofs/index.d.ts.map +1 -1
  217. package/dest/proofs/index.js +1 -0
  218. package/dest/proofs/proof_data.d.ts +21 -0
  219. package/dest/proofs/proof_data.d.ts.map +1 -0
  220. package/dest/proofs/proof_data.js +22 -0
  221. package/dest/proofs/proving_request_type.d.ts +17 -13
  222. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  223. package/dest/proofs/proving_request_type.js +17 -12
  224. package/dest/rollup/avm_proof_data.d.ts +2 -12
  225. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  226. package/dest/rollup/avm_proof_data.js +0 -24
  227. package/dest/rollup/base_rollup_hints.d.ts +17 -17
  228. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  229. package/dest/rollup/base_rollup_hints.js +26 -26
  230. package/dest/rollup/block_constant_data.d.ts +24 -10
  231. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  232. package/dest/rollup/block_constant_data.js +18 -10
  233. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +17 -10
  234. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  235. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  236. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  237. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  238. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  239. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  240. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  241. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  242. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  243. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  244. package/dest/rollup/checkpoint_constant_data.js +55 -0
  245. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +12 -13
  246. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  247. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
  248. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  249. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  250. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  251. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  252. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  253. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  254. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  255. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  256. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  257. package/dest/rollup/epoch_constant_data.d.ts +23 -6
  258. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  259. package/dest/rollup/epoch_constant_data.js +25 -12
  260. package/dest/rollup/index.d.ts +17 -16
  261. package/dest/rollup/index.d.ts.map +1 -1
  262. package/dest/rollup/index.js +17 -16
  263. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  264. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  265. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  266. package/dest/rollup/public_tube_private_inputs.d.ts +21 -0
  267. package/dest/rollup/public_tube_private_inputs.d.ts.map +1 -0
  268. package/dest/rollup/public_tube_private_inputs.js +42 -0
  269. package/dest/rollup/public_tube_public_inputs.d.ts +20 -0
  270. package/dest/rollup/public_tube_public_inputs.d.ts.map +1 -0
  271. package/dest/rollup/public_tube_public_inputs.js +41 -0
  272. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  273. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  274. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  275. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  276. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  277. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  278. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  279. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  280. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  281. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
  282. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  283. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  284. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
  285. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  286. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  287. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +14 -14
  288. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  289. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +15 -15
  290. package/dest/stats/stats.d.ts +1 -1
  291. package/dest/stats/stats.d.ts.map +1 -1
  292. package/dest/tests/factories.d.ts +42 -74
  293. package/dest/tests/factories.d.ts.map +1 -1
  294. package/dest/tests/factories.js +144 -167
  295. package/dest/tests/mocks.d.ts +11 -7
  296. package/dest/tests/mocks.d.ts.map +1 -1
  297. package/dest/tests/mocks.js +44 -23
  298. package/dest/trees/index.d.ts +0 -1
  299. package/dest/trees/index.d.ts.map +1 -1
  300. package/dest/trees/index.js +0 -1
  301. package/dest/trees/merkle_tree_id.d.ts +4 -4
  302. package/dest/trees/nullifier_membership_witness.d.ts +3 -3
  303. package/dest/tx/block_header.d.ts +12 -13
  304. package/dest/tx/block_header.d.ts.map +1 -1
  305. package/dest/tx/block_header.js +16 -21
  306. package/dest/tx/global_variables.d.ts.map +1 -1
  307. package/dest/tx/global_variables.js +0 -1
  308. package/dest/tx/index.d.ts +2 -1
  309. package/dest/tx/index.d.ts.map +1 -1
  310. package/dest/tx/index.js +2 -1
  311. package/dest/tx/private_execution_result.d.ts +7 -2
  312. package/dest/tx/private_execution_result.d.ts.map +1 -1
  313. package/dest/tx/private_execution_result.js +10 -6
  314. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  315. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  316. package/dest/tx/private_tx_constant_data.js +69 -0
  317. package/dest/tx/processed_tx.d.ts +0 -1
  318. package/dest/tx/processed_tx.d.ts.map +1 -1
  319. package/dest/tx/processed_tx.js +1 -6
  320. package/dest/tx/profiling.d.ts.map +1 -1
  321. package/dest/tx/profiling.js +0 -2
  322. package/dest/tx/protocol_contracts.d.ts +29 -0
  323. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  324. package/dest/tx/protocol_contracts.js +49 -0
  325. package/dest/tx/simulated_tx.d.ts +3 -3
  326. package/dest/tx/tx.d.ts +6 -2
  327. package/dest/tx/tx.d.ts.map +1 -1
  328. package/dest/tx/tx.js +10 -3
  329. package/dest/tx/tx_constant_data.d.ts +6 -38
  330. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  331. package/dest/tx/tx_constant_data.js +11 -20
  332. package/dest/tx/tx_effect.d.ts +3 -36
  333. package/dest/tx/tx_effect.d.ts.map +1 -1
  334. package/dest/tx/tx_effect.js +63 -202
  335. package/dest/tx/validator/error_texts.d.ts +1 -1
  336. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  337. package/dest/tx/validator/error_texts.js +1 -1
  338. package/dest/versioning/versioning.d.ts +2 -2
  339. package/dest/versioning/versioning.d.ts.map +1 -1
  340. package/dest/versioning/versioning.js +18 -13
  341. package/dest/world-state/index.d.ts +2 -0
  342. package/dest/world-state/index.d.ts.map +1 -0
  343. package/dest/world-state/index.js +1 -0
  344. package/dest/world-state/world_state_revision.d.ts +22 -0
  345. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  346. package/dest/world-state/world_state_revision.js +21 -0
  347. package/dest/zkpassport/index.d.ts +15 -9
  348. package/dest/zkpassport/index.d.ts.map +1 -1
  349. package/dest/zkpassport/index.js +17 -11
  350. package/package.json +12 -10
  351. package/src/abi/abi.ts +1 -1
  352. package/src/abi/contract_artifact.ts +3 -0
  353. package/src/abi/event_metadata_definition.ts +8 -0
  354. package/src/abi/function_call.ts +5 -1
  355. package/src/abi/index.ts +1 -0
  356. package/src/avm/avm.ts +13 -2
  357. package/src/avm/avm_accumulated_data.ts +25 -29
  358. package/src/avm/avm_circuit_public_inputs.ts +21 -0
  359. package/src/avm/index.ts +1 -1
  360. package/src/avm/message_pack.ts +25 -1
  361. package/src/block/attestation_info.ts +62 -0
  362. package/src/block/body.ts +25 -23
  363. package/src/block/index.ts +2 -0
  364. package/src/block/l2_block.ts +33 -8
  365. package/src/block/l2_block_code_to_purge.ts +30 -31
  366. package/src/block/l2_block_header.ts +232 -0
  367. package/src/block/l2_block_source.ts +32 -0
  368. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  369. package/src/block/proposal/attestations_and_signers.ts +1 -1
  370. package/src/block/proposal/committee_attestation.ts +0 -4
  371. package/src/block/published_l2_block.ts +0 -17
  372. package/src/block/test/l2_tips_store_test_suite.ts +1 -2
  373. package/src/checkpoint/checkpoint_body.ts +10 -0
  374. package/src/checkpoint/index.ts +1 -0
  375. package/src/config/node-rpc-config.ts +9 -0
  376. package/src/contract/contract_address.ts +1 -1
  377. package/src/contract/contract_class_metadata.ts +8 -0
  378. package/src/contract/contract_instance.ts +11 -10
  379. package/src/contract/contract_metadata.ts +7 -0
  380. package/src/contract/index.ts +2 -0
  381. package/src/contract/interfaces/contract_class.ts +1 -1
  382. package/src/hash/hash.ts +0 -4
  383. package/src/interfaces/archiver.ts +9 -1
  384. package/src/interfaces/aztec-node-admin.ts +2 -2
  385. package/src/interfaces/aztec-node.ts +45 -0
  386. package/src/interfaces/block-builder.ts +1 -6
  387. package/src/interfaces/client.ts +0 -1
  388. package/src/interfaces/configs.ts +3 -0
  389. package/src/interfaces/epoch-prover.ts +35 -11
  390. package/src/interfaces/merkle_tree_operations.ts +6 -0
  391. package/src/interfaces/p2p.ts +4 -0
  392. package/src/interfaces/private_kernel_prover.ts +2 -2
  393. package/src/interfaces/proving-job.ts +215 -134
  394. package/src/interfaces/server_circuit_prover.ts +87 -61
  395. package/src/interfaces/tx_provider.ts +1 -0
  396. package/src/interfaces/validator.ts +19 -4
  397. package/src/kernel/hints/build_nullifier_read_request_hints.ts +3 -2
  398. package/src/kernel/hints/nullifier_read_request_hints.ts +3 -3
  399. package/src/kernel/nullifier.ts +8 -8
  400. package/src/kernel/private_call_data.ts +2 -21
  401. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  402. package/src/kernel/private_context_inputs.ts +2 -2
  403. package/src/kernel/private_kernel_circuit_public_inputs.ts +4 -4
  404. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  405. package/src/kernel/private_kernel_prover_output.ts +1 -1
  406. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +8 -2
  407. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +9 -0
  408. package/src/keys/derivation.ts +1 -26
  409. package/src/logs/contract_class_log.ts +2 -3
  410. package/src/logs/debug_log.ts +32 -0
  411. package/src/logs/directional_app_tagging_secret.ts +78 -0
  412. package/src/logs/index.ts +3 -1
  413. package/src/logs/log_with_tx_data.ts +14 -24
  414. package/src/logs/pre_tag.ts +25 -0
  415. package/src/logs/public_log.ts +120 -58
  416. package/src/messaging/l2_to_l1_membership.ts +20 -26
  417. package/src/noir/index.ts +11 -0
  418. package/src/note/index.ts +1 -1
  419. package/src/note/notes_filter.ts +0 -7
  420. package/src/note/{extended_note.ts → unique_note.ts} +14 -75
  421. package/src/p2p/block_attestation.ts +31 -24
  422. package/src/p2p/block_proposal.ts +11 -16
  423. package/src/p2p/consensus_payload.ts +8 -7
  424. package/src/parity/index.ts +2 -3
  425. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  426. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  427. package/src/proofs/client_ivc_proof.ts +86 -20
  428. package/src/proofs/index.ts +1 -0
  429. package/src/proofs/proof_data.ts +36 -0
  430. package/src/proofs/proving_request_type.ts +14 -10
  431. package/src/rollup/avm_proof_data.ts +2 -31
  432. package/src/rollup/base_rollup_hints.ts +22 -22
  433. package/src/rollup/block_constant_data.ts +16 -6
  434. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  435. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  436. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  437. package/src/rollup/checkpoint_constant_data.ts +84 -0
  438. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +17 -18
  439. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  440. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +30 -52
  441. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  442. package/src/rollup/epoch_constant_data.ts +28 -10
  443. package/src/rollup/index.ts +17 -16
  444. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  445. package/src/rollup/public_tube_private_inputs.ts +53 -0
  446. package/src/rollup/public_tube_public_inputs.ts +52 -0
  447. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  448. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  449. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  450. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  451. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  452. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +13 -13
  453. package/src/stats/stats.ts +19 -13
  454. package/src/tests/factories.ts +217 -275
  455. package/src/tests/mocks.ts +71 -53
  456. package/src/trees/index.ts +0 -1
  457. package/src/tx/block_header.ts +17 -32
  458. package/src/tx/global_variables.ts +0 -1
  459. package/src/tx/index.ts +2 -1
  460. package/src/tx/private_execution_result.ts +9 -3
  461. package/src/tx/private_tx_constant_data.ts +94 -0
  462. package/src/tx/processed_tx.ts +1 -7
  463. package/src/tx/profiling.ts +0 -2
  464. package/src/tx/protocol_contracts.ts +70 -0
  465. package/src/tx/tx.ts +12 -3
  466. package/src/tx/tx_constant_data.ts +8 -21
  467. package/src/tx/tx_effect.ts +64 -213
  468. package/src/tx/validator/error_texts.ts +1 -1
  469. package/src/versioning/versioning.ts +20 -15
  470. package/src/world-state/index.ts +1 -0
  471. package/src/world-state/world_state_revision.ts +21 -0
  472. package/src/zkpassport/index.ts +40 -28
  473. package/dest/avm/public_data_hint.d.ts +0 -16
  474. package/dest/avm/public_data_hint.d.ts.map +0 -1
  475. package/dest/avm/public_data_hint.js +0 -27
  476. package/dest/interfaces/pxe.d.ts +0 -336
  477. package/dest/interfaces/pxe.d.ts.map +0 -1
  478. package/dest/interfaces/pxe.js +0 -101
  479. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  480. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  481. package/dest/logs/indexed_tagging_secret.js +0 -50
  482. package/dest/note/extended_note.d.ts +0 -111
  483. package/dest/note/extended_note.d.ts.map +0 -1
  484. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  485. package/dest/parity/root_parity_input.d.ts +0 -52
  486. package/dest/parity/root_parity_input.d.ts.map +0 -1
  487. package/dest/parity/root_parity_input.js +0 -50
  488. package/dest/parity/root_parity_inputs.d.ts +0 -37
  489. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  490. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  491. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  492. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  493. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  494. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  495. package/dest/rollup/block_root_rollup.d.ts +0 -283
  496. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  497. package/dest/rollup/block_root_rollup.js +0 -306
  498. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  499. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  500. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  501. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  502. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  503. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  504. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  505. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  506. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  507. package/dest/rollup/previous_rollup_block_data.js +0 -37
  508. package/dest/rollup/previous_rollup_data.d.ts +0 -47
  509. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  510. package/dest/rollup/previous_rollup_data.js +0 -37
  511. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -21
  512. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  513. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  514. package/dest/rollup/private_tube_data.d.ts +0 -15
  515. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  516. package/dest/rollup/private_tube_data.js +0 -25
  517. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -23
  518. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  519. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  520. package/dest/rollup/public_tube_data.d.ts +0 -15
  521. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  522. package/dest/rollup/public_tube_data.js +0 -25
  523. package/dest/rollup/root_rollup.d.ts +0 -106
  524. package/dest/rollup/root_rollup.d.ts.map +0 -1
  525. package/dest/rollup/root_rollup.js +0 -147
  526. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  527. package/dest/rollup/state_diff_hints.js +0 -85
  528. package/dest/rollup/tube_inputs.d.ts +0 -43
  529. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  530. package/dest/rollup/tube_inputs.js +0 -63
  531. package/dest/trees/protocol_contract_leaf.d.ts +0 -84
  532. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  533. package/dest/trees/protocol_contract_leaf.js +0 -100
  534. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  535. package/src/avm/public_data_hint.ts +0 -38
  536. package/src/interfaces/pxe.ts +0 -541
  537. package/src/logs/indexed_tagging_secret.ts +0 -48
  538. package/src/parity/root_parity_input.ts +0 -71
  539. package/src/rollup/block_root_rollup.ts +0 -380
  540. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  541. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  542. package/src/rollup/previous_rollup_block_data.ts +0 -48
  543. package/src/rollup/previous_rollup_data.ts +0 -48
  544. package/src/rollup/private_base_rollup_inputs.ts +0 -53
  545. package/src/rollup/private_tube_data.ts +0 -35
  546. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  547. package/src/rollup/public_tube_data.ts +0 -35
  548. package/src/rollup/root_rollup.ts +0 -195
  549. package/src/rollup/tube_inputs.ts +0 -77
  550. package/src/trees/protocol_contract_leaf.ts +0 -128
@@ -0,0 +1,60 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
3
+ import type { FieldsOf } from '@aztec/foundation/types';
4
+ import { BlockHeader } from './block_header.js';
5
+ import { ProtocolContracts } from './protocol_contracts.js';
6
+ import { TxContext } from './tx_context.js';
7
+ /**
8
+ * Data that is constant/not modified by neither of the kernels.
9
+ */
10
+ export declare class PrivateTxConstantData {
11
+ /** Header of a block whose state is used during execution (not the block the transaction is included in). */
12
+ anchorBlockHeader: BlockHeader;
13
+ /**
14
+ * Context of the transaction.
15
+ *
16
+ * Note: `chainId` and `version` in txContext are not redundant to the values in
17
+ * self.anchor_block_header.global_variables because they can be different in case of a protocol upgrade. In such
18
+ * a situation we could be using header from a block before the upgrade took place but be using the updated
19
+ * protocol to execute and prove the transaction.
20
+ */
21
+ txContext: TxContext;
22
+ /**
23
+ * Root of the vk tree for the protocol circuits.
24
+ */
25
+ vkTreeRoot: Fr;
26
+ /**
27
+ * List of protocol contracts.
28
+ */
29
+ protocolContracts: ProtocolContracts;
30
+ constructor(
31
+ /** Header of a block whose state is used during execution (not the block the transaction is included in). */
32
+ anchorBlockHeader: BlockHeader,
33
+ /**
34
+ * Context of the transaction.
35
+ *
36
+ * Note: `chainId` and `version` in txContext are not redundant to the values in
37
+ * self.anchor_block_header.global_variables because they can be different in case of a protocol upgrade. In such
38
+ * a situation we could be using header from a block before the upgrade took place but be using the updated
39
+ * protocol to execute and prove the transaction.
40
+ */
41
+ txContext: TxContext,
42
+ /**
43
+ * Root of the vk tree for the protocol circuits.
44
+ */
45
+ vkTreeRoot: Fr,
46
+ /**
47
+ * List of protocol contracts.
48
+ */
49
+ protocolContracts: ProtocolContracts);
50
+ static from(fields: FieldsOf<PrivateTxConstantData>): PrivateTxConstantData;
51
+ static getFields(fields: FieldsOf<PrivateTxConstantData>): readonly [BlockHeader, TxContext, Fr, ProtocolContracts];
52
+ static fromFields(fields: Fr[] | FieldReader): PrivateTxConstantData;
53
+ toFields(): Fr[];
54
+ static fromBuffer(buffer: Buffer | BufferReader): PrivateTxConstantData;
55
+ toBuffer(): Buffer<ArrayBufferLike>;
56
+ static empty(): PrivateTxConstantData;
57
+ getSize(): number;
58
+ clone(): PrivateTxConstantData;
59
+ }
60
+ //# sourceMappingURL=private_tx_constant_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private_tx_constant_data.d.ts","sourceRoot":"","sources":["../../src/tx/private_tx_constant_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,6GAA6G;IACtG,iBAAiB,EAAE,WAAW;IACrC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB;;IAlB3C,6GAA6G;IACtG,iBAAiB,EAAE,WAAW;IACrC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB;IAG7C,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IAInD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC;IAIxD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,qBAAqB;IAUpE,QAAQ,IAAI,EAAE,EAAE;IAUhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB;IAUvE,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,OAAO;IASP,KAAK,IAAI,qBAAqB;CAG/B"}
@@ -0,0 +1,69 @@
1
+ import { TX_CONSTANT_DATA_LENGTH } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
4
+ import { BlockHeader } from './block_header.js';
5
+ import { ProtocolContracts } from './protocol_contracts.js';
6
+ import { TxContext } from './tx_context.js';
7
+ /**
8
+ * Data that is constant/not modified by neither of the kernels.
9
+ */ export class PrivateTxConstantData {
10
+ anchorBlockHeader;
11
+ txContext;
12
+ vkTreeRoot;
13
+ protocolContracts;
14
+ constructor(/** Header of a block whose state is used during execution (not the block the transaction is included in). */ anchorBlockHeader, /**
15
+ * Context of the transaction.
16
+ *
17
+ * Note: `chainId` and `version` in txContext are not redundant to the values in
18
+ * self.anchor_block_header.global_variables because they can be different in case of a protocol upgrade. In such
19
+ * a situation we could be using header from a block before the upgrade took place but be using the updated
20
+ * protocol to execute and prove the transaction.
21
+ */ txContext, /**
22
+ * Root of the vk tree for the protocol circuits.
23
+ */ vkTreeRoot, /**
24
+ * List of protocol contracts.
25
+ */ protocolContracts){
26
+ this.anchorBlockHeader = anchorBlockHeader;
27
+ this.txContext = txContext;
28
+ this.vkTreeRoot = vkTreeRoot;
29
+ this.protocolContracts = protocolContracts;
30
+ }
31
+ static from(fields) {
32
+ return new PrivateTxConstantData(...PrivateTxConstantData.getFields(fields));
33
+ }
34
+ static getFields(fields) {
35
+ return [
36
+ fields.anchorBlockHeader,
37
+ fields.txContext,
38
+ fields.vkTreeRoot,
39
+ fields.protocolContracts
40
+ ];
41
+ }
42
+ static fromFields(fields) {
43
+ const reader = FieldReader.asReader(fields);
44
+ return new PrivateTxConstantData(reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readField(), reader.readObject(ProtocolContracts));
45
+ }
46
+ toFields() {
47
+ const fields = serializeToFields(...PrivateTxConstantData.getFields(this));
48
+ if (fields.length !== TX_CONSTANT_DATA_LENGTH) {
49
+ throw new Error(`Invalid number of fields for PrivateTxConstantData. Expected ${TX_CONSTANT_DATA_LENGTH}, got ${fields.length}`);
50
+ }
51
+ return fields;
52
+ }
53
+ static fromBuffer(buffer) {
54
+ const reader = BufferReader.asReader(buffer);
55
+ return new PrivateTxConstantData(reader.readObject(BlockHeader), reader.readObject(TxContext), Fr.fromBuffer(reader), reader.readObject(ProtocolContracts));
56
+ }
57
+ toBuffer() {
58
+ return serializeToBuffer(...PrivateTxConstantData.getFields(this));
59
+ }
60
+ static empty() {
61
+ return new PrivateTxConstantData(BlockHeader.empty(), TxContext.empty(), Fr.ZERO, ProtocolContracts.empty());
62
+ }
63
+ getSize() {
64
+ return this.anchorBlockHeader.getSize() + this.txContext.getSize() + this.vkTreeRoot.size + this.protocolContracts.getSize();
65
+ }
66
+ clone() {
67
+ return PrivateTxConstantData.fromBuffer(this.toBuffer());
68
+ }
69
+ }
@@ -68,6 +68,5 @@ export type FailedTx = {
68
68
  error: Error;
69
69
  };
70
70
  export declare function makeProcessedTxFromPrivateOnlyTx(tx: Tx, transactionFee: Fr, feePaymentPublicDataWrite: PublicDataWrite, globalVariables: GlobalVariables): ProcessedTx;
71
- export declare function toNumBlobFields(txs: ProcessedTx[]): number;
72
71
  export declare function makeProcessedTxFromTxWithPublicCalls(tx: Tx, avmProvingRequest: AvmProvingRequest, gasUsed: GasUsed, revertCode: RevertCode, revertReason: SimulationError | undefined): ProcessedTx;
73
72
  //# sourceMappingURL=processed_tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processed_tx.d.ts","sourceRoot":"","sources":["../../src/tx/processed_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AACnH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,oBAAY,gBAAgB;IAC1B,KAAK,IAAA;IACL,SAAS,IAAA;IACT,QAAQ,IAAA;CACT;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oCAAoC,CAAC;IAC3C;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAInB,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IACP;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,EAAE,EAClB,yBAAyB,EAAE,eAAe,EAC1C,eAAe,EAAE,eAAe,GAC/B,WAAW,CA4Cb;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,CAI1D;AAED,wBAAgB,oCAAoC,CAClD,EAAE,EAAE,EAAE,EACN,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,eAAe,GAAG,SAAS,GACxC,WAAW,CAkDb"}
1
+ {"version":3,"file":"processed_tx.d.ts","sourceRoot":"","sources":["../../src/tx/processed_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,wDAAwD,CAAC;AACnH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,oBAAY,gBAAgB;IAC1B,KAAK,IAAA;IACL,SAAS,IAAA;IACT,QAAQ,IAAA;CACT;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,oCAAoC,CAAC;IAC3C;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAInB,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IACvB;;OAEG;IACH,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,EAAE,EAAE,EAAE,CAAC;IACP;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,EAAE,EAAE,EAAE,EACN,cAAc,EAAE,EAAE,EAClB,yBAAyB,EAAE,eAAe,EAC1C,eAAe,EAAE,eAAe,GAC/B,WAAW,CA4Cb;AAED,wBAAgB,oCAAoC,CAClD,EAAE,EAAE,EAAE,EACN,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,eAAe,GAAG,SAAS,GACxC,WAAW,CAkDb"}
@@ -38,11 +38,6 @@ export function makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePaymentP
38
38
  revertReason: undefined
39
39
  };
40
40
  }
41
- export function toNumBlobFields(txs) {
42
- return txs.reduce((acc, tx)=>{
43
- return acc + tx.txEffect.toBlobFields().length;
44
- }, 0);
45
- }
46
41
  export function makeProcessedTxFromTxWithPublicCalls(tx, avmProvingRequest, gasUsed, revertCode, revertReason) {
47
42
  const avmPublicInputs = avmProvingRequest.inputs.publicInputs;
48
43
  const globalVariables = avmPublicInputs.globalVariables;
@@ -58,7 +53,7 @@ export function makeProcessedTxFromTxWithPublicCalls(tx, avmProvingRequest, gasU
58
53
  content: msg.message.content,
59
54
  rollupVersion: globalVariables.version,
60
55
  chainId: globalVariables.chainId
61
- })), publicDataWrites, privateLogs, avmPublicInputs.accumulatedData.publicLogs.filter((l)=>!l.isEmpty()), contractClassLogs);
56
+ })), publicDataWrites, privateLogs, avmPublicInputs.accumulatedData.publicLogs.toLogs(), contractClassLogs);
62
57
  return {
63
58
  hash: txEffect.txHash,
64
59
  data: tx.data,
@@ -1 +1 @@
1
- {"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../../src/tx/profiling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAY,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,2CAA2C,CAAC;AAGlH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAAC;AAI9E,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC/C,CAAC;AAQF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAGH,qBAAa,eAAe;IAEjB,cAAc,EAAE,oBAAoB,EAAE;IACtC,KAAK,EAAE,YAAY;gBADnB,cAAc,EAAE,oBAAoB,EAAE,EACtC,KAAK,EAAE,YAAY;IAG5B,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAO3C;IAED,MAAM,CAAC,MAAM,IAAI,eAAe;CA+BjC;AAED,qBAAa,uBAAuB;IAEzB,MAAM,EAAE,UAAU;IAClB,KAAK,CAAC,EAAE,eAAe;gBADvB,MAAM,EAAE,UAAU,EAClB,KAAK,CAAC,EAAE,eAAe,YAAA;IAGhC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAOnD;IAED,MAAM,CAAC,MAAM,IAAI,uBAAuB;CAkBzC"}
1
+ {"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../../src/tx/profiling.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAY,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,2CAA2C,CAAC;AAGlH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAAC;AAI9E,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC/C,CAAC;AAQF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAEH,qBAAa,eAAe;IAEjB,cAAc,EAAE,oBAAoB,EAAE;IACtC,KAAK,EAAE,YAAY;gBADnB,cAAc,EAAE,oBAAoB,EAAE,EACtC,KAAK,EAAE,YAAY;IAE5B,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAO3C;IAED,MAAM,CAAC,MAAM,IAAI,eAAe;CA+BjC;AAED,qBAAa,uBAAuB;IAEzB,MAAM,EAAE,UAAU;IAClB,KAAK,CAAC,EAAE,eAAe;gBADvB,MAAM,EAAE,UAAU,EAClB,KAAK,CAAC,EAAE,eAAe,YAAA;IAGhC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAOnD;IAED,MAAM,CAAC,MAAM,IAAI,uBAAuB;CAkBzC"}
@@ -36,7 +36,6 @@ export const SimulationStatsSchema = z.object({
36
36
  timings: SimulationTimingsSchema,
37
37
  nodeRPCCalls: NodeStatsSchema
38
38
  });
39
- // docs:start:tx-profile-result
40
39
  export class TxProfileResult {
41
40
  executionSteps;
42
41
  stats;
@@ -44,7 +43,6 @@ export class TxProfileResult {
44
43
  this.executionSteps = executionSteps;
45
44
  this.stats = stats;
46
45
  }
47
- // docs:end:tx-profile-result
48
46
  static get schema() {
49
47
  return z.object({
50
48
  executionSteps: z.array(PrivateExecutionStepSchema),
@@ -0,0 +1,29 @@
1
+ import { MAX_PROTOCOL_CONTRACTS } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { BufferReader, FieldReader, type Tuple } from '@aztec/foundation/serialize';
4
+ import type { FieldsOf } from '@aztec/foundation/types';
5
+ import { z } from 'zod';
6
+ import { AztecAddress } from '../aztec-address/index.js';
7
+ export declare class ProtocolContracts {
8
+ derivedAddresses: Tuple<AztecAddress, typeof MAX_PROTOCOL_CONTRACTS>;
9
+ constructor(derivedAddresses: Tuple<AztecAddress, typeof MAX_PROTOCOL_CONTRACTS>);
10
+ static from(fields: FieldsOf<ProtocolContracts>): ProtocolContracts;
11
+ static getFields(fields: FieldsOf<ProtocolContracts>): readonly [[AztecAddress, AztecAddress, AztecAddress, AztecAddress, AztecAddress, AztecAddress, AztecAddress, AztecAddress, AztecAddress, AztecAddress, AztecAddress]];
12
+ static fromFields(fields: Fr[] | FieldReader): ProtocolContracts;
13
+ toFields(): Fr[];
14
+ static fromBuffer(buffer: Buffer | BufferReader): ProtocolContracts;
15
+ toBuffer(): Buffer<ArrayBufferLike>;
16
+ static empty(): ProtocolContracts;
17
+ getSize(): number;
18
+ hash(): Promise<Fr>;
19
+ static get schema(): z.ZodEffects<z.ZodObject<{
20
+ derivedAddresses: z.ZodArray<import("@aztec/foundation/schemas").ZodFor<AztecAddress>, "many">;
21
+ }, "strip", z.ZodTypeAny, {
22
+ derivedAddresses: AztecAddress[];
23
+ }, {
24
+ derivedAddresses: any[];
25
+ }>, ProtocolContracts, {
26
+ derivedAddresses: any[];
27
+ }>;
28
+ }
29
+ //# sourceMappingURL=protocol_contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/tx/protocol_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI1E,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAIX,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,iBAAiB;IACT,gBAAgB,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,sBAAsB,CAAC;gBAApE,gBAAgB,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,sBAAsB,CAAC;IAEvF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAI/C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAIpD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,iBAAiB;IAKhE,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB;IAKnE,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,OAAO;IAIP,IAAI;IAIJ,MAAM,KAAK,MAAM;;;;;;;;OAQhB;CACF"}
@@ -0,0 +1,49 @@
1
+ import { GeneratorIndex, MAX_PROTOCOL_CONTRACTS } from '@aztec/constants';
2
+ import { makeTuple } from '@aztec/foundation/array';
3
+ import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
4
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
5
+ import { BufferReader, FieldReader, assertLength, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
6
+ import { z } from 'zod';
7
+ import { AztecAddress } from '../aztec-address/index.js';
8
+ export class ProtocolContracts {
9
+ derivedAddresses;
10
+ constructor(derivedAddresses){
11
+ this.derivedAddresses = derivedAddresses;
12
+ }
13
+ static from(fields) {
14
+ return new ProtocolContracts(...ProtocolContracts.getFields(fields));
15
+ }
16
+ static getFields(fields) {
17
+ return [
18
+ fields.derivedAddresses
19
+ ];
20
+ }
21
+ static fromFields(fields) {
22
+ const reader = FieldReader.asReader(fields);
23
+ return new ProtocolContracts(reader.readArray(MAX_PROTOCOL_CONTRACTS, AztecAddress));
24
+ }
25
+ toFields() {
26
+ return serializeToFields(...ProtocolContracts.getFields(this));
27
+ }
28
+ static fromBuffer(buffer) {
29
+ const reader = BufferReader.asReader(buffer);
30
+ return new ProtocolContracts(reader.readArray(MAX_PROTOCOL_CONTRACTS, AztecAddress));
31
+ }
32
+ toBuffer() {
33
+ return serializeToBuffer(...ProtocolContracts.getFields(this));
34
+ }
35
+ static empty() {
36
+ return new ProtocolContracts(makeTuple(MAX_PROTOCOL_CONTRACTS, ()=>AztecAddress.zero()));
37
+ }
38
+ getSize() {
39
+ return arraySerializedSizeOfNonEmpty(this.derivedAddresses);
40
+ }
41
+ hash() {
42
+ return poseidon2HashWithSeparator(this.derivedAddresses, GeneratorIndex.PROTOCOL_CONTRACTS);
43
+ }
44
+ static get schema() {
45
+ return z.object({
46
+ derivedAddresses: AztecAddress.schema.array().min(MAX_PROTOCOL_CONTRACTS).max(MAX_PROTOCOL_CONTRACTS)
47
+ }).transform(({ derivedAddresses })=>new ProtocolContracts(assertLength(derivedAddresses, MAX_PROTOCOL_CONTRACTS)));
48
+ }
49
+ }
@@ -49,11 +49,11 @@ export declare class SimulationOverrides {
49
49
  }, "strip", z.ZodTypeAny, {
50
50
  version: 1;
51
51
  salt: import("@aztec/foundation/schemas").Fr;
52
- publicKeys: import("../keys/public_keys.js").PublicKeys;
53
52
  deployer: import("../aztec-address/index.js").AztecAddress;
54
53
  currentContractClassId: import("@aztec/foundation/schemas").Fr;
55
54
  originalContractClassId: import("@aztec/foundation/schemas").Fr;
56
55
  initializationHash: import("@aztec/foundation/schemas").Fr;
56
+ publicKeys: import("../keys/public_keys.js").PublicKeys;
57
57
  }, {
58
58
  version: 1;
59
59
  publicKeys: {
@@ -79,11 +79,11 @@ export declare class SimulationOverrides {
79
79
  instance: {
80
80
  version: 1;
81
81
  salt: import("@aztec/foundation/schemas").Fr;
82
- publicKeys: import("../keys/public_keys.js").PublicKeys;
83
82
  deployer: import("../aztec-address/index.js").AztecAddress;
84
83
  currentContractClassId: import("@aztec/foundation/schemas").Fr;
85
84
  originalContractClassId: import("@aztec/foundation/schemas").Fr;
86
85
  initializationHash: import("@aztec/foundation/schemas").Fr;
86
+ publicKeys: import("../keys/public_keys.js").PublicKeys;
87
87
  } & {
88
88
  address: import("../aztec-address/index.js").AztecAddress;
89
89
  };
@@ -112,11 +112,11 @@ export declare class SimulationOverrides {
112
112
  instance: {
113
113
  version: 1;
114
114
  salt: import("@aztec/foundation/schemas").Fr;
115
- publicKeys: import("../keys/public_keys.js").PublicKeys;
116
115
  deployer: import("../aztec-address/index.js").AztecAddress;
117
116
  currentContractClassId: import("@aztec/foundation/schemas").Fr;
118
117
  originalContractClassId: import("@aztec/foundation/schemas").Fr;
119
118
  initializationHash: import("@aztec/foundation/schemas").Fr;
119
+ publicKeys: import("../keys/public_keys.js").PublicKeys;
120
120
  } & {
121
121
  address: import("../aztec-address/index.js").AztecAddress;
122
122
  };
package/dest/tx/tx.d.ts CHANGED
@@ -28,7 +28,6 @@ export declare class Tx extends Gossipable {
28
28
  readonly data: PrivateKernelTailCircuitPublicInputs;
29
29
  /**
30
30
  * Proof from the private kernel circuit.
31
- * TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data.
32
31
  */
33
32
  readonly clientIvcProof: ClientIvcProof;
34
33
  /**
@@ -52,7 +51,6 @@ export declare class Tx extends Gossipable {
52
51
  data: PrivateKernelTailCircuitPublicInputs,
53
52
  /**
54
53
  * Proof from the private kernel circuit.
55
- * TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data.
56
54
  */
57
55
  clientIvcProof: ClientIvcProof,
58
56
  /**
@@ -89,6 +87,12 @@ export declare class Tx extends Gossipable {
89
87
  static computeTxHash(fields: Pick<FieldsOf<Tx>, 'data'>): Promise<TxHash>;
90
88
  static create(fields: Omit<FieldsOf<Tx>, 'txHash'>): Promise<Tx>;
91
89
  static from(fields: FieldsOf<Tx>): Tx;
90
+ /**
91
+ * Validates that the tx hash matches the computed hash from the tx data.
92
+ * This should be called when deserializing a tx from an untrusted source.
93
+ * @returns true if the hash is valid, false otherwise
94
+ */
95
+ validateTxHash(): Promise<boolean>;
92
96
  /**
93
97
  * Gets public logs emitted by this tx.
94
98
  * @param logsSource - An instance of `L2LogsSource` which can be used to obtain the logs.
@@ -1 +1 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}
package/dest/tx/tx.js CHANGED
@@ -25,7 +25,6 @@ import { TxHash } from './tx_hash.js';
25
25
  * Output of the private kernel circuit for this tx.
26
26
  */ data, /**
27
27
  * Proof from the private kernel circuit.
28
- * TODO(#7368): This client IVC object currently contains various VKs that will eventually be more like static data.
29
28
  */ clientIvcProof, /**
30
29
  * Contract class log fields emitted from the tx.
31
30
  * Their order should match the order of the log hashes returned from `this.data.getNonEmptyContractClassLogsHashes`.
@@ -115,6 +114,14 @@ import { TxHash } from './tx_hash.js';
115
114
  return new Tx(fields.txHash, fields.data, fields.clientIvcProof, fields.contractClassLogFields, fields.publicFunctionCalldata);
116
115
  }
117
116
  /**
117
+ * Validates that the tx hash matches the computed hash from the tx data.
118
+ * This should be called when deserializing a tx from an untrusted source.
119
+ * @returns true if the hash is valid, false otherwise
120
+ */ async validateTxHash() {
121
+ const expectedHash = await Tx.computeTxHash(this);
122
+ return this.txHash.equals(expectedHash);
123
+ }
124
+ /**
118
125
  * Gets public logs emitted by this tx.
119
126
  * @param logsSource - An instance of `L2LogsSource` which can be used to obtain the logs.
120
127
  * @returns The requested logs.
@@ -165,14 +172,14 @@ import { TxHash } from './tx_hash.js';
165
172
  privateLogCount: this.data.getNonEmptyPrivateLogs().length,
166
173
  classPublishedCount: this.data.getNonEmptyContractClassLogsHashes().length,
167
174
  contractClassLogSize: this.data.getEmittedContractClassLogsLength(),
168
- proofSize: this.clientIvcProof.clientIvcProofBuffer.length,
175
+ proofSize: this.clientIvcProof.fields.length,
169
176
  size: this.toBuffer().length,
170
177
  feePaymentMethod: // needsSetup? then we pay through a fee payment contract
171
178
  this.data.forPublic?.needsSetup ? 'fpc' : 'fee_juice'
172
179
  };
173
180
  }
174
181
  getSize() {
175
- return this.data.getSize() + this.clientIvcProof.clientIvcProofBuffer.length + arraySerializedSizeOfNonEmpty(this.contractClassLogFields) + this.publicFunctionCalldata.reduce((accum, cd)=>accum + cd.getSize(), 0);
182
+ return this.data.getSize() + this.clientIvcProof.fields.length * Fr.SIZE_IN_BYTES + arraySerializedSizeOfNonEmpty(this.contractClassLogFields) + this.publicFunctionCalldata.reduce((accum, cd)=>accum + cd.getSize(), 0);
176
183
  }
177
184
  /**
178
185
  * Estimates the tx size based on its private effects. Note that the actual size of the tx
@@ -4,48 +4,16 @@ import type { FieldsOf } from '@aztec/foundation/types';
4
4
  import { BlockHeader } from './block_header.js';
5
5
  import { TxContext } from './tx_context.js';
6
6
  /**
7
- * Data that is constant/not modified by neither of the kernels.
7
+ * Version of `PrivateTxConstantData` exposed by the tail circuits
8
+ * It compresses the protocol contracts list to a hash to minimize the number of public inputs.
9
+ * Refer to `PrivateTxConstantData` for more details.
8
10
  */
9
11
  export declare class TxConstantData {
10
- /** Header of a block whose state is used during execution (not the block the transaction is included in). */
11
- historicalHeader: BlockHeader;
12
- /**
13
- * Context of the transaction.
14
- *
15
- * Note: `chainId` and `version` in txContext are not redundant to the values in
16
- * self.historical_header.global_variables because they can be different in case of a protocol upgrade. In such
17
- * a situation we could be using header from a block before the upgrade took place but be using the updated
18
- * protocol to execute and prove the transaction.
19
- */
12
+ anchorBlockHeader: BlockHeader;
20
13
  txContext: TxContext;
21
- /**
22
- * Root of the vk tree for the protocol circuits.
23
- */
24
14
  vkTreeRoot: Fr;
25
- /**
26
- * Root of the tree for the protocol contracts.
27
- */
28
- protocolContractTreeRoot: Fr;
29
- constructor(
30
- /** Header of a block whose state is used during execution (not the block the transaction is included in). */
31
- historicalHeader: BlockHeader,
32
- /**
33
- * Context of the transaction.
34
- *
35
- * Note: `chainId` and `version` in txContext are not redundant to the values in
36
- * self.historical_header.global_variables because they can be different in case of a protocol upgrade. In such
37
- * a situation we could be using header from a block before the upgrade took place but be using the updated
38
- * protocol to execute and prove the transaction.
39
- */
40
- txContext: TxContext,
41
- /**
42
- * Root of the vk tree for the protocol circuits.
43
- */
44
- vkTreeRoot: Fr,
45
- /**
46
- * Root of the tree for the protocol contracts.
47
- */
48
- protocolContractTreeRoot: Fr);
15
+ protocolContractsHash: Fr;
16
+ constructor(anchorBlockHeader: BlockHeader, txContext: TxContext, vkTreeRoot: Fr, protocolContractsHash: Fr);
49
17
  static from(fields: FieldsOf<TxConstantData>): TxConstantData;
50
18
  static getFields(fields: FieldsOf<TxConstantData>): readonly [BlockHeader, TxContext, Fr, Fr];
51
19
  static fromFields(fields: Fr[] | FieldReader): TxConstantData;
@@ -1 +1 @@
1
- {"version":3,"file":"tx_constant_data.d.ts","sourceRoot":"","sources":["../../src/tx/tx_constant_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,cAAc;IAEvB,6GAA6G;IACtG,gBAAgB,EAAE,WAAW;IACpC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;;IAlBnC,6GAA6G;IACtG,gBAAgB,EAAE,WAAW;IACpC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IAGrC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC;IAI5C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC;IAIjD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,cAAc;IAU7D,QAAQ,IAAI,EAAE,EAAE;IAUhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc;IAUhE,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,OAAO;IASP,KAAK,IAAI,cAAc;CAGxB"}
1
+ {"version":3,"file":"tx_constant_data.d.ts","sourceRoot":"","sources":["../../src/tx/tx_constant_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,cAAc;IAEhB,iBAAiB,EAAE,WAAW;IAC9B,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;IACd,qBAAqB,EAAE,EAAE;gBAHzB,iBAAiB,EAAE,WAAW,EAC9B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,EAAE,EACd,qBAAqB,EAAE,EAAE;IAGlC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC;IAI5C,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC;IAIjD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,cAAc;IAU7D,QAAQ,IAAI,EAAE,EAAE;IAUhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,cAAc;IAUhE,QAAQ;IAIR,MAAM,CAAC,KAAK;IAIZ,OAAO;IASP,KAAK,IAAI,cAAc;CAGxB"}
@@ -4,38 +4,29 @@ import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from
4
4
  import { BlockHeader } from './block_header.js';
5
5
  import { TxContext } from './tx_context.js';
6
6
  /**
7
- * Data that is constant/not modified by neither of the kernels.
7
+ * Version of `PrivateTxConstantData` exposed by the tail circuits
8
+ * It compresses the protocol contracts list to a hash to minimize the number of public inputs.
9
+ * Refer to `PrivateTxConstantData` for more details.
8
10
  */ export class TxConstantData {
9
- historicalHeader;
11
+ anchorBlockHeader;
10
12
  txContext;
11
13
  vkTreeRoot;
12
- protocolContractTreeRoot;
13
- constructor(/** Header of a block whose state is used during execution (not the block the transaction is included in). */ historicalHeader, /**
14
- * Context of the transaction.
15
- *
16
- * Note: `chainId` and `version` in txContext are not redundant to the values in
17
- * self.historical_header.global_variables because they can be different in case of a protocol upgrade. In such
18
- * a situation we could be using header from a block before the upgrade took place but be using the updated
19
- * protocol to execute and prove the transaction.
20
- */ txContext, /**
21
- * Root of the vk tree for the protocol circuits.
22
- */ vkTreeRoot, /**
23
- * Root of the tree for the protocol contracts.
24
- */ protocolContractTreeRoot){
25
- this.historicalHeader = historicalHeader;
14
+ protocolContractsHash;
15
+ constructor(anchorBlockHeader, txContext, vkTreeRoot, protocolContractsHash){
16
+ this.anchorBlockHeader = anchorBlockHeader;
26
17
  this.txContext = txContext;
27
18
  this.vkTreeRoot = vkTreeRoot;
28
- this.protocolContractTreeRoot = protocolContractTreeRoot;
19
+ this.protocolContractsHash = protocolContractsHash;
29
20
  }
30
21
  static from(fields) {
31
22
  return new TxConstantData(...TxConstantData.getFields(fields));
32
23
  }
33
24
  static getFields(fields) {
34
25
  return [
35
- fields.historicalHeader,
26
+ fields.anchorBlockHeader,
36
27
  fields.txContext,
37
28
  fields.vkTreeRoot,
38
- fields.protocolContractTreeRoot
29
+ fields.protocolContractsHash
39
30
  ];
40
31
  }
41
32
  static fromFields(fields) {
@@ -60,7 +51,7 @@ import { TxContext } from './tx_context.js';
60
51
  return new TxConstantData(BlockHeader.empty(), TxContext.empty(), Fr.ZERO, Fr.ZERO);
61
52
  }
62
53
  getSize() {
63
- return this.historicalHeader.getSize() + this.txContext.getSize() + this.vkTreeRoot.size + this.protocolContractTreeRoot.size;
54
+ return this.anchorBlockHeader.getSize() + this.txContext.getSize() + this.vkTreeRoot.size + this.protocolContractsHash.size;
64
55
  }
65
56
  clone() {
66
57
  return TxConstantData.fromBuffer(this.toBuffer());
@@ -9,9 +9,6 @@ import { ContractClassLog } from '../logs/contract_class_log.js';
9
9
  import { PrivateLog } from '../logs/private_log.js';
10
10
  import { PublicLog } from '../logs/public_log.js';
11
11
  import { TxHash } from './tx_hash.js';
12
- export declare const TX_START_PREFIX = 8392562855083340404n;
13
- export declare const TX_START_PREFIX_BYTES_LENGTH: number;
14
- export declare const TX_EFFECT_PREFIX_BYTE_LENGTH: number;
15
12
  export declare class TxEffect {
16
13
  /**
17
14
  * Whether the transaction reverted during public app logic.
@@ -113,45 +110,15 @@ export declare class TxEffect {
113
110
  txOutHash(): Buffer;
114
111
  static random(numPublicCallsPerTx?: number, numPublicLogsPerCall?: number, maxEffects?: number | undefined): Promise<TxEffect>;
115
112
  static empty(): TxEffect;
116
- isEmpty(): boolean;
117
113
  /** Returns a hex representation of the TxEffect object. */
118
114
  toString(): `0x${string}`;
119
115
  /**
120
- * Returns the prefix as used in a blob.
121
- * Used to prefix a 'block' of tx effects with its type and length.
122
- */
123
- private toPrefix;
124
- /**
125
- * Decodes the prefix as used in a blob to tx effect type and length.
126
- */
127
- static fromPrefix(prefix: Fr): {
128
- type: number;
129
- length: number;
130
- };
131
- /**
132
- * Encodes the first field of a tx effect as used in a blob:
133
- * TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code
134
- */
135
- private encodeFirstField;
136
- /**
137
- * Decodes the first field of a tx effect as used in a blob:
138
- * TX_START_PREFIX | 0 | txlen[0] txlen[1] | 0 | REVERT_CODE_PREFIX | 0 | revert_code
139
- * Assumes that isFirstField has been called already.
140
- */
141
- static decodeFirstField(field: Fr): {
142
- length: number;
143
- revertCode: number;
144
- };
145
- /**
146
- * Determines whether a field is the first field of a tx effect
147
- */
148
- static isFirstField(field: Fr): boolean;
149
- /**
150
- * Returns a flat packed array of prefixed fields of all tx effects, used for blobs.
116
+ * Returns a flat packed array of fields of all tx effects, to be appended to blobs.
117
+ * Must match the implementation in noir-protocol-circuits/crates/rollup-lib/src/tx_base/components/tx_blob_data.nr
151
118
  */
152
119
  toBlobFields(): Fr[];
153
120
  /**
154
- * Decodes a flat packed array of prefixed fields to TxEffect
121
+ * Decodes a flat packed array of fields to TxEffect.
155
122
  */
156
123
  static fromBlobFields(fields: Fr[] | FieldReader): TxEffect;
157
124
  static from(fields: FieldsOf<TxEffect>): TxEffect;
@@ -1 +1 @@
1
- {"version":3,"file":"tx_effect.d.ts","sourceRoot":"","sources":["../../src/tx/tx_effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx_effect.d.ts","sourceRoot":"","sources":["../../src/tx/tx_effect.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,QAAQ,EAA6B,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,WAAW,EAGZ,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAkB,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,qBAAa,QAAQ;IAEjB;;OAEG;IACI,UAAU,EAAE,UAAU;IAC7B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;;OAEG;IACI,cAAc,EAAE,EAAE;IACzB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;;OAGG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,gBAAgB,EAAE,eAAe,EAAE;IAC1C;;OAEG;IACI,WAAW,EAAE,UAAU,EAAE;IAChC;;OAEG;IACI,UAAU,EAAE,SAAS,EAAE;IAC9B;;OAEG;IACI,iBAAiB,EAAE,gBAAgB,EAAE;;IAxC5C;;OAEG;IACI,UAAU,EAAE,UAAU;IAC7B;;OAEG;IACI,MAAM,EAAE,MAAM;IACrB;;OAEG;IACI,cAAc,EAAE,EAAE;IACzB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;;OAGG;IACI,UAAU,EAAE,EAAE,EAAE;IACvB;;OAEG;IACI,gBAAgB,EAAE,eAAe,EAAE;IAC1C;;OAEG;IACI,WAAW,EAAE,UAAU,EAAE;IAChC;;OAEG;IACI,UAAU,EAAE,SAAS,EAAE;IAC9B;;OAEG;IACI,iBAAiB,EAAE,gBAAgB,EAAE;IAoD9C,QAAQ,IAAI,MAAM;IAelB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAsBhC,yEAAyE;IACzE,SAAS;IAIT;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ;IAiB1D;;;OAGG;IACH,SAAS,IAAI,MAAM;WASN,MAAM,CACjB,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,OAAO,CAAC,QAAQ,CAAC;IA6BpB,MAAM,CAAC,KAAK,IAAI,QAAQ;IAIxB,2DAA2D;IAC3D,QAAQ;IAIR;;;OAGG;IACH,YAAY,IAAI,EAAE,EAAE;IAgCpB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IA0ChD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAetC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAepC;IAED,CAAC,OAAO,CAAC,MAAM,CAAC;IAsBhB;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;CAG9B"}