@aztec/stdlib 0.86.0 → 0.87.0

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 (570) hide show
  1. package/dest/abi/abi.d.ts +291 -241
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +14 -14
  4. package/dest/abi/buffer.d.ts +0 -2
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/contract_artifact.d.ts +0 -2
  7. package/dest/abi/contract_artifact.d.ts.map +1 -1
  8. package/dest/abi/contract_artifact.js +3 -16
  9. package/dest/abi/decoder.d.ts.map +1 -1
  10. package/dest/abi/decoder.js +1 -1
  11. package/dest/abi/encoder.d.ts.map +1 -1
  12. package/dest/abi/encoder.js +1 -1
  13. package/dest/abi/event_selector.d.ts +0 -2
  14. package/dest/abi/event_selector.d.ts.map +1 -1
  15. package/dest/abi/function_selector.d.ts +0 -2
  16. package/dest/abi/function_selector.d.ts.map +1 -1
  17. package/dest/abi/note_selector.d.ts +0 -2
  18. package/dest/abi/note_selector.d.ts.map +1 -1
  19. package/dest/abi/selector.d.ts +0 -3
  20. package/dest/abi/selector.d.ts.map +1 -1
  21. package/dest/abi/utils.d.ts +0 -2
  22. package/dest/abi/utils.d.ts.map +1 -1
  23. package/dest/auth_witness/auth_witness.d.ts +1 -3
  24. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  25. package/dest/avm/avm.d.ts +39 -40
  26. package/dest/avm/avm.d.ts.map +1 -1
  27. package/dest/avm/avm.js +5 -5
  28. package/dest/avm/avm_accumulated_data.d.ts +4 -4
  29. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  30. package/dest/avm/avm_accumulated_data.js +18 -2
  31. package/dest/avm/avm_circuit_public_inputs.d.ts +2 -4
  32. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  33. package/dest/avm/avm_circuit_public_inputs.js +26 -1
  34. package/dest/avm/avm_proving_request.d.ts +15 -17
  35. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  36. package/dest/avm/contract_storage_read.d.ts +1 -3
  37. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  38. package/dest/avm/contract_storage_update_request.d.ts +1 -3
  39. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  40. package/dest/avm/message_pack.d.ts +0 -2
  41. package/dest/avm/message_pack.d.ts.map +1 -1
  42. package/dest/avm/message_pack.js +7 -1
  43. package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
  44. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  45. package/dest/avm/public_data_hint.d.ts +1 -3
  46. package/dest/avm/public_data_hint.d.ts.map +1 -1
  47. package/dest/avm/public_data_read.d.ts +1 -3
  48. package/dest/avm/public_data_read.d.ts.map +1 -1
  49. package/dest/avm/public_data_update_request.d.ts +1 -4
  50. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  51. package/dest/avm/public_data_write.d.ts +4 -3
  52. package/dest/avm/public_data_write.d.ts.map +1 -1
  53. package/dest/avm/public_data_write.js +19 -1
  54. package/dest/avm/public_inner_call_request.d.ts +1 -4
  55. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  56. package/dest/avm/public_inner_call_request.js +1 -1
  57. package/dest/avm/revert_code.d.ts +0 -3
  58. package/dest/avm/revert_code.d.ts.map +1 -1
  59. package/dest/aztec-address/index.d.ts +1 -4
  60. package/dest/aztec-address/index.d.ts.map +1 -1
  61. package/dest/block/block_hash.d.ts +1 -3
  62. package/dest/block/block_hash.d.ts.map +1 -1
  63. package/dest/block/body.d.ts +1 -4
  64. package/dest/block/body.d.ts.map +1 -1
  65. package/dest/block/body.js +5 -11
  66. package/dest/block/l2_block.d.ts +1 -20
  67. package/dest/block/l2_block.d.ts.map +1 -1
  68. package/dest/block/l2_block.js +1 -41
  69. package/dest/block/l2_block_code_to_purge.d.ts +0 -2
  70. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  71. package/dest/block/l2_block_source.d.ts +0 -1
  72. package/dest/block/l2_block_source.d.ts.map +1 -1
  73. package/dest/block/published_l2_block.d.ts +2 -1
  74. package/dest/block/published_l2_block.d.ts.map +1 -1
  75. package/dest/block/published_l2_block.js +5 -18
  76. package/dest/config/{config.d.ts → chain-config.d.ts} +1 -1
  77. package/dest/config/chain-config.d.ts.map +1 -0
  78. package/dest/config/index.d.ts +2 -1
  79. package/dest/config/index.d.ts.map +1 -1
  80. package/dest/config/index.js +2 -1
  81. package/dest/config/node-rpc-config.d.ts +7 -0
  82. package/dest/config/node-rpc-config.d.ts.map +1 -0
  83. package/dest/config/node-rpc-config.js +8 -0
  84. package/dest/contract/artifact_hash.d.ts +1 -3
  85. package/dest/contract/artifact_hash.d.ts.map +1 -1
  86. package/dest/contract/artifact_hash.js +3 -2
  87. package/dest/contract/complete_address.d.ts +0 -2
  88. package/dest/contract/complete_address.d.ts.map +1 -1
  89. package/dest/contract/contract_class_id.d.ts +0 -2
  90. package/dest/contract/contract_class_id.d.ts.map +1 -1
  91. package/dest/contract/contract_instance.d.ts +1 -3
  92. package/dest/contract/contract_instance.d.ts.map +1 -1
  93. package/dest/contract/contract_instance_update.d.ts +1 -3
  94. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  95. package/dest/contract/interfaces/contract_class.d.ts +17 -19
  96. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  97. package/dest/contract/interfaces/contract_instance.d.ts +2 -2
  98. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  99. package/dest/contract/private_function.d.ts +0 -2
  100. package/dest/contract/private_function.d.ts.map +1 -1
  101. package/dest/database-version/version_manager.d.ts +0 -4
  102. package/dest/database-version/version_manager.d.ts.map +1 -1
  103. package/dest/errors/proving_error.d.ts.map +1 -1
  104. package/dest/errors/simulation_error.d.ts.map +1 -1
  105. package/dest/errors/simulation_error.js +2 -2
  106. package/dest/file-store/factory.js +1 -1
  107. package/dest/file-store/gcs.d.ts +0 -2
  108. package/dest/file-store/gcs.d.ts.map +1 -1
  109. package/dest/file-store/http.d.ts +1 -2
  110. package/dest/file-store/http.d.ts.map +1 -1
  111. package/dest/file-store/http.js +32 -16
  112. package/dest/file-store/interface.d.ts +0 -2
  113. package/dest/file-store/interface.d.ts.map +1 -1
  114. package/dest/file-store/local.d.ts +0 -2
  115. package/dest/file-store/local.d.ts.map +1 -1
  116. package/dest/gas/gas.d.ts +1 -4
  117. package/dest/gas/gas.d.ts.map +1 -1
  118. package/dest/gas/gas_fees.d.ts +1 -4
  119. package/dest/gas/gas_fees.d.ts.map +1 -1
  120. package/dest/gas/gas_settings.d.ts +1 -3
  121. package/dest/gas/gas_settings.d.ts.map +1 -1
  122. package/dest/interfaces/aztec-node-admin.d.ts +10 -0
  123. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  124. package/dest/interfaces/aztec-node-admin.js +4 -1
  125. package/dest/interfaces/aztec-node.d.ts +1 -2
  126. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  127. package/dest/interfaces/aztec-node.js +7 -2
  128. package/dest/interfaces/configs.d.ts +5 -0
  129. package/dest/interfaces/configs.d.ts.map +1 -1
  130. package/dest/interfaces/configs.js +1 -0
  131. package/dest/interfaces/merkle_tree_operations.d.ts +0 -2
  132. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  133. package/dest/interfaces/p2p.d.ts +2 -0
  134. package/dest/interfaces/p2p.d.ts.map +1 -1
  135. package/dest/interfaces/p2p.js +1 -0
  136. package/dest/interfaces/private_kernel_prover.d.ts +0 -2
  137. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  138. package/dest/interfaces/prover-client.d.ts.map +1 -1
  139. package/dest/interfaces/proving-job.d.ts +15 -17
  140. package/dest/interfaces/proving-job.d.ts.map +1 -1
  141. package/dest/interfaces/pxe.d.ts +6 -6
  142. package/dest/interfaces/pxe.d.ts.map +1 -1
  143. package/dest/interfaces/pxe.js +4 -4
  144. package/dest/interfaces/service.d.ts +2 -3
  145. package/dest/interfaces/service.d.ts.map +1 -1
  146. package/dest/interfaces/world_state.d.ts +4 -1
  147. package/dest/interfaces/world_state.d.ts.map +1 -1
  148. package/dest/kernel/combined_constant_data.d.ts +1 -3
  149. package/dest/kernel/combined_constant_data.d.ts.map +1 -1
  150. package/dest/kernel/hints/key_validation_hint.d.ts +1 -3
  151. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  152. package/dest/kernel/hints/key_validation_request.d.ts +1 -3
  153. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  154. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -3
  155. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  156. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +0 -2
  157. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  158. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +0 -2
  159. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  160. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +1 -3
  161. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  162. package/dest/kernel/hints/read_request.d.ts +0 -2
  163. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  164. package/dest/kernel/hints/read_request_hints.d.ts +4 -6
  165. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  166. package/dest/kernel/hints/rollup_validation_requests.d.ts +1 -3
  167. package/dest/kernel/hints/rollup_validation_requests.d.ts.map +1 -1
  168. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -3
  169. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  170. package/dest/kernel/hints/transient_data_index_hint.d.ts +0 -3
  171. package/dest/kernel/hints/transient_data_index_hint.d.ts.map +1 -1
  172. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -2
  173. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  174. package/dest/kernel/log_hash.d.ts +27 -9
  175. package/dest/kernel/log_hash.d.ts.map +1 -1
  176. package/dest/kernel/log_hash.js +72 -13
  177. package/dest/kernel/note_hash.d.ts +0 -2
  178. package/dest/kernel/note_hash.d.ts.map +1 -1
  179. package/dest/kernel/nullifier.d.ts +0 -2
  180. package/dest/kernel/nullifier.d.ts.map +1 -1
  181. package/dest/kernel/private_accumulated_data.d.ts +4 -6
  182. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  183. package/dest/kernel/private_accumulated_data.js +3 -3
  184. package/dest/kernel/private_call_data.d.ts +0 -2
  185. package/dest/kernel/private_call_data.d.ts.map +1 -1
  186. package/dest/kernel/private_call_request.d.ts +1 -3
  187. package/dest/kernel/private_call_request.d.ts.map +1 -1
  188. package/dest/kernel/private_call_request.js +1 -1
  189. package/dest/kernel/private_circuit_public_inputs.d.ts +5 -7
  190. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  191. package/dest/kernel/private_circuit_public_inputs.js +4 -4
  192. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -4
  193. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  194. package/dest/kernel/private_kernel_data.d.ts +1 -3
  195. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  196. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -3
  197. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  198. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -3
  199. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  200. package/dest/kernel/private_kernel_prover_output.d.ts +31 -7
  201. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  202. package/dest/kernel/private_kernel_prover_output.js +5 -1
  203. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +2 -4
  204. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  205. package/dest/kernel/private_kernel_reset_dimensions.d.ts +1 -3
  206. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  207. package/dest/kernel/private_kernel_simulated_output.d.ts +0 -2
  208. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  209. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +1 -3
  210. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  211. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +8 -8
  212. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  213. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -2
  214. package/dest/kernel/private_log_data.d.ts +1 -4
  215. package/dest/kernel/private_log_data.d.ts.map +1 -1
  216. package/dest/kernel/private_log_data.js +4 -2
  217. package/dest/kernel/private_to_avm_accumulated_data.d.ts +3 -5
  218. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  219. package/dest/kernel/private_to_avm_accumulated_data.js +7 -0
  220. package/dest/kernel/private_to_public_accumulated_data.d.ts +1 -4
  221. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  222. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +1 -3
  223. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  224. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +2 -5
  225. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  226. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +2 -4
  227. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  228. package/dest/kernel/private_validation_requests.d.ts +1 -4
  229. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  230. package/dest/kernel/private_validation_requests.js +1 -1
  231. package/dest/kernel/public_call_request.d.ts +2 -5
  232. package/dest/kernel/public_call_request.d.ts.map +1 -1
  233. package/dest/kernel/utils/optional_number.d.ts +1 -3
  234. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  235. package/dest/keys/public_keys.d.ts +0 -2
  236. package/dest/keys/public_keys.d.ts.map +1 -1
  237. package/dest/keys/public_keys.js +0 -1
  238. package/dest/logs/contract_class_log.d.ts +53 -12
  239. package/dest/logs/contract_class_log.d.ts.map +1 -1
  240. package/dest/logs/contract_class_log.js +129 -66
  241. package/dest/logs/extended_contract_class_log.d.ts +0 -2
  242. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  243. package/dest/logs/extended_public_log.d.ts +0 -2
  244. package/dest/logs/extended_public_log.d.ts.map +1 -1
  245. package/dest/logs/indexed_tagging_secret.d.ts.map +1 -1
  246. package/dest/logs/log_id.d.ts +0 -2
  247. package/dest/logs/log_id.d.ts.map +1 -1
  248. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  249. package/dest/logs/log_with_tx_data.js +8 -3
  250. package/dest/logs/private_log.d.ts +13 -7
  251. package/dest/logs/private_log.d.ts.map +1 -1
  252. package/dest/logs/private_log.js +44 -30
  253. package/dest/logs/public_log.d.ts +9 -9
  254. package/dest/logs/public_log.d.ts.map +1 -1
  255. package/dest/logs/public_log.js +45 -32
  256. package/dest/logs/tx_scoped_l2_log.d.ts +8 -6
  257. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  258. package/dest/logs/tx_scoped_l2_log.js +1 -2
  259. package/dest/messaging/inbox_leaf.d.ts +5 -2
  260. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  261. package/dest/messaging/inbox_leaf.js +11 -0
  262. package/dest/messaging/l1_actor.d.ts +0 -2
  263. package/dest/messaging/l1_actor.d.ts.map +1 -1
  264. package/dest/messaging/l1_to_l2_message.d.ts +0 -2
  265. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  266. package/dest/messaging/l2_actor.d.ts +0 -2
  267. package/dest/messaging/l2_actor.d.ts.map +1 -1
  268. package/dest/messaging/l2_to_l1_message.d.ts +0 -2
  269. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  270. package/dest/note/extended_note.d.ts +3 -5
  271. package/dest/note/extended_note.d.ts.map +1 -1
  272. package/dest/note/note.d.ts +5 -13
  273. package/dest/note/note.d.ts.map +1 -1
  274. package/dest/p2p/block_attestation.d.ts +6 -5
  275. package/dest/p2p/block_attestation.d.ts.map +1 -1
  276. package/dest/p2p/block_attestation.js +12 -11
  277. package/dest/p2p/block_proposal.d.ts +17 -8
  278. package/dest/p2p/block_proposal.d.ts.map +1 -1
  279. package/dest/p2p/block_proposal.js +29 -13
  280. package/dest/p2p/consensus_payload.d.ts +185 -12
  281. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  282. package/dest/p2p/consensus_payload.js +24 -14
  283. package/dest/p2p/gossipable.d.ts +14 -4
  284. package/dest/p2p/gossipable.d.ts.map +1 -1
  285. package/dest/p2p/gossipable.js +43 -0
  286. package/dest/p2p/signature_utils.d.ts +0 -2
  287. package/dest/p2p/signature_utils.d.ts.map +1 -1
  288. package/dest/p2p/topic_type.d.ts.map +1 -1
  289. package/dest/p2p/topic_type.js +5 -0
  290. package/dest/parity/base_parity_inputs.d.ts +2 -4
  291. package/dest/parity/base_parity_inputs.d.ts.map +1 -1
  292. package/dest/parity/parity_public_inputs.d.ts +2 -4
  293. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  294. package/dest/parity/root_parity_input.d.ts +4 -6
  295. package/dest/parity/root_parity_input.d.ts.map +1 -1
  296. package/dest/parity/root_parity_inputs.d.ts +2 -4
  297. package/dest/parity/root_parity_inputs.d.ts.map +1 -1
  298. package/dest/proofs/client_ivc_proof.d.ts +2 -4
  299. package/dest/proofs/client_ivc_proof.d.ts.map +1 -1
  300. package/dest/proofs/proof.d.ts +1 -3
  301. package/dest/proofs/proof.d.ts.map +1 -1
  302. package/dest/proofs/proof.js +5 -5
  303. package/dest/proofs/recursive_proof.d.ts +4 -6
  304. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  305. package/dest/rollup/avm_proof_data.d.ts +1 -3
  306. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  307. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +2 -4
  308. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -1
  309. package/dest/rollup/base_rollup_hints.d.ts +9 -11
  310. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  311. package/dest/rollup/base_rollup_hints.js +5 -5
  312. package/dest/rollup/block_merge_rollup.d.ts +2 -4
  313. package/dest/rollup/block_merge_rollup.d.ts.map +1 -1
  314. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +11 -5
  315. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +1 -1
  316. package/dest/rollup/block_root_or_block_merge_public_inputs.js +6 -2
  317. package/dest/rollup/block_root_rollup.d.ts +8 -10
  318. package/dest/rollup/block_root_rollup.d.ts.map +1 -1
  319. package/dest/rollup/constant_rollup_data.d.ts +1 -3
  320. package/dest/rollup/constant_rollup_data.d.ts.map +1 -1
  321. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +2 -4
  322. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +1 -1
  323. package/dest/rollup/merge_rollup.d.ts +2 -4
  324. package/dest/rollup/merge_rollup.d.ts.map +1 -1
  325. package/dest/rollup/previous_rollup_block_data.d.ts +0 -2
  326. package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -1
  327. package/dest/rollup/previous_rollup_data.d.ts +0 -2
  328. package/dest/rollup/previous_rollup_data.d.ts.map +1 -1
  329. package/dest/rollup/private_base_rollup_inputs.d.ts +2 -4
  330. package/dest/rollup/private_base_rollup_inputs.d.ts.map +1 -1
  331. package/dest/rollup/private_tube_data.d.ts +1 -3
  332. package/dest/rollup/private_tube_data.d.ts.map +1 -1
  333. package/dest/rollup/public_base_rollup_inputs.d.ts +2 -4
  334. package/dest/rollup/public_base_rollup_inputs.d.ts.map +1 -1
  335. package/dest/rollup/public_tube_data.d.ts +1 -3
  336. package/dest/rollup/public_tube_data.d.ts.map +1 -1
  337. package/dest/rollup/root_rollup.d.ts +9 -8
  338. package/dest/rollup/root_rollup.d.ts.map +1 -1
  339. package/dest/rollup/root_rollup.js +12 -3
  340. package/dest/rollup/state_diff_hints.d.ts +0 -2
  341. package/dest/rollup/state_diff_hints.d.ts.map +1 -1
  342. package/dest/rollup/tube_inputs.d.ts +2 -4
  343. package/dest/rollup/tube_inputs.d.ts.map +1 -1
  344. package/dest/schemas/schemas.d.ts +4 -6
  345. package/dest/schemas/schemas.d.ts.map +1 -1
  346. package/dest/shared_mutable/scheduled_delay_change.d.ts.map +1 -1
  347. package/dest/shared_mutable/scheduled_value_change.d.ts.map +1 -1
  348. package/dest/shared_mutable/shared_mutable_values.d.ts +0 -2
  349. package/dest/shared_mutable/shared_mutable_values.d.ts.map +1 -1
  350. package/dest/snapshots/download.d.ts +1 -1
  351. package/dest/snapshots/download.d.ts.map +1 -1
  352. package/dest/snapshots/download.js +3 -3
  353. package/dest/snapshots/index.d.ts +1 -1
  354. package/dest/snapshots/index.d.ts.map +1 -1
  355. package/dest/snapshots/index.js +1 -1
  356. package/dest/snapshots/types.d.ts +27 -4
  357. package/dest/snapshots/types.d.ts.map +1 -1
  358. package/dest/snapshots/types.js +8 -0
  359. package/dest/snapshots/upload.d.ts +6 -3
  360. package/dest/snapshots/upload.d.ts.map +1 -1
  361. package/dest/snapshots/upload.js +10 -6
  362. package/dest/tests/factories.d.ts +0 -2
  363. package/dest/tests/factories.d.ts.map +1 -1
  364. package/dest/tests/factories.js +19 -16
  365. package/dest/tests/mocks.d.ts +13 -3
  366. package/dest/tests/mocks.d.ts.map +1 -1
  367. package/dest/tests/mocks.js +40 -8
  368. package/dest/trees/append_only_tree_snapshot.d.ts +1 -4
  369. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  370. package/dest/trees/nullifier_leaf.d.ts +0 -2
  371. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  372. package/dest/trees/nullifier_membership_witness.d.ts +4 -6
  373. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  374. package/dest/trees/protocol_contract_leaf.d.ts +0 -2
  375. package/dest/trees/protocol_contract_leaf.d.ts.map +1 -1
  376. package/dest/trees/public_data_leaf.d.ts +1 -3
  377. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  378. package/dest/trees/public_data_witness.d.ts +4 -6
  379. package/dest/trees/public_data_witness.d.ts.map +1 -1
  380. package/dest/tx/block_header.d.ts +3 -4
  381. package/dest/tx/block_header.d.ts.map +1 -1
  382. package/dest/tx/block_header.js +5 -1
  383. package/dest/tx/call_context.d.ts +1 -4
  384. package/dest/tx/call_context.d.ts.map +1 -1
  385. package/dest/tx/capsule.d.ts +1 -3
  386. package/dest/tx/capsule.d.ts.map +1 -1
  387. package/dest/tx/content_commitment.d.ts +10 -12
  388. package/dest/tx/content_commitment.d.ts.map +1 -1
  389. package/dest/tx/function_data.d.ts +0 -2
  390. package/dest/tx/function_data.d.ts.map +1 -1
  391. package/dest/tx/global_variables.d.ts +1 -4
  392. package/dest/tx/global_variables.d.ts.map +1 -1
  393. package/dest/tx/hashed_values.d.ts +1 -3
  394. package/dest/tx/hashed_values.d.ts.map +1 -1
  395. package/dest/tx/index.d.ts +2 -1
  396. package/dest/tx/index.d.ts.map +1 -1
  397. package/dest/tx/index.js +2 -1
  398. package/dest/tx/max_block_number.d.ts +1 -3
  399. package/dest/tx/max_block_number.d.ts.map +1 -1
  400. package/dest/tx/partial_state_reference.d.ts +1 -3
  401. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  402. package/dest/tx/private_execution_result.d.ts +18 -9
  403. package/dest/tx/private_execution_result.d.ts.map +1 -1
  404. package/dest/tx/private_execution_result.js +12 -3
  405. package/dest/tx/profiling.d.ts +110 -0
  406. package/dest/tx/profiling.d.ts.map +1 -0
  407. package/dest/tx/profiling.js +97 -0
  408. package/dest/tx/proposed_block_header.d.ts +80 -0
  409. package/dest/tx/proposed_block_header.d.ts.map +1 -0
  410. package/dest/tx/proposed_block_header.js +130 -0
  411. package/dest/tx/proven_tx.d.ts +73 -1
  412. package/dest/tx/proven_tx.d.ts.map +1 -1
  413. package/dest/tx/proven_tx.js +7 -2
  414. package/dest/tx/public_call_request_with_calldata.d.ts +1 -4
  415. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  416. package/dest/tx/simulated_tx.d.ts +5 -3
  417. package/dest/tx/simulated_tx.d.ts.map +1 -1
  418. package/dest/tx/simulated_tx.js +10 -5
  419. package/dest/tx/state_reference.d.ts +1 -4
  420. package/dest/tx/state_reference.d.ts.map +1 -1
  421. package/dest/tx/tree_snapshots.d.ts +1 -4
  422. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  423. package/dest/tx/tx.d.ts +6 -11
  424. package/dest/tx/tx.d.ts.map +1 -1
  425. package/dest/tx/tx.js +18 -15
  426. package/dest/tx/tx_constant_data.d.ts +1 -3
  427. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  428. package/dest/tx/tx_context.d.ts +1 -3
  429. package/dest/tx/tx_context.d.ts.map +1 -1
  430. package/dest/tx/tx_effect.d.ts +1 -4
  431. package/dest/tx/tx_effect.d.ts.map +1 -1
  432. package/dest/tx/tx_effect.js +33 -63
  433. package/dest/tx/tx_execution_request.d.ts +13 -6
  434. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  435. package/dest/tx/tx_execution_request.js +14 -7
  436. package/dest/tx/tx_hash.d.ts +2 -4
  437. package/dest/tx/tx_hash.d.ts.map +1 -1
  438. package/dest/tx/tx_receipt.d.ts.map +1 -1
  439. package/dest/tx/tx_receipt.js +1 -1
  440. package/dest/tx/tx_request.d.ts +7 -5
  441. package/dest/tx/tx_request.d.ts.map +1 -1
  442. package/dest/tx/tx_request.js +8 -5
  443. package/dest/tx/validator/error_texts.d.ts +4 -2
  444. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  445. package/dest/tx/validator/error_texts.js +4 -2
  446. package/dest/types/shared.d.ts +5 -3
  447. package/dest/types/shared.d.ts.map +1 -1
  448. package/dest/update-checker/index.d.ts +2 -0
  449. package/dest/update-checker/index.d.ts.map +1 -0
  450. package/dest/update-checker/index.js +1 -0
  451. package/dest/update-checker/update-checker.d.ts +48 -0
  452. package/dest/update-checker/update-checker.d.ts.map +1 -0
  453. package/dest/update-checker/update-checker.js +121 -0
  454. package/dest/validators/schemas.d.ts +24 -24
  455. package/dest/validators/schemas.js +1 -1
  456. package/dest/validators/types.d.ts +2 -2
  457. package/dest/validators/types.d.ts.map +1 -1
  458. package/dest/versioning/versioning.d.ts +1 -1
  459. package/dest/versioning/versioning.d.ts.map +1 -1
  460. package/dest/vks/verification_key.d.ts +7 -9
  461. package/dest/vks/verification_key.d.ts.map +1 -1
  462. package/dest/vks/vk_witness_data.d.ts +1 -3
  463. package/dest/vks/vk_witness_data.d.ts.map +1 -1
  464. package/package.json +16 -13
  465. package/src/abi/abi.ts +29 -12
  466. package/src/abi/contract_artifact.ts +3 -17
  467. package/src/abi/decoder.ts +10 -3
  468. package/src/abi/encoder.ts +5 -2
  469. package/src/avm/avm.ts +13 -7
  470. package/src/avm/avm_accumulated_data.ts +30 -2
  471. package/src/avm/avm_circuit_public_inputs.ts +26 -0
  472. package/src/avm/message_pack.ts +7 -1
  473. package/src/avm/public_data_write.ts +21 -1
  474. package/src/avm/public_inner_call_request.ts +1 -1
  475. package/src/avm/revert_code.ts +5 -5
  476. package/src/block/body.ts +5 -11
  477. package/src/block/l2_block.ts +1 -61
  478. package/src/block/published_l2_block.ts +8 -16
  479. package/src/config/index.ts +2 -1
  480. package/src/config/node-rpc-config.ts +14 -0
  481. package/src/contract/artifact_hash.ts +5 -3
  482. package/src/contract/private_function.ts +4 -2
  483. package/src/errors/proving_error.ts +5 -1
  484. package/src/errors/simulation_error.ts +2 -2
  485. package/src/file-store/factory.ts +1 -1
  486. package/src/file-store/http.ts +27 -18
  487. package/src/gas/gas.ts +4 -1
  488. package/src/interfaces/aztec-node-admin.ts +16 -0
  489. package/src/interfaces/aztec-node.ts +4 -2
  490. package/src/interfaces/configs.ts +3 -0
  491. package/src/interfaces/p2p.ts +4 -0
  492. package/src/interfaces/prover-client.ts +4 -1
  493. package/src/interfaces/pxe.ts +12 -7
  494. package/src/interfaces/service.ts +2 -3
  495. package/src/interfaces/world_state.ts +6 -1
  496. package/src/kernel/hints/note_hash_read_request_hints.ts +4 -1
  497. package/src/kernel/hints/nullifier_read_request_hints.ts +4 -1
  498. package/src/kernel/hints/read_request.ts +4 -1
  499. package/src/kernel/hints/read_request_hints.ts +12 -3
  500. package/src/kernel/hints/transient_data_index_hint.ts +4 -1
  501. package/src/kernel/hints/tree_leaf_read_request.ts +4 -1
  502. package/src/kernel/log_hash.ts +86 -14
  503. package/src/kernel/note_hash.ts +8 -2
  504. package/src/kernel/nullifier.ts +9 -2
  505. package/src/kernel/private_accumulated_data.ts +4 -4
  506. package/src/kernel/private_call_request.ts +1 -1
  507. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  508. package/src/kernel/private_kernel_prover_output.ts +10 -0
  509. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +13 -2
  510. package/src/kernel/private_log_data.ts +13 -4
  511. package/src/kernel/private_to_avm_accumulated_data.ts +9 -1
  512. package/src/kernel/private_validation_requests.ts +1 -1
  513. package/src/kernel/public_call_request.ts +4 -1
  514. package/src/keys/public_keys.ts +1 -1
  515. package/src/logs/contract_class_log.ts +156 -57
  516. package/src/logs/indexed_tagging_secret.ts +4 -1
  517. package/src/logs/log_with_tx_data.ts +7 -2
  518. package/src/logs/private_log.ts +52 -30
  519. package/src/logs/public_log.ts +62 -38
  520. package/src/logs/tx_scoped_l2_log.ts +1 -2
  521. package/src/messaging/inbox_leaf.ts +10 -0
  522. package/src/messaging/l2_to_l1_message.ts +9 -2
  523. package/src/p2p/block_attestation.ts +16 -12
  524. package/src/p2p/block_proposal.ts +42 -11
  525. package/src/p2p/consensus_payload.ts +33 -16
  526. package/src/p2p/gossipable.ts +44 -2
  527. package/src/p2p/topic_type.ts +2 -0
  528. package/src/proofs/proof.ts +5 -5
  529. package/src/rollup/base_rollup_hints.ts +7 -7
  530. package/src/rollup/block_root_or_block_merge_public_inputs.ts +10 -1
  531. package/src/rollup/private_base_rollup_inputs.ts +4 -1
  532. package/src/rollup/root_rollup.ts +12 -0
  533. package/src/rollup/tube_inputs.ts +4 -1
  534. package/src/shared_mutable/scheduled_delay_change.ts +5 -1
  535. package/src/shared_mutable/scheduled_value_change.ts +5 -1
  536. package/src/shared_mutable/shared_mutable_values.ts +4 -1
  537. package/src/snapshots/download.ts +3 -4
  538. package/src/snapshots/index.ts +1 -1
  539. package/src/snapshots/types.ts +12 -0
  540. package/src/snapshots/upload.ts +19 -11
  541. package/src/tests/factories.ts +35 -18
  542. package/src/tests/mocks.ts +69 -10
  543. package/src/tx/block_header.ts +16 -2
  544. package/src/tx/content_commitment.ts +6 -1
  545. package/src/tx/index.ts +2 -1
  546. package/src/tx/private_execution_result.ts +14 -5
  547. package/src/tx/profiling.ts +126 -0
  548. package/src/tx/proposed_block_header.ts +169 -0
  549. package/src/tx/proven_tx.ts +4 -0
  550. package/src/tx/simulated_tx.ts +12 -2
  551. package/src/tx/tx.ts +18 -17
  552. package/src/tx/tx_effect.ts +36 -76
  553. package/src/tx/tx_execution_request.ts +11 -0
  554. package/src/tx/tx_receipt.ts +1 -1
  555. package/src/tx/tx_request.ts +12 -3
  556. package/src/tx/validator/error_texts.ts +4 -2
  557. package/src/types/shared.ts +5 -0
  558. package/src/update-checker/index.ts +1 -0
  559. package/src/update-checker/update-checker.ts +152 -0
  560. package/src/validators/schemas.ts +1 -1
  561. package/src/validators/types.ts +2 -2
  562. package/src/versioning/versioning.ts +1 -1
  563. package/src/vks/verification_key.ts +8 -2
  564. package/dest/config/config.d.ts.map +0 -1
  565. package/dest/tx/profiled_tx.d.ts +0 -9
  566. package/dest/tx/profiled_tx.d.ts.map +0 -1
  567. package/dest/tx/profiled_tx.js +0 -28
  568. package/src/tx/profiled_tx.ts +0 -28
  569. /package/dest/config/{config.js → chain-config.js} +0 -0
  570. /package/src/config/{config.ts → chain-config.ts} +0 -0
@@ -1,6 +1,5 @@
1
1
  import {
2
2
  CONTRACT_CLASS_LOGS_PREFIX,
3
- CONTRACT_CLASS_LOG_SIZE_IN_FIELDS,
4
3
  L2_L1_MSGS_PREFIX,
5
4
  MAX_CONTRACT_CLASS_LOGS_PER_TX,
6
5
  MAX_L2_TO_L1_MSGS_PER_TX,
@@ -11,10 +10,8 @@ import {
11
10
  NOTES_PREFIX,
12
11
  NULLIFIERS_PREFIX,
13
12
  PRIVATE_LOGS_PREFIX,
14
- PRIVATE_LOG_SIZE_IN_FIELDS,
15
13
  PUBLIC_DATA_UPDATE_REQUESTS_PREFIX,
16
14
  PUBLIC_LOGS_PREFIX,
17
- PUBLIC_LOG_SIZE_IN_FIELDS,
18
15
  REVERT_CODE_PREFIX,
19
16
  TX_FEE_PREFIX,
20
17
  } from '@aztec/constants';
@@ -243,8 +240,8 @@ export class TxEffect {
243
240
  makeTuple(MAX_NOTE_HASHES_PER_TX, Fr.random),
244
241
  makeTuple(MAX_NULLIFIERS_PER_TX, Fr.random),
245
242
  makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, Fr.random),
246
- makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, () => new PublicDataWrite(Fr.random(), Fr.random())),
247
- makeTuple(MAX_PRIVATE_LOGS_PER_TX, () => new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, Fr.random))),
243
+ makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite.random),
244
+ makeTuple(MAX_PRIVATE_LOGS_PER_TX, () => PrivateLog.random()),
248
245
  await makeTupleAsync(numPublicCallsPerTx * numPublicLogsPerCall, async () => await PublicLog.random()),
249
246
  await makeTupleAsync(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLog.random),
250
247
  );
@@ -372,41 +369,20 @@ export class TxEffect {
372
369
  flattened.push(...this.l2ToL1Msgs);
373
370
  }
374
371
  if (this.publicDataWrites.length) {
375
- flattened.push(this.toPrefix(PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, this.publicDataWrites.length * 2));
376
- flattened.push(...this.publicDataWrites.map(w => [w.leafSlot, w.value]).flat());
372
+ flattened.push(this.toPrefix(PUBLIC_DATA_UPDATE_REQUESTS_PREFIX, this.publicDataWrites.length));
373
+ flattened.push(...this.publicDataWrites.flatMap(w => w.toBlobFields()));
377
374
  }
378
375
  if (this.privateLogs.length) {
379
- const totalLogLen = this.privateLogs.reduce(
380
- // +1 for length prefix
381
- (total, log) => total + (log.getEmittedLength() == 0 ? 0 : log.getEmittedLength() + 1),
382
- 0,
383
- );
384
- flattened.push(this.toPrefix(PRIVATE_LOGS_PREFIX, totalLogLen));
385
- flattened.push(...this.privateLogs.flatMap(l => [new Fr(l.getEmittedLength()), ...l.getEmittedFields()]));
376
+ flattened.push(this.toPrefix(PRIVATE_LOGS_PREFIX, this.privateLogs.length));
377
+ flattened.push(...this.privateLogs.flatMap(l => l.toBlobFields()));
386
378
  }
387
379
  if (this.publicLogs.length) {
388
- const totalLogLen = this.publicLogs.reduce(
389
- // +1 for length prefix
390
- (total, log) => total + (log.getEmittedLength() == 0 ? 0 : log.getEmittedLength() + 1),
391
- 0,
392
- );
393
- flattened.push(this.toPrefix(PUBLIC_LOGS_PREFIX, totalLogLen));
394
- flattened.push(...this.publicLogs.flatMap(l => [new Fr(l.getEmittedLength()), ...l.getEmittedFields()]));
380
+ flattened.push(this.toPrefix(PUBLIC_LOGS_PREFIX, this.publicLogs.length));
381
+ flattened.push(...this.publicLogs.flatMap(l => l.toBlobFields()));
395
382
  }
396
383
  if (this.contractClassLogs.length) {
397
- const totalLogLen = this.contractClassLogs.reduce(
398
- // +2 for length prefix and contract address
399
- (total, log) => total + (log.getEmittedLength() == 0 ? 0 : log.getEmittedLength() + 2),
400
- 0,
401
- );
402
- flattened.push(this.toPrefix(CONTRACT_CLASS_LOGS_PREFIX, totalLogLen));
403
- flattened.push(
404
- ...this.contractClassLogs.flatMap(l => [
405
- new Fr(l.getEmittedLength()),
406
- l.contractAddress.toField(),
407
- ...l.getEmittedFields(),
408
- ]),
409
- );
384
+ flattened.push(this.toPrefix(CONTRACT_CLASS_LOGS_PREFIX, this.contractClassLogs.length));
385
+ flattened.push(...this.contractClassLogs.flatMap(l => l.toBlobFields()));
410
386
  }
411
387
 
412
388
  // The first value appended to each list of fields representing a tx effect is:
@@ -426,16 +402,20 @@ export class TxEffect {
426
402
  throw new Error('Invalid fields given to TxEffect.fromBlobFields(): Attempted to assign property twice.');
427
403
  }
428
404
  };
405
+
429
406
  const effect = this.empty();
430
- if (!(fields instanceof FieldReader) && !fields.length) {
407
+ const reader = FieldReader.asReader(fields);
408
+ const totalFields = reader.remainingFields();
409
+ if (!totalFields) {
431
410
  return effect;
432
411
  }
433
- const reader = FieldReader.asReader(fields);
412
+
434
413
  const firstField = reader.readField();
435
414
  if (!this.isFirstField(firstField)) {
436
415
  throw new Error('Invalid fields given to TxEffect.fromBlobFields(): First field invalid.');
437
416
  }
438
- const { length: _, revertCode } = this.decodeFirstField(firstField);
417
+
418
+ const { length: fieldsToProcess, revertCode } = this.decodeFirstField(firstField);
439
419
  effect.revertCode = RevertCode.fromField(new Fr(revertCode));
440
420
 
441
421
  effect.txHash = new TxHash(reader.readField());
@@ -444,7 +424,9 @@ export class TxEffect {
444
424
  // NB: Fr.fromBuffer hangs here if you provide a buffer less than 32 in len
445
425
  // todo: try new Fr(prefixedFee.toBuffer().subarray(3))
446
426
  effect.transactionFee = Fr.fromBuffer(Buffer.concat([Buffer.alloc(3), prefixedFee.toBuffer().subarray(3)]));
447
- while (!reader.isFinished()) {
427
+
428
+ let fieldsProcessed = totalFields - reader.remainingFields();
429
+ while (fieldsProcessed < fieldsToProcess) {
448
430
  const { type, length } = this.fromPrefix(reader.readField());
449
431
  switch (type) {
450
432
  case NOTES_PREFIX:
@@ -461,58 +443,29 @@ export class TxEffect {
461
443
  break;
462
444
  case PUBLIC_DATA_UPDATE_REQUESTS_PREFIX: {
463
445
  ensureEmpty(effect.publicDataWrites);
464
- const publicDataPairs = reader.readFieldArray(length);
465
- for (let i = 0; i < length; i += 2) {
466
- effect.publicDataWrites.push(new PublicDataWrite(publicDataPairs[i], publicDataPairs[i + 1]));
467
- }
446
+ effect.publicDataWrites = Array.from({ length }, () => PublicDataWrite.fromBlobFields(reader));
468
447
  break;
469
448
  }
470
449
  case PRIVATE_LOGS_PREFIX: {
471
450
  ensureEmpty(effect.privateLogs);
472
- const flatPrivateLogs = reader.readFieldArray(length);
473
- let i = 0;
474
- while (i < length) {
475
- const logLen = flatPrivateLogs[i++].toNumber();
476
- const logFields = flatPrivateLogs.slice(i, (i += logLen));
477
- effect.privateLogs.push(
478
- PrivateLog.fromFields(logFields.concat(new Array(PRIVATE_LOG_SIZE_IN_FIELDS - logLen).fill(Fr.ZERO))),
479
- );
480
- }
451
+ effect.privateLogs = Array.from({ length }, () => PrivateLog.fromBlobFields(reader));
481
452
  break;
482
453
  }
483
454
  case PUBLIC_LOGS_PREFIX: {
484
455
  ensureEmpty(effect.publicLogs);
485
- const flatPublicLogs = reader.readFieldArray(length);
486
- let i = 0;
487
- while (i < length) {
488
- const logLen = flatPublicLogs[i++].toNumber();
489
- const logFields = flatPublicLogs.slice(i, (i += logLen));
490
- effect.publicLogs.push(
491
- PublicLog.fromFields(logFields.concat(new Array(PUBLIC_LOG_SIZE_IN_FIELDS - logLen).fill(Fr.ZERO))),
492
- );
493
- }
456
+ effect.publicLogs = Array.from({ length }, () => PublicLog.fromBlobFields(reader));
494
457
  break;
495
458
  }
496
459
  case CONTRACT_CLASS_LOGS_PREFIX: {
497
460
  ensureEmpty(effect.contractClassLogs);
498
- const flatContractClassLogs = reader.readFieldArray(length);
499
- let i = 0;
500
- while (i < length) {
501
- const logLen = flatContractClassLogs[i++].toNumber();
502
- // +1 for address
503
- const logFields = flatContractClassLogs.slice(i, (i += logLen + 1));
504
- effect.contractClassLogs.push(
505
- ContractClassLog.fromFields(
506
- logFields.concat(new Array(CONTRACT_CLASS_LOG_SIZE_IN_FIELDS - logLen).fill(Fr.ZERO)),
507
- ),
508
- );
509
- }
461
+ effect.contractClassLogs = Array.from({ length }, () => ContractClassLog.fromBlobFields(reader));
510
462
  break;
511
463
  }
512
464
  case REVERT_CODE_PREFIX:
513
465
  default:
514
466
  throw new Error(`Too many fields to decode given to TxEffect.fromBlobFields()`);
515
467
  }
468
+ fieldsProcessed = totalFields - reader.remainingFields();
516
469
  }
517
470
  return effect;
518
471
  }
@@ -551,16 +504,23 @@ export class TxEffect {
551
504
 
552
505
  [inspect.custom]() {
553
506
  return `TxEffect {
554
- revertCode: ${this.revertCode},
507
+ revertCode: ${this.revertCode.getCode()},
555
508
  txHash: ${this.txHash},
556
509
  transactionFee: ${this.transactionFee},
557
510
  note hashes: [${this.noteHashes.map(h => h.toString()).join(', ')}],
558
511
  nullifiers: [${this.nullifiers.map(h => h.toString()).join(', ')}],
559
512
  l2ToL1Msgs: [${this.l2ToL1Msgs.map(h => h.toString()).join(', ')}],
560
513
  publicDataWrites: [${this.publicDataWrites.map(h => h.toString()).join(', ')}],
561
- privateLogs: [${this.privateLogs.map(l => l.toString()).join(', ')}],
562
- publicLogs: [${this.publicLogs.map(l => l.toString()).join(', ')}],
563
- contractClassLogs: [${this.contractClassLogs.map(l => l.toString()).join(', ')}],
514
+ privateLogs: [${this.privateLogs.map(l => l.fields.map(f => f.toString()).join(',')).join(', ')}],
515
+ publicLogs: [${this.publicLogs.map(l => l.fields.map(f => f.toString()).join(',')).join(', ')}],
516
+ contractClassLogs: [${this.contractClassLogs
517
+ .map(l =>
518
+ l
519
+ .toFields()
520
+ .map(f => f.toString())
521
+ .join(','),
522
+ )
523
+ .join(', ')}],
564
524
  }`;
565
525
  }
566
526
 
@@ -54,6 +54,11 @@ export class TxExecutionRequest {
54
54
  * Read-only data passed through the oracle calls during this tx execution.
55
55
  */
56
56
  public capsules: Capsule[],
57
+ /**
58
+ * A salt to make the tx request hash difficult to predict.
59
+ * The hash is used as the first nullifier if there is no nullifier emitted throughout the tx.
60
+ */
61
+ public salt = Fr.random(),
57
62
  ) {}
58
63
 
59
64
  static get schema(): ZodFor<TxExecutionRequest> {
@@ -66,6 +71,7 @@ export class TxExecutionRequest {
66
71
  argsOfCalls: z.array(HashedValues.schema),
67
72
  authWitnesses: z.array(AuthWitness.schema),
68
73
  capsules: z.array(Capsule.schema),
74
+ salt: schemas.Fr,
69
75
  })
70
76
  .transform(TxExecutionRequest.from);
71
77
  }
@@ -77,6 +83,7 @@ export class TxExecutionRequest {
77
83
  new FunctionData(this.functionSelector, true /* isPrivate */),
78
84
  this.firstCallArgsHash,
79
85
  this.txContext,
86
+ this.salt,
80
87
  );
81
88
  }
82
89
 
@@ -89,6 +96,7 @@ export class TxExecutionRequest {
89
96
  fields.argsOfCalls,
90
97
  fields.authWitnesses,
91
98
  fields.capsules,
99
+ fields.salt,
92
100
  ] as const;
93
101
  }
94
102
 
@@ -109,6 +117,7 @@ export class TxExecutionRequest {
109
117
  new Vector(this.argsOfCalls),
110
118
  new Vector(this.authWitnesses),
111
119
  new Vector(this.capsules),
120
+ this.salt,
112
121
  );
113
122
  }
114
123
 
@@ -135,6 +144,7 @@ export class TxExecutionRequest {
135
144
  reader.readVector(HashedValues),
136
145
  reader.readVector(AuthWitness),
137
146
  reader.readVector(Capsule),
147
+ Fr.fromBuffer(reader),
138
148
  );
139
149
  }
140
150
 
@@ -159,6 +169,7 @@ export class TxExecutionRequest {
159
169
  new Capsule(await AztecAddress.random(), Fr.random(), [Fr.random(), Fr.random()]),
160
170
  new Capsule(await AztecAddress.random(), Fr.random(), [Fr.random()]),
161
171
  ],
172
+ Fr.random(),
162
173
  );
163
174
  }
164
175
 
@@ -79,7 +79,7 @@ export class TxReceipt {
79
79
  } else if (revertCode.equals(RevertCode.BOTH_REVERTED)) {
80
80
  return TxStatus.BOTH_REVERTED;
81
81
  } else {
82
- throw new Error(`Unknown revert code: ${revertCode}`);
82
+ throw new Error(`Unknown revert code: ${revertCode.getCode()}`);
83
83
  }
84
84
  }
85
85
  }
@@ -22,10 +22,12 @@ export class TxRequest {
22
22
  public argsHash: Fr,
23
23
  /** Transaction context. */
24
24
  public txContext: TxContext,
25
+ /** A salt to make the hash difficult to predict. The hash is used as the first nullifier if there is no nullifier emitted throughout the tx. */
26
+ public salt: Fr,
25
27
  ) {}
26
28
  // docs:end:constructor
27
29
  static getFields(fields: FieldsOf<TxRequest>) {
28
- return [fields.origin, fields.functionData, fields.argsHash, fields.txContext] as const;
30
+ return [fields.origin, fields.functionData, fields.argsHash, fields.txContext, fields.salt] as const;
29
31
  }
30
32
 
31
33
  static from(fields: FieldsOf<TxRequest>): TxRequest {
@@ -60,6 +62,7 @@ export class TxRequest {
60
62
  reader.readObject(FunctionData),
61
63
  Fr.fromBuffer(reader),
62
64
  reader.readObject(TxContext),
65
+ Fr.fromBuffer(reader),
63
66
  );
64
67
  }
65
68
 
@@ -68,10 +71,16 @@ export class TxRequest {
68
71
  }
69
72
 
70
73
  static empty() {
71
- return new TxRequest(AztecAddress.ZERO, FunctionData.empty(), Fr.zero(), TxContext.empty());
74
+ return new TxRequest(AztecAddress.ZERO, FunctionData.empty(), Fr.zero(), TxContext.empty(), Fr.zero());
72
75
  }
73
76
 
74
77
  isEmpty() {
75
- return this.origin.isZero() && this.functionData.isEmpty() && this.argsHash.isZero() && this.txContext.isEmpty();
78
+ return (
79
+ this.origin.isZero() &&
80
+ this.functionData.isEmpty() &&
81
+ this.argsHash.isZero() &&
82
+ this.txContext.isEmpty() &&
83
+ this.salt.isZero()
84
+ );
76
85
  }
77
86
  }
@@ -12,8 +12,10 @@ export const TX_ERROR_EXISTING_NULLIFIER = 'Existing nullifier';
12
12
 
13
13
  // Metadata
14
14
  export const TX_ERROR_INVALID_BLOCK_NUMBER = 'Invalid block number';
15
- export const TX_ERROR_INCORRECT_CHAIN_ID = 'Incorrect chain id';
15
+ export const TX_ERROR_INCORRECT_L1_CHAIN_ID = 'Incorrect L1 chain id';
16
16
  export const TX_ERROR_INCORRECT_ROLLUP_VERSION = 'Incorrect rollup version';
17
+ export const TX_ERROR_INCORRECT_VK_TREE_ROOT = 'Incorrect protocol circuits tree root';
18
+ export const TX_ERROR_INCORRECT_PROTOCOL_CONTRACT_TREE_ROOT = 'Incorrect protocol contracts tree root';
17
19
 
18
20
  // Proof
19
21
  export const TX_ERROR_INVALID_PROOF = 'Invalid proof';
@@ -23,7 +25,7 @@ export const TX_ERROR_INCORRECT_CALLDATA = 'Incorrect calldata for public call';
23
25
  export const TX_ERROR_CALLDATA_COUNT_MISMATCH = 'Wrong number of calldata for public calls';
24
26
  export const TX_ERROR_CALLDATA_COUNT_TOO_LARGE = 'Total calldata too large for enqueued public calls';
25
27
  export const TX_ERROR_CONTRACT_CLASS_LOG_COUNT = 'Mismatched number of contract class logs';
26
- export const TX_ERROR_CONTRACT_CLASS_LOG_LENGTH = 'Mismatched contract class logs length';
28
+ export const TX_ERROR_CONTRACT_CLASS_LOG_LENGTH = 'Incorrect contract class logs length';
27
29
  export const TX_ERROR_CONTRACT_CLASS_LOGS = 'Mismatched contract class logs';
28
30
  export const TX_ERROR_CONTRACT_CLASS_LOG_SORTING = 'Incorrectly sorted contract class logs';
29
31
 
@@ -25,6 +25,11 @@ export class Vector<T extends Bufferable> {
25
25
  */
26
26
  export type UInt32 = number;
27
27
 
28
+ /**
29
+ * A type alias for a 64-bit unsigned integer.
30
+ */
31
+ export type UInt64 = bigint;
32
+
28
33
  /**
29
34
  * CircuitType replaces ComposerType for now. When using Plonk, CircuitType is equivalent to the information of the proving system that will be used
30
35
  * to construct a proof. In the future Aztec zk stack, more information must be specified (e.g., the curve over which circuits are constructed;
@@ -0,0 +1 @@
1
+ export { UpdateChecker, getPackageVersion } from './update-checker.js';
@@ -0,0 +1,152 @@
1
+ import { RegistryContract, type ViemClient } from '@aztec/ethereum';
2
+ import { EthAddress } from '@aztec/foundation/eth-address';
3
+ import { createLogger } from '@aztec/foundation/log';
4
+ import { RunningPromise } from '@aztec/foundation/running-promise';
5
+ import { fileURLToPath } from '@aztec/foundation/url';
6
+
7
+ import { EventEmitter } from 'events';
8
+ import { readFileSync } from 'fs';
9
+ import { dirname, resolve } from 'path';
10
+ import { isDeepStrictEqual } from 'util';
11
+ import { z } from 'zod';
12
+
13
+ const updateConfigSchema = z.object({
14
+ version: z.string().optional(),
15
+ config: z.any().optional(),
16
+ });
17
+
18
+ export type EventMap = {
19
+ newRollupVersion: [{ currentVersion: bigint; latestVersion: bigint }];
20
+ newNodeVersion: [{ currentVersion: string; latestVersion: string }];
21
+ updateNodeConfig: [object];
22
+ };
23
+
24
+ type Config = {
25
+ baseURL: URL;
26
+ nodeVersion?: string;
27
+ checkIntervalMs?: number;
28
+ registryContractAddress: EthAddress;
29
+ publicClient: ViemClient;
30
+ fetch?: typeof fetch;
31
+ };
32
+
33
+ export class UpdateChecker extends EventEmitter<EventMap> {
34
+ private runningPromise: RunningPromise;
35
+ private lastPatchedConfig: object = {};
36
+
37
+ constructor(
38
+ private updatesUrl: URL,
39
+ private nodeVersion: string | undefined,
40
+ private rollupVersion: bigint,
41
+ private fetch: typeof globalThis.fetch,
42
+ private getLatestRollupVersion: () => Promise<bigint>,
43
+ private checkIntervalMs = 60_000, // every minute
44
+ private log = createLogger('foundation:update-check'),
45
+ ) {
46
+ super();
47
+ this.runningPromise = new RunningPromise(this.runChecks, this.log, this.checkIntervalMs);
48
+ }
49
+
50
+ public static async new(config: Config): Promise<UpdateChecker> {
51
+ const registryContract = new RegistryContract(config.publicClient, config.registryContractAddress);
52
+ const getLatestRollupVersion = () => registryContract.getRollupVersions().then(versions => versions.at(-1)!);
53
+
54
+ return new UpdateChecker(
55
+ config.baseURL,
56
+ config.nodeVersion ?? getPackageVersion(),
57
+ await getLatestRollupVersion(),
58
+ config.fetch ?? fetch,
59
+ getLatestRollupVersion,
60
+ config.checkIntervalMs,
61
+ );
62
+ }
63
+
64
+ public start(): void {
65
+ if (this.runningPromise.isRunning()) {
66
+ this.log.debug(`Can't start update checker again`);
67
+ return;
68
+ }
69
+
70
+ this.log.info('Starting update checker', {
71
+ nodeVersion: this.nodeVersion,
72
+ rollupVersion: this.rollupVersion,
73
+ });
74
+ this.runningPromise.start();
75
+ }
76
+
77
+ public stop(): Promise<void> {
78
+ if (!this.runningPromise.isRunning()) {
79
+ this.log.debug(`Can't stop update checker because it is not running`);
80
+ return Promise.resolve();
81
+ }
82
+ return this.runningPromise.stop();
83
+ }
84
+
85
+ public trigger(): Promise<void> {
86
+ return this.runningPromise.trigger();
87
+ }
88
+
89
+ private runChecks = async (): Promise<void> => {
90
+ await Promise.all([this.checkRollupVersion(), this.checkConfig()]);
91
+ };
92
+
93
+ private async checkRollupVersion(): Promise<void> {
94
+ try {
95
+ const canonicalRollupVersion = await this.getLatestRollupVersion();
96
+ if (canonicalRollupVersion !== this.rollupVersion) {
97
+ this.log.debug('New canonical rollup version', {
98
+ currentVersion: this.rollupVersion,
99
+ latestVersion: canonicalRollupVersion,
100
+ });
101
+ this.emit('newRollupVersion', { currentVersion: this.rollupVersion, latestVersion: canonicalRollupVersion });
102
+ }
103
+ } catch (err) {
104
+ this.log.warn(`Failed to check if there is a new rollup`, err);
105
+ }
106
+ }
107
+
108
+ private async checkConfig(): Promise<void> {
109
+ try {
110
+ const response = await this.fetch(this.updatesUrl);
111
+ const body = await response.json();
112
+ if (!response.ok) {
113
+ this.log.warn(`Unexpected HTTP response checking for updates`, {
114
+ status: response.status,
115
+ body: await response.text(),
116
+ url: this.updatesUrl,
117
+ });
118
+ }
119
+
120
+ const { version, config } = updateConfigSchema.parse(body);
121
+
122
+ if (this.nodeVersion && version && version !== this.nodeVersion) {
123
+ this.log.debug('New node version', { currentVersion: this.nodeVersion, latestVersion: version });
124
+ this.emit('newNodeVersion', { currentVersion: this.nodeVersion, latestVersion: version });
125
+ }
126
+
127
+ if (config && Object.keys(config).length > 0 && !isDeepStrictEqual(config, this.lastPatchedConfig)) {
128
+ this.log.debug('New node config', { config });
129
+ this.lastPatchedConfig = config;
130
+ this.emit('updateNodeConfig', config);
131
+ }
132
+ } catch (err) {
133
+ this.log.warn(`Failed to check if there is an update`, err);
134
+ }
135
+ }
136
+ }
137
+
138
+ /**
139
+ * Returns package version.
140
+ */
141
+ export function getPackageVersion(): string | undefined {
142
+ try {
143
+ const releasePleaseManifestPath = resolve(
144
+ dirname(fileURLToPath(import.meta.url)),
145
+ '../../../../.release-please-manifest.json',
146
+ );
147
+ const version = JSON.parse(readFileSync(releasePleaseManifestPath).toString())['.'];
148
+ return version;
149
+ } catch {
150
+ return undefined;
151
+ }
152
+ }
@@ -31,7 +31,7 @@ const ValidatorTimeStatSchema = z.object({
31
31
 
32
32
  const ValidatorFilteredHistorySchema = z.object({
33
33
  currentStreak: schemas.Integer,
34
- rate: z.number(),
34
+ rate: z.number().optional(),
35
35
  count: schemas.Integer,
36
36
  });
37
37
 
@@ -18,12 +18,12 @@ export type ValidatorStats = {
18
18
  totalSlots: number;
19
19
  missedProposals: {
20
20
  currentStreak: number;
21
- rate: number;
21
+ rate?: number;
22
22
  count: number;
23
23
  };
24
24
  missedAttestations: {
25
25
  currentStreak: number;
26
- rate: number;
26
+ rate?: number;
27
27
  count: number;
28
28
  };
29
29
  history: ValidatorStatusHistory;
@@ -4,7 +4,7 @@ import { jsonStringify } from '@aztec/foundation/json-rpc';
4
4
 
5
5
  import type Koa from 'koa';
6
6
 
7
- import type { ChainConfig } from '../config/config.js';
7
+ import type { ChainConfig } from '../config/chain-config.js';
8
8
 
9
9
  // REFACTOR: This file is not a circuit-type, but at the moment we don't have any other
10
10
  // package common to all components that we can use for this shared code.
@@ -88,7 +88,10 @@ export const CIRCUIT_RECURSIVE_INDEX = 3;
88
88
  * Provides a 'fields' representation of a circuit's verification key
89
89
  */
90
90
  export class VerificationKeyAsFields {
91
- constructor(public key: Fr[], public hash: Fr) {}
91
+ constructor(
92
+ public key: Fr[],
93
+ public hash: Fr,
94
+ ) {}
92
95
 
93
96
  public get numPublicInputs() {
94
97
  return Number(this.key[CIRCUIT_PUBLIC_INPUTS_INDEX]);
@@ -252,7 +255,10 @@ export class VerificationKey {
252
255
  }
253
256
 
254
257
  export class VerificationKeyData {
255
- constructor(public readonly keyAsFields: VerificationKeyAsFields, public readonly keyAsBytes: Buffer) {}
258
+ constructor(
259
+ public readonly keyAsFields: VerificationKeyAsFields,
260
+ public readonly keyAsBytes: Buffer,
261
+ ) {}
256
262
 
257
263
  public get numPublicInputs() {
258
264
  return this.keyAsFields.numPublicInputs;
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,EAAE,WAI9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAgB/D,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,WAAW,EAAE;QACX,4BAA4B;QAC5B,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { ZodFor } from '@aztec/foundation/schemas';
2
- import { type PrivateExecutionStep } from '../kernel/private_kernel_prover_output.js';
3
- export declare class TxProfileResult {
4
- executionSteps: PrivateExecutionStep[];
5
- constructor(executionSteps: PrivateExecutionStep[]);
6
- static get schema(): ZodFor<TxProfileResult>;
7
- static random(): TxProfileResult;
8
- }
9
- //# sourceMappingURL=profiled_tx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profiled_tx.d.ts","sourceRoot":"","sources":["../../src/tx/profiled_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIxD,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,2CAA2C,CAAC;AAElH,qBAAa,eAAe;IACP,cAAc,EAAE,oBAAoB,EAAE;gBAAtC,cAAc,EAAE,oBAAoB,EAAE;IAEzD,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAM3C;IAED,MAAM,CAAC,MAAM,IAAI,eAAe;CAUjC"}
@@ -1,28 +0,0 @@
1
- import { z } from 'zod';
2
- import { PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
3
- export class TxProfileResult {
4
- executionSteps;
5
- constructor(executionSteps){
6
- this.executionSteps = executionSteps;
7
- }
8
- static get schema() {
9
- return z.object({
10
- executionSteps: z.array(PrivateExecutionStepSchema)
11
- }).transform(({ executionSteps })=>new TxProfileResult(executionSteps));
12
- }
13
- static random() {
14
- return new TxProfileResult([
15
- {
16
- functionName: 'random',
17
- bytecode: Buffer.from('random'),
18
- witness: new Map([
19
- [
20
- 1,
21
- 'random'
22
- ]
23
- ]),
24
- vk: Buffer.from('random')
25
- }
26
- ]);
27
- }
28
- }
@@ -1,28 +0,0 @@
1
- import type { ZodFor } from '@aztec/foundation/schemas';
2
-
3
- import { z } from 'zod';
4
-
5
- import { type PrivateExecutionStep, PrivateExecutionStepSchema } from '../kernel/private_kernel_prover_output.js';
6
-
7
- export class TxProfileResult {
8
- constructor(public executionSteps: PrivateExecutionStep[]) {}
9
-
10
- static get schema(): ZodFor<TxProfileResult> {
11
- return z
12
- .object({
13
- executionSteps: z.array(PrivateExecutionStepSchema),
14
- })
15
- .transform(({ executionSteps }) => new TxProfileResult(executionSteps));
16
- }
17
-
18
- static random(): TxProfileResult {
19
- return new TxProfileResult([
20
- {
21
- functionName: 'random',
22
- bytecode: Buffer.from('random'),
23
- witness: new Map([[1, 'random']]),
24
- vk: Buffer.from('random'),
25
- },
26
- ]);
27
- }
28
- }
File without changes
File without changes