@aztec/stdlib 0.0.1-commit.993d240 → 0.0.1-commit.9a89641

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 (587) hide show
  1. package/dest/abi/abi.d.ts +32 -7
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +11 -2
  4. package/dest/abi/buffer.d.ts +6 -2
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +13 -1
  7. package/dest/abi/contract_artifact.d.ts +1 -1
  8. package/dest/abi/contract_artifact.d.ts.map +1 -1
  9. package/dest/abi/contract_artifact.js +35 -19
  10. package/dest/abi/decoder.d.ts +12 -5
  11. package/dest/abi/decoder.d.ts.map +1 -1
  12. package/dest/abi/decoder.js +18 -21
  13. package/dest/abi/function_call.d.ts +17 -8
  14. package/dest/abi/function_call.d.ts.map +1 -1
  15. package/dest/abi/function_call.js +28 -9
  16. package/dest/avm/avm.d.ts +212 -211
  17. package/dest/avm/avm.d.ts.map +1 -1
  18. package/dest/avm/avm.js +4 -2
  19. package/dest/avm/index.d.ts +1 -6
  20. package/dest/avm/index.d.ts.map +1 -1
  21. package/dest/avm/index.js +0 -5
  22. package/dest/aztec-address/index.d.ts +35 -5
  23. package/dest/aztec-address/index.d.ts.map +1 -1
  24. package/dest/aztec-address/index.js +32 -8
  25. package/dest/block/attestation_info.d.ts +1 -1
  26. package/dest/block/attestation_info.d.ts.map +1 -1
  27. package/dest/block/attestation_info.js +7 -4
  28. package/dest/block/l2_block_source.d.ts +57 -28
  29. package/dest/block/l2_block_source.d.ts.map +1 -1
  30. package/dest/block/l2_block_source.js +20 -2
  31. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  32. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  33. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  34. package/dest/block/l2_block_stream/index.d.ts +2 -1
  35. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  36. package/dest/block/l2_block_stream/index.js +1 -0
  37. package/dest/block/l2_block_stream/interfaces.d.ts +83 -11
  38. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  39. package/dest/block/l2_block_stream/interfaces.js +25 -1
  40. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  41. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  42. package/dest/block/l2_block_stream/l2_block_stream.js +175 -151
  43. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +6 -12
  44. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  45. package/dest/block/l2_block_stream/l2_tips_memory_store.js +8 -32
  46. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +17 -18
  47. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  48. package/dest/block/l2_block_stream/l2_tips_store_base.js +70 -58
  49. package/dest/block/proposal/attestations_and_signers.d.ts +19 -1
  50. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  51. package/dest/block/proposal/attestations_and_signers.js +47 -7
  52. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  53. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  54. package/dest/block/test/l2_tips_store_test_suite.js +301 -37
  55. package/dest/block/validate_block_result.d.ts +16 -1
  56. package/dest/block/validate_block_result.d.ts.map +1 -1
  57. package/dest/block/validate_block_result.js +18 -3
  58. package/dest/checkpoint/checkpoint.js +2 -2
  59. package/dest/checkpoint/index.d.ts +2 -1
  60. package/dest/checkpoint/index.d.ts.map +1 -1
  61. package/dest/checkpoint/index.js +1 -0
  62. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  63. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  64. package/dest/checkpoint/simulation_overrides.js +98 -0
  65. package/dest/checkpoint/validate.d.ts +11 -3
  66. package/dest/checkpoint/validate.d.ts.map +1 -1
  67. package/dest/checkpoint/validate.js +9 -6
  68. package/dest/config/index.d.ts +2 -2
  69. package/dest/config/index.d.ts.map +1 -1
  70. package/dest/config/index.js +1 -1
  71. package/dest/config/network-consensus-config.d.ts +72 -0
  72. package/dest/config/network-consensus-config.d.ts.map +1 -0
  73. package/dest/config/network-consensus-config.js +223 -0
  74. package/dest/config/node-rpc-config.d.ts +1 -1
  75. package/dest/config/node-rpc-config.d.ts.map +1 -1
  76. package/dest/config/node-rpc-config.js +1 -1
  77. package/dest/config/sequencer-config.d.ts +4 -2
  78. package/dest/config/sequencer-config.d.ts.map +1 -1
  79. package/dest/config/sequencer-config.js +22 -3
  80. package/dest/contract/artifact_hash.d.ts +2 -2
  81. package/dest/contract/artifact_hash.d.ts.map +1 -1
  82. package/dest/contract/artifact_hash.js +10 -2
  83. package/dest/contract/contract_address.d.ts +5 -4
  84. package/dest/contract/contract_address.d.ts.map +1 -1
  85. package/dest/contract/contract_class.d.ts +1 -1
  86. package/dest/contract/contract_class.d.ts.map +1 -1
  87. package/dest/contract/contract_class.js +3 -2
  88. package/dest/contract/contract_instance.d.ts +16 -2
  89. package/dest/contract/contract_instance.d.ts.map +1 -1
  90. package/dest/contract/contract_instance.js +45 -0
  91. package/dest/contract/index.d.ts +1 -2
  92. package/dest/contract/index.d.ts.map +1 -1
  93. package/dest/contract/index.js +0 -1
  94. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  95. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  96. package/dest/contract/interfaces/contract_instance.d.ts +71 -10
  97. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  98. package/dest/contract/interfaces/contract_instance.js +7 -2
  99. package/dest/contract/interfaces/node-info.d.ts +11 -1
  100. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  101. package/dest/contract/interfaces/node-info.js +7 -1
  102. package/dest/contract/partial_address.d.ts +9 -3
  103. package/dest/contract/partial_address.d.ts.map +1 -1
  104. package/dest/contract/partial_address.js +8 -2
  105. package/dest/database-version/version_manager.d.ts +18 -4
  106. package/dest/database-version/version_manager.d.ts.map +1 -1
  107. package/dest/database-version/version_manager.js +76 -6
  108. package/dest/deserialization/index.d.ts +35 -3
  109. package/dest/deserialization/index.d.ts.map +1 -1
  110. package/dest/deserialization/index.js +32 -1
  111. package/dest/file-store/factory.d.ts +1 -1
  112. package/dest/file-store/factory.d.ts.map +1 -1
  113. package/dest/file-store/factory.js +7 -0
  114. package/dest/file-store/index.d.ts +2 -1
  115. package/dest/file-store/index.d.ts.map +1 -1
  116. package/dest/file-store/index.js +1 -0
  117. package/dest/file-store/memory.d.ts +24 -0
  118. package/dest/file-store/memory.d.ts.map +1 -0
  119. package/dest/file-store/memory.js +80 -0
  120. package/dest/gas/gas_settings.d.ts +7 -13
  121. package/dest/gas/gas_settings.d.ts.map +1 -1
  122. package/dest/gas/gas_settings.js +9 -16
  123. package/dest/gas/index.d.ts +2 -1
  124. package/dest/gas/index.d.ts.map +1 -1
  125. package/dest/gas/index.js +1 -0
  126. package/dest/gas/tx_gas_limits.d.ts +72 -0
  127. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  128. package/dest/gas/tx_gas_limits.js +85 -0
  129. package/dest/ha-signing/config.d.ts +19 -5
  130. package/dest/ha-signing/config.d.ts.map +1 -1
  131. package/dest/ha-signing/config.js +9 -3
  132. package/dest/ha-signing/local_config.d.ts +10 -2
  133. package/dest/ha-signing/local_config.d.ts.map +1 -1
  134. package/dest/ha-signing/local_config.js +8 -2
  135. package/dest/hash/hash.d.ts +1 -2
  136. package/dest/hash/hash.d.ts.map +1 -1
  137. package/dest/hash/hash.js +0 -7
  138. package/dest/interfaces/api_limit.d.ts +6 -1
  139. package/dest/interfaces/api_limit.d.ts.map +1 -1
  140. package/dest/interfaces/api_limit.js +3 -0
  141. package/dest/interfaces/archiver.d.ts +12 -7
  142. package/dest/interfaces/archiver.d.ts.map +1 -1
  143. package/dest/interfaces/archiver.js +13 -6
  144. package/dest/interfaces/aztec-node-admin.d.ts +25 -17
  145. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  146. package/dest/interfaces/aztec-node-admin.js +1 -1
  147. package/dest/interfaces/aztec-node-debug.d.ts +40 -2
  148. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -1
  149. package/dest/interfaces/aztec-node-debug.js +29 -1
  150. package/dest/interfaces/aztec-node.d.ts +100 -33
  151. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  152. package/dest/interfaces/aztec-node.js +72 -23
  153. package/dest/interfaces/block-builder.d.ts +9 -2
  154. package/dest/interfaces/block-builder.d.ts.map +1 -1
  155. package/dest/interfaces/block_response.d.ts +5 -5
  156. package/dest/interfaces/block_response.d.ts.map +1 -1
  157. package/dest/interfaces/chain_tips.d.ts +8 -47
  158. package/dest/interfaces/chain_tips.d.ts.map +1 -1
  159. package/dest/interfaces/chain_tips.js +1 -6
  160. package/dest/interfaces/checkpoint_parameter.d.ts +3 -3
  161. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -1
  162. package/dest/interfaces/checkpoint_parameter.js +3 -3
  163. package/dest/interfaces/checkpoint_response.d.ts +5 -5
  164. package/dest/interfaces/checkpoint_response.d.ts.map +1 -1
  165. package/dest/interfaces/client.d.ts +2 -1
  166. package/dest/interfaces/client.d.ts.map +1 -1
  167. package/dest/interfaces/configs.d.ts +33 -6
  168. package/dest/interfaces/configs.d.ts.map +1 -1
  169. package/dest/interfaces/configs.js +6 -1
  170. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  171. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  172. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  173. package/dest/interfaces/merkle_tree_operations.d.ts +8 -3
  174. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  175. package/dest/interfaces/p2p.d.ts +38 -9
  176. package/dest/interfaces/p2p.d.ts.map +1 -1
  177. package/dest/interfaces/p2p.js +14 -2
  178. package/dest/interfaces/private_kernel_prover.d.ts +71 -12
  179. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  180. package/dest/interfaces/prover-client.d.ts +2 -3
  181. package/dest/interfaces/prover-client.d.ts.map +1 -1
  182. package/dest/interfaces/prover-node.d.ts +12 -8
  183. package/dest/interfaces/prover-node.d.ts.map +1 -1
  184. package/dest/interfaces/prover-node.js +24 -17
  185. package/dest/interfaces/proving-job.d.ts +17 -4
  186. package/dest/interfaces/proving-job.d.ts.map +1 -1
  187. package/dest/interfaces/proving-job.js +13 -4
  188. package/dest/interfaces/server.d.ts +1 -3
  189. package/dest/interfaces/server.d.ts.map +1 -1
  190. package/dest/interfaces/server.js +0 -2
  191. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  192. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  193. package/dest/interfaces/tx_provider.d.ts +5 -1
  194. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  195. package/dest/interfaces/validator.d.ts +15 -4
  196. package/dest/interfaces/validator.d.ts.map +1 -1
  197. package/dest/interfaces/validator.js +3 -1
  198. package/dest/interfaces/world_state.d.ts +14 -1
  199. package/dest/interfaces/world_state.d.ts.map +1 -1
  200. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  201. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  202. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  203. package/dest/kernel/hints/index.d.ts +1 -2
  204. package/dest/kernel/hints/index.d.ts.map +1 -1
  205. package/dest/kernel/hints/index.js +0 -1
  206. package/dest/kernel/hints/read_request.js +1 -1
  207. package/dest/kernel/index.d.ts +6 -2
  208. package/dest/kernel/index.d.ts.map +1 -1
  209. package/dest/kernel/index.js +5 -1
  210. package/dest/kernel/log_hash.d.ts +1 -1
  211. package/dest/kernel/log_hash.d.ts.map +1 -1
  212. package/dest/kernel/log_hash.js +2 -2
  213. package/dest/kernel/note_hash.js +1 -1
  214. package/dest/kernel/nullifier.js +1 -1
  215. package/dest/kernel/private_circuit_public_inputs.d.ts +13 -3
  216. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  217. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  218. package/dest/kernel/private_context_inputs.d.ts +4 -3
  219. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  220. package/dest/kernel/private_context_inputs.js +7 -3
  221. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -9
  222. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  223. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  224. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +2 -3
  225. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -1
  226. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +3 -5
  227. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +2 -3
  228. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -1
  229. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +3 -5
  230. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  231. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  232. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  233. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  234. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  235. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  236. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  237. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  238. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  239. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  240. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  241. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  242. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  243. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  244. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  245. package/dest/kernel/private_kernel_prover_output.d.ts +4 -1
  246. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  247. package/dest/kernel/private_kernel_prover_output.js +4 -1
  248. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  249. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  250. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  251. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  252. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  253. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  254. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  255. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  256. package/dest/kernel/private_log_data.d.ts +1 -1
  257. package/dest/kernel/private_log_data.d.ts.map +1 -1
  258. package/dest/kernel/private_log_data.js +1 -1
  259. package/dest/kernel/utils/index.d.ts +1 -2
  260. package/dest/kernel/utils/index.d.ts.map +1 -1
  261. package/dest/kernel/utils/index.js +0 -1
  262. package/dest/keys/derivation.d.ts +41 -6
  263. package/dest/keys/derivation.d.ts.map +1 -1
  264. package/dest/keys/derivation.js +49 -26
  265. package/dest/logs/app_tagging_secret.d.ts +30 -7
  266. package/dest/logs/app_tagging_secret.d.ts.map +1 -1
  267. package/dest/logs/app_tagging_secret.js +46 -39
  268. package/dest/logs/app_tagging_secret_kind.d.ts +2 -1
  269. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -1
  270. package/dest/logs/app_tagging_secret_kind.js +13 -0
  271. package/dest/logs/contract_class_log.d.ts +1 -2
  272. package/dest/logs/contract_class_log.d.ts.map +1 -1
  273. package/dest/logs/contract_class_log.js +0 -4
  274. package/dest/logs/log_result.d.ts +3 -3
  275. package/dest/logs/log_result.d.ts.map +1 -1
  276. package/dest/logs/logs_query.d.ts +2 -2
  277. package/dest/logs/message_context.d.ts +4 -13
  278. package/dest/logs/message_context.d.ts.map +1 -1
  279. package/dest/logs/message_context.js +1 -62
  280. package/dest/logs/pending_tagged_log.d.ts +6 -8
  281. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  282. package/dest/logs/pending_tagged_log.js +1 -31
  283. package/dest/logs/shared_secret_derivation.d.ts +29 -6
  284. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  285. package/dest/logs/shared_secret_derivation.js +44 -11
  286. package/dest/messaging/l1_to_l2_message.d.ts +23 -2
  287. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  288. package/dest/messaging/l1_to_l2_message.js +36 -11
  289. package/dest/messaging/l2_to_l1_membership.d.ts +11 -4
  290. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  291. package/dest/messaging/l2_to_l1_membership.js +22 -7
  292. package/dest/noir/index.d.ts +3 -3
  293. package/dest/noir/index.d.ts.map +1 -1
  294. package/dest/p2p/attestation_utils.d.ts +1 -1
  295. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  296. package/dest/p2p/attestation_utils.js +8 -1
  297. package/dest/p2p/checkpoint_attestation.d.ts +10 -1
  298. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  299. package/dest/p2p/checkpoint_attestation.js +10 -0
  300. package/dest/p2p/checkpoint_proposal.d.ts +2 -1
  301. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  302. package/dest/p2p/consensus_payload.d.ts +2 -1
  303. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  304. package/dest/p2p/index.d.ts +1 -2
  305. package/dest/p2p/index.d.ts.map +1 -1
  306. package/dest/p2p/index.js +0 -1
  307. package/dest/p2p/signature_utils.d.ts +10 -1
  308. package/dest/p2p/signature_utils.d.ts.map +1 -1
  309. package/dest/p2p/signature_utils.js +9 -1
  310. package/dest/rollup/avm_proof_data.d.ts +3 -3
  311. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  312. package/dest/rollup/checkpoint_header.d.ts +8 -3
  313. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  314. package/dest/rollup/checkpoint_header.js +20 -10
  315. package/dest/stats/stats.d.ts +2 -2
  316. package/dest/stats/stats.d.ts.map +1 -1
  317. package/dest/tests/factories.d.ts +1 -27
  318. package/dest/tests/factories.d.ts.map +1 -1
  319. package/dest/tests/factories.js +10 -45
  320. package/dest/tests/mocks.d.ts +1 -1
  321. package/dest/tests/mocks.d.ts.map +1 -1
  322. package/dest/tests/mocks.js +3 -2
  323. package/dest/timetable/budgets.d.ts +57 -0
  324. package/dest/timetable/budgets.d.ts.map +1 -0
  325. package/dest/timetable/budgets.js +56 -0
  326. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  327. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  328. package/dest/timetable/build_proposer_timetable.js +17 -0
  329. package/dest/timetable/consensus_timetable.d.ts +70 -0
  330. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  331. package/dest/timetable/consensus_timetable.js +89 -0
  332. package/dest/timetable/index.d.ts +5 -87
  333. package/dest/timetable/index.d.ts.map +1 -1
  334. package/dest/timetable/index.js +4 -243
  335. package/dest/timetable/proposer_timetable.d.ts +106 -0
  336. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  337. package/dest/timetable/proposer_timetable.js +132 -0
  338. package/dest/trees/nullifier_membership_witness.d.ts +5 -8
  339. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  340. package/dest/trees/nullifier_membership_witness.js +0 -9
  341. package/dest/trees/public_data_witness.d.ts +7 -17
  342. package/dest/trees/public_data_witness.d.ts.map +1 -1
  343. package/dest/trees/public_data_witness.js +0 -27
  344. package/dest/tx/execution_payload.d.ts +1 -1
  345. package/dest/tx/execution_payload.d.ts.map +1 -1
  346. package/dest/tx/execution_payload.js +1 -1
  347. package/dest/tx/fee_provider.d.ts +2 -2
  348. package/dest/tx/fee_provider.d.ts.map +1 -1
  349. package/dest/tx/global_variable_builder.d.ts +2 -12
  350. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  351. package/dest/tx/global_variables.js +2 -2
  352. package/dest/tx/hashed_values.d.ts +7 -1
  353. package/dest/tx/hashed_values.d.ts.map +1 -1
  354. package/dest/tx/hashed_values.js +9 -1
  355. package/dest/tx/index.d.ts +1 -2
  356. package/dest/tx/index.d.ts.map +1 -1
  357. package/dest/tx/index.js +0 -1
  358. package/dest/tx/indexed_tx_effect.d.ts +5 -2
  359. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  360. package/dest/tx/indexed_tx_effect.js +8 -4
  361. package/dest/tx/offchain_effect.js +1 -1
  362. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  363. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  364. package/dest/tx/private_tx_constant_data.js +13 -4
  365. package/dest/tx/profiling.d.ts +1 -1
  366. package/dest/tx/profiling.d.ts.map +1 -1
  367. package/dest/tx/profiling.js +2 -0
  368. package/dest/tx/simulated_tx.d.ts +10 -6
  369. package/dest/tx/simulated_tx.d.ts.map +1 -1
  370. package/dest/tx/simulated_tx.js +7 -2
  371. package/dest/tx/tx.d.ts +23 -1
  372. package/dest/tx/tx.d.ts.map +1 -1
  373. package/dest/tx/tx.js +32 -3
  374. package/dest/tx/tx_receipt.d.ts +143 -60
  375. package/dest/tx/tx_receipt.d.ts.map +1 -1
  376. package/dest/tx/tx_receipt.js +141 -45
  377. package/dest/tx/validator/error_texts.d.ts +2 -2
  378. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  379. package/dest/tx/validator/error_texts.js +1 -1
  380. package/dest/validators/errors.d.ts +16 -1
  381. package/dest/validators/errors.d.ts.map +1 -1
  382. package/dest/validators/errors.js +12 -0
  383. package/dest/world-state/genesis_data.d.ts +9 -1
  384. package/dest/world-state/genesis_data.d.ts.map +1 -1
  385. package/dest/world-state/genesis_data.js +1 -0
  386. package/dest/world-state/world_state_revision.d.ts +1 -18
  387. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  388. package/dest/world-state/world_state_revision.js +0 -20
  389. package/package.json +8 -8
  390. package/src/abi/abi.ts +32 -4
  391. package/src/abi/buffer.ts +13 -1
  392. package/src/abi/contract_artifact.ts +40 -16
  393. package/src/abi/decoder.ts +20 -24
  394. package/src/abi/function_call.ts +19 -7
  395. package/src/avm/avm.ts +5 -2
  396. package/src/avm/index.ts +0 -5
  397. package/src/aztec-address/index.ts +36 -6
  398. package/src/block/attestation_info.ts +7 -2
  399. package/src/block/l2_block_source.ts +95 -19
  400. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  401. package/src/block/l2_block_stream/index.ts +1 -0
  402. package/src/block/l2_block_stream/interfaces.ts +98 -10
  403. package/src/block/l2_block_stream/l2_block_stream.ts +255 -177
  404. package/src/block/l2_block_stream/l2_tips_memory_store.ts +12 -41
  405. package/src/block/l2_block_stream/l2_tips_store_base.ts +84 -93
  406. package/src/block/proposal/attestations_and_signers.ts +53 -7
  407. package/src/block/test/l2_tips_store_test_suite.ts +275 -28
  408. package/src/block/validate_block_result.ts +48 -2
  409. package/src/checkpoint/checkpoint.ts +2 -2
  410. package/src/checkpoint/index.ts +1 -0
  411. package/src/checkpoint/simulation_overrides.ts +171 -0
  412. package/src/checkpoint/validate.ts +16 -6
  413. package/src/config/index.ts +1 -1
  414. package/src/config/network-consensus-config.ts +291 -0
  415. package/src/config/node-rpc-config.ts +2 -1
  416. package/src/config/sequencer-config.ts +36 -5
  417. package/src/contract/artifact_hash.ts +15 -3
  418. package/src/contract/contract_address.ts +4 -3
  419. package/src/contract/contract_class.ts +3 -2
  420. package/src/contract/contract_instance.ts +62 -1
  421. package/src/contract/index.ts +0 -1
  422. package/src/contract/interfaces/contract_data_source.ts +2 -4
  423. package/src/contract/interfaces/contract_instance.ts +26 -8
  424. package/src/contract/interfaces/node-info.ts +11 -0
  425. package/src/contract/partial_address.ts +8 -2
  426. package/src/database-version/version_manager.ts +96 -6
  427. package/src/deserialization/index.ts +35 -2
  428. package/src/file-store/factory.ts +7 -0
  429. package/src/file-store/index.ts +1 -0
  430. package/src/file-store/memory.ts +94 -0
  431. package/src/gas/README.md +199 -35
  432. package/src/gas/gas_settings.ts +11 -21
  433. package/src/gas/index.ts +1 -0
  434. package/src/gas/tx_gas_limits.ts +123 -0
  435. package/src/ha-signing/config.ts +23 -5
  436. package/src/ha-signing/local_config.ts +20 -1
  437. package/src/hash/hash.ts +0 -8
  438. package/src/interfaces/api_limit.ts +5 -0
  439. package/src/interfaces/archiver.ts +22 -9
  440. package/src/interfaces/aztec-node-admin.ts +1 -1
  441. package/src/interfaces/aztec-node-debug.ts +54 -2
  442. package/src/interfaces/aztec-node.ts +175 -49
  443. package/src/interfaces/block-builder.ts +8 -1
  444. package/src/interfaces/block_response.ts +4 -4
  445. package/src/interfaces/chain_tips.ts +8 -16
  446. package/src/interfaces/checkpoint_parameter.ts +3 -3
  447. package/src/interfaces/checkpoint_response.ts +4 -4
  448. package/src/interfaces/client.ts +1 -0
  449. package/src/interfaces/configs.ts +33 -6
  450. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  451. package/src/interfaces/merkle_tree_operations.ts +8 -2
  452. package/src/interfaces/p2p.ts +29 -9
  453. package/src/interfaces/private_kernel_prover.ts +104 -13
  454. package/src/interfaces/prover-client.ts +1 -3
  455. package/src/interfaces/prover-node.ts +32 -17
  456. package/src/interfaces/proving-job.ts +15 -3
  457. package/src/interfaces/server.ts +0 -2
  458. package/src/interfaces/server_circuit_prover.ts +2 -2
  459. package/src/interfaces/tx_provider.ts +4 -0
  460. package/src/interfaces/validator.ts +11 -0
  461. package/src/interfaces/world_state.ts +14 -0
  462. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  463. package/src/kernel/hints/index.ts +0 -1
  464. package/src/kernel/hints/read_request.ts +1 -1
  465. package/src/kernel/index.ts +5 -1
  466. package/src/kernel/log_hash.ts +5 -2
  467. package/src/kernel/note_hash.ts +1 -1
  468. package/src/kernel/nullifier.ts +1 -1
  469. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  470. package/src/kernel/private_context_inputs.ts +10 -3
  471. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  472. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +0 -3
  473. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +0 -3
  474. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  475. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  476. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  477. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  478. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  479. package/src/kernel/private_kernel_prover_output.ts +4 -0
  480. package/src/kernel/private_kernel_reset_dimensions.ts +16 -6
  481. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  482. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  483. package/src/kernel/private_log_data.ts +4 -1
  484. package/src/kernel/utils/index.ts +0 -1
  485. package/src/keys/derivation.ts +69 -24
  486. package/src/logs/app_tagging_secret.ts +62 -39
  487. package/src/logs/app_tagging_secret_kind.ts +15 -0
  488. package/src/logs/contract_class_log.ts +0 -9
  489. package/src/logs/log_result.ts +2 -2
  490. package/src/logs/logs_query.ts +2 -2
  491. package/src/logs/message_context.ts +6 -60
  492. package/src/logs/pending_tagged_log.ts +6 -33
  493. package/src/logs/shared_secret_derivation.ts +47 -14
  494. package/src/messaging/l1_to_l2_message.ts +51 -13
  495. package/src/messaging/l2_to_l1_membership.ts +28 -11
  496. package/src/noir/index.ts +2 -1
  497. package/src/p2p/attestation_utils.ts +8 -1
  498. package/src/p2p/checkpoint_attestation.ts +12 -0
  499. package/src/p2p/index.ts +0 -1
  500. package/src/p2p/signature_utils.ts +9 -0
  501. package/src/rollup/avm_proof_data.ts +2 -2
  502. package/src/rollup/checkpoint_header.ts +16 -2
  503. package/src/stats/stats.ts +6 -2
  504. package/src/tests/factories.ts +13 -51
  505. package/src/tests/mocks.ts +7 -2
  506. package/src/timetable/README.md +609 -0
  507. package/src/timetable/budgets.ts +87 -0
  508. package/src/timetable/build_proposer_timetable.ts +42 -0
  509. package/src/timetable/consensus_timetable.ts +126 -0
  510. package/src/timetable/index.ts +4 -361
  511. package/src/timetable/proposer_timetable.ts +190 -0
  512. package/src/timetable/timetable-example.svg +108 -0
  513. package/src/trees/nullifier_membership_witness.ts +0 -11
  514. package/src/trees/public_data_witness.ts +0 -31
  515. package/src/tx/execution_payload.ts +2 -1
  516. package/src/tx/fee_provider.ts +1 -1
  517. package/src/tx/global_variable_builder.ts +1 -17
  518. package/src/tx/global_variables.ts +2 -2
  519. package/src/tx/hashed_values.ts +11 -6
  520. package/src/tx/index.ts +0 -1
  521. package/src/tx/indexed_tx_effect.ts +17 -4
  522. package/src/tx/offchain_effect.ts +1 -1
  523. package/src/tx/private_tx_constant_data.ts +25 -2
  524. package/src/tx/profiling.ts +2 -0
  525. package/src/tx/simulated_tx.ts +13 -2
  526. package/src/tx/tx.ts +46 -3
  527. package/src/tx/tx_receipt.ts +263 -71
  528. package/src/tx/validator/error_texts.ts +2 -1
  529. package/src/validators/errors.ts +17 -0
  530. package/src/world-state/genesis_data.ts +10 -0
  531. package/src/world-state/world_state_revision.ts +0 -33
  532. package/dest/avm/contract_storage_read.d.ts +0 -58
  533. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  534. package/dest/avm/contract_storage_read.js +0 -65
  535. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  536. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  537. package/dest/avm/contract_storage_update_request.js +0 -80
  538. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  539. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  540. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  541. package/dest/avm/public_data_update_request.d.ts +0 -62
  542. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  543. package/dest/avm/public_data_update_request.js +0 -67
  544. package/dest/avm/public_inner_call_request.d.ts +0 -50
  545. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  546. package/dest/avm/public_inner_call_request.js +0 -74
  547. package/dest/config/pipelining-config.d.ts +0 -15
  548. package/dest/config/pipelining-config.d.ts.map +0 -1
  549. package/dest/config/pipelining-config.js +0 -18
  550. package/dest/contract/deployment_info.d.ts +0 -24
  551. package/dest/contract/deployment_info.d.ts.map +0 -1
  552. package/dest/contract/deployment_info.js +0 -3
  553. package/dest/interfaces/epoch-prover.d.ts +0 -57
  554. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  555. package/dest/interfaces/epoch-prover.js +0 -1
  556. package/dest/interfaces/prover-coordination.d.ts +0 -15
  557. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  558. package/dest/interfaces/prover-coordination.js +0 -1
  559. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  560. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  561. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  562. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  563. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  564. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  565. package/dest/kernel/utils/optional_number.d.ts +0 -31
  566. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  567. package/dest/kernel/utils/optional_number.js +0 -42
  568. package/dest/p2p/interface.d.ts +0 -5
  569. package/dest/p2p/interface.d.ts.map +0 -1
  570. package/dest/p2p/interface.js +0 -1
  571. package/dest/tx/validator/empty_validator.d.ts +0 -5
  572. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  573. package/dest/tx/validator/empty_validator.js +0 -7
  574. package/src/avm/contract_storage_read.ts +0 -77
  575. package/src/avm/contract_storage_update_request.ts +0 -93
  576. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  577. package/src/avm/public_data_update_request.ts +0 -106
  578. package/src/avm/public_inner_call_request.ts +0 -85
  579. package/src/config/pipelining-config.ts +0 -31
  580. package/src/contract/deployment_info.ts +0 -25
  581. package/src/interfaces/epoch-prover.ts +0 -72
  582. package/src/interfaces/prover-coordination.ts +0 -17
  583. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  584. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  585. package/src/kernel/utils/optional_number.ts +0 -50
  586. package/src/p2p/interface.ts +0 -4
  587. package/src/tx/validator/empty_validator.ts +0 -7
package/dest/abi/abi.d.ts CHANGED
@@ -9,6 +9,13 @@ export interface BasicValue<T extends string, V> {
9
9
  }
10
10
  /** An exported value. */
11
11
  export type AbiValue = BasicValue<'boolean', boolean> | BasicValue<'string', string> | BasicValue<'array', AbiValue[]> | TupleValue | IntegerValue | StructValue;
12
+ /** An exported value together with the name of the global that produced it. */
13
+ export interface AbiNamedValue {
14
+ /** The name of the exported global. */
15
+ name: string;
16
+ /** The exported value. */
17
+ value: AbiValue;
18
+ }
12
19
  export declare const AbiValueSchema: z.ZodType<AbiValue>;
13
20
  export type TypedStructFieldValue<T> = {
14
21
  name: string;
@@ -120,13 +127,27 @@ export interface FunctionAbi {
120
127
  isStatic: boolean;
121
128
  /** Function parameters. */
122
129
  parameters: ABIParameter[];
123
- /** The types of the return values. */
124
- returnTypes: AbiType[];
130
+ /** The type of the value the function returns, or undefined if it returns nothing. */
131
+ returnType?: AbiType;
132
+ /**
133
+ * The same type as `returnType`, as a list that is either:
134
+ * - a single entry, when the function returns something. Multiple return values are expressed as a single `tuple`
135
+ * type, so this never holds more than one entry.
136
+ * - empty, when the function returns nothing.
137
+ *
138
+ * @deprecated Read it through {@link getFunctionReturnType}.
139
+ */
140
+ returnTypes?: AbiType[];
125
141
  /** The types of the errors that the function can throw. */
126
142
  errorTypes: Partial<Record<string, AbiErrorType>>;
127
143
  /** Whether the function is flagged as an initializer. */
128
144
  isInitializer: boolean;
129
145
  }
146
+ /**
147
+ * The type a function returns, or undefined if it returns nothing. Falls back to the deprecated `returnTypes` so that
148
+ * artifacts serialized before `returnType` existed still resolve.
149
+ */
150
+ export declare function getFunctionReturnType(abi: Pick<FunctionAbi, 'returnType' | 'returnTypes'>): AbiType | undefined;
130
151
  export declare const FunctionAbiSchema: z.ZodObject<{
131
152
  name: z.ZodString;
132
153
  functionType: z.ZodEnum<typeof FunctionType>;
@@ -142,7 +163,8 @@ export declare const FunctionAbiSchema: z.ZodObject<{
142
163
  public: "public";
143
164
  }>;
144
165
  }, z.core.$strip>>;
145
- returnTypes: z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
166
+ returnType: z.ZodOptional<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
167
+ returnTypes: z.ZodOptional<z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>>;
146
168
  errorTypes: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
147
169
  error_kind: z.ZodLiteral<"string">;
148
170
  string: z.ZodString;
@@ -217,7 +239,8 @@ export declare const FunctionArtifactSchema: z.ZodIntersection<z.ZodObject<{
217
239
  public: "public";
218
240
  }>;
219
241
  }, z.core.$strip>>;
220
- returnTypes: z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
242
+ returnType: z.ZodOptional<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
243
+ returnTypes: z.ZodOptional<z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>>;
221
244
  errorTypes: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
222
245
  error_kind: z.ZodLiteral<"string">;
223
246
  string: z.ZodString;
@@ -361,7 +384,8 @@ export declare const ContractArtifactSchema: z.ZodObject<{
361
384
  public: "public";
362
385
  }>;
363
386
  }, z.core.$strip>>;
364
- returnTypes: z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
387
+ returnType: z.ZodOptional<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
388
+ returnTypes: z.ZodOptional<z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>>;
365
389
  errorTypes: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
366
390
  error_kind: z.ZodLiteral<"string">;
367
391
  string: z.ZodString;
@@ -418,7 +442,8 @@ export declare const ContractArtifactSchema: z.ZodObject<{
418
442
  public: "public";
419
443
  }>;
420
444
  }, z.core.$strip>>;
421
- returnTypes: z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
445
+ returnType: z.ZodOptional<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
446
+ returnTypes: z.ZodOptional<z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>>;
422
447
  errorTypes: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
423
448
  error_kind: z.ZodLiteral<"string">;
424
449
  string: z.ZodString;
@@ -487,4 +512,4 @@ export declare function emptyFunctionAbi(): FunctionAbi;
487
512
  export declare function emptyFunctionArtifact(): FunctionArtifact;
488
513
  export declare function emptyContractArtifact(): ContractArtifact;
489
514
  export {};
490
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2FiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt6RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELHFCQUFxQjtBQUNyQixNQUFNLFdBQVcsVUFBVSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsQ0FBQztJQUM3Qyw2QkFBNkI7SUFDN0IsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDLENBQUM7Q0FDVjtBQUlELHlCQUF5QjtBQUN6QixNQUFNLE1BQU0sUUFBUSxHQUNoQixVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUM5QixVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUM1QixVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQy9CLFVBQVUsR0FDVixZQUFZLEdBQ1osV0FBVyxDQUFDO0FBRWhCLGVBQU8sTUFBTSxjQUFjLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBVTdDLENBQUM7QUFFSCxNQUFNLE1BQU0scUJBQXFCLENBQUMsQ0FBQyxJQUFJO0lBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUFDLEtBQUssRUFBRSxDQUFDLENBQUE7Q0FBRSxDQUFDO0FBRWxFLE1BQU0sV0FBVyxXQUFXO0lBQzFCLElBQUksRUFBRSxRQUFRLENBQUM7SUFDZixNQUFNLEVBQUUscUJBQXFCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztDQUMzQztBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLElBQUksRUFBRSxPQUFPLENBQUM7SUFDZCxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7Q0FDcEI7QUFFRCxN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
515
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2FiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt6RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELHFCQUFxQjtBQUNyQixNQUFNLFdBQVcsVUFBVSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsQ0FBQztJQUM3Qyw2QkFBNkI7SUFDN0IsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDLENBQUM7Q0FDVjtBQUlELHlCQUF5QjtBQUN6QixNQUFNLE1BQU0sUUFBUSxHQUNoQixVQUFVLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUM5QixVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUM1QixVQUFVLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQy9CLFVBQVUsR0FDVixZQUFZLEdBQ1osV0FBVyxDQUFDO0FBRWhCLCtFQUErRTtBQUMvRSxNQUFNLFdBQVcsYUFBYTtJQUM1Qix1Q0FBdUM7SUFDdkMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLDBCQUEwQjtJQUMxQixLQUFLLEVBQUUsUUFBUSxDQUFDO0NBQ2pCO0FBRUQsZUFBTyxNQUFNLGNBQWMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FVN0MsQ0FBQztBQUVILE1BQU0sTUFBTSxxQkFBcUIsQ0FBQyxDQUFDLElBQUk7SUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQTtDQUFFLENBQUM7QUFFbEUsTUFBTSxXQUFXLFdBQVc7SUFDMUIsSUFBSSxFQUFFLFFBQVEsQ0FBQztJQUNmLE1BQU0sRUFBRSxxQkFBcUIsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/abi/abi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/abi/abi.ts"],"names":[],"mappings":"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"}
package/dest/abi/abi.js CHANGED
@@ -102,6 +102,15 @@ const AbiErrorTypeSchema = zodFor()(z.union([
102
102
  FunctionType["UTILITY"] = "utility";
103
103
  return FunctionType;
104
104
  }({});
105
+ /**
106
+ * The type a function returns, or undefined if it returns nothing. Falls back to the deprecated `returnTypes` so that
107
+ * artifacts serialized before `returnType` existed still resolve.
108
+ */ export function getFunctionReturnType(abi) {
109
+ if (abi.returnTypes !== undefined && abi.returnTypes.length > 1) {
110
+ throw new Error(`Expected at most one return type, got ${abi.returnTypes.length}`);
111
+ }
112
+ return abi.returnType ?? abi.returnTypes?.[0];
113
+ }
105
114
  export const FunctionAbiSchema = z.object({
106
115
  name: z.string(),
107
116
  functionType: z.nativeEnum(FunctionType),
@@ -113,7 +122,8 @@ export const FunctionAbiSchema = z.object({
113
122
  type: AbiTypeSchema,
114
123
  visibility: z.enum(ABIParameterVisibility)
115
124
  })),
116
- returnTypes: z.array(AbiTypeSchema),
125
+ returnType: AbiTypeSchema.optional(),
126
+ returnTypes: z.array(AbiTypeSchema).optional(),
117
127
  errorTypes: z.record(z.string(), AbiErrorTypeSchema.optional())
118
128
  });
119
129
  export const FunctionDebugMetadataSchema = z.object({
@@ -303,7 +313,6 @@ export function emptyFunctionAbi() {
303
313
  isOnlySelf: false,
304
314
  isStatic: false,
305
315
  parameters: [],
306
- returnTypes: [],
307
316
  errorTypes: {},
308
317
  isInitializer: false
309
318
  };
@@ -20,7 +20,11 @@ export declare function bufferAsFields(input: Buffer, targetLength: number): Fr[
20
20
  * bytecode commitment computations to diverge from what the circuit produced.
21
21
  *
22
22
  * @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
23
+ * @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
24
+ * from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
25
+ * attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
26
+ * rejected. Throws if the declared length exceeds it, before allocating.
23
27
  * @returns A buffer of exactly `byteLength` bytes.
24
28
  */
25
- export declare function bufferFromFields(fields: Fr[]): Buffer;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBY3hFO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FjckQifQ==
29
+ export declare function bufferFromFields(fields: Fr[], maxByteLength?: number): Buffer;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBY3hFO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FzQjdFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/abi/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,CAcxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAcrD"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/abi/buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,CAcxE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB7E"}
@@ -37,10 +37,22 @@ import chunk from 'lodash.chunk';
37
37
  * bytecode commitment computations to diverge from what the circuit produced.
38
38
  *
39
39
  * @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
40
+ * @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
41
+ * from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
42
+ * attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
43
+ * rejected. Throws if the declared length exceeds it, before allocating.
40
44
  * @returns A buffer of exactly `byteLength` bytes.
41
- */ export function bufferFromFields(fields) {
45
+ */ export function bufferFromFields(fields, maxByteLength) {
46
+ // A valid bufferAsFields output always has at least the leading byte-length field, so an empty
47
+ // input encodes no data. Guard so `length` (the destructured head) is never undefined.
48
+ if (fields.length === 0) {
49
+ return Buffer.alloc(0);
50
+ }
42
51
  const [length, ...payload] = fields;
43
52
  const byteLength = length.toNumber();
53
+ if (maxByteLength !== undefined && byteLength > maxByteLength) {
54
+ throw new Error(`Declared byte length ${byteLength} exceeds maximum ${maxByteLength}`);
55
+ }
44
56
  const raw = Buffer.concat(payload.map((f)=>f.toBuffer().subarray(1)));
45
57
  if (raw.length >= byteLength) {
46
58
  return raw.subarray(0, byteLength);
@@ -33,4 +33,4 @@ type NoirCompiledContractFunction = NoirCompiledContract['functions'][number];
33
33
  */
34
34
  export declare function retainBytecode(input: NoirCompiledContractFunction | FunctionArtifact): boolean;
35
35
  export {};
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYXJ0aWZhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvY29udHJhY3RfYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQU9MLEtBQUssb0JBQW9CLEVBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQU1MLEtBQUssZ0JBQWdCLEVBSXJCLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0sVUFBVSxDQUFDO0FBRWxCOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sQ0FFM0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBRTNFO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLG9CQUFvQixHQUFHLGdCQUFnQixDQVNsRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDZCQUE2QixDQUFDLEtBQUssRUFBRSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FFM0Y7QUErREQseURBQXlEO0FBQ3pELEtBQUssNEJBQTRCLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFOUU7O0dBRUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLENBSTlGIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYXJ0aWZhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvY29udHJhY3RfYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQU9MLEtBQUssb0JBQW9CLEVBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQVFMLEtBQUssZ0JBQWdCLEVBSXJCLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0sVUFBVSxDQUFDO0FBRWxCOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sQ0FFM0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBRTNFO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLG9CQUFvQixHQUFHLGdCQUFnQixDQVNsRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDZCQUE2QixDQUFDLEtBQUssRUFBRSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FFM0Y7QUErREQseURBQXlEO0FBQ3pELEtBQUssNEJBQTRCLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFOUU7O0dBRUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLENBSTlGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"contract_artifact.d.ts","sourceRoot":"","sources":["../../src/abi/contract_artifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAML,KAAK,gBAAgB,EAIrB,KAAK,gBAAgB,EAKtB,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CAE3F;AA+DD,yDAAyD;AACzD,KAAK,4BAA4B,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,OAAO,CAI9F"}
1
+ {"version":3,"file":"contract_artifact.d.ts","sourceRoot":"","sources":["../../src/abi/contract_artifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAQL,KAAK,gBAAgB,EAIrB,KAAK,gBAAgB,EAKtB,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CASlF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CAE3F;AA+DD,yDAAyD;AACzD,KAAK,4BAA4B,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,OAAO,CAI9F"}
@@ -121,11 +121,9 @@ import { ARTIFACT_VERSION_BEFORE_INJECTION, ContractArtifactSchema, FunctionType
121
121
  if (hasKernelFunctionInputs(parameters)) {
122
122
  parameters = parameters.slice(1);
123
123
  }
124
- let returnTypes = [];
124
+ let returnType;
125
125
  if (functionType === FunctionType.UTILITY) {
126
- returnTypes = fn.abi.return_type ? [
127
- fn.abi.return_type.abi_type
128
- ] : returnTypes;
126
+ returnType = fn.abi.return_type?.abi_type;
129
127
  } else {
130
128
  const pathToFind = `${contract.name}::${fn.name}_abi`;
131
129
  const abiStructs = contract.outputs.structs['functions'];
@@ -134,12 +132,7 @@ import { ARTIFACT_VERSION_BEFORE_INJECTION, ContractArtifactSchema, FunctionType
134
132
  if (returnStruct.kind !== 'struct') {
135
133
  throw new Error('Could not generate contract function artifact');
136
134
  }
137
- const returnTypeField = returnStruct.fields.find((field)=>field.name === 'return_type');
138
- if (returnTypeField) {
139
- returnTypes = [
140
- returnTypeField.type
141
- ];
142
- }
135
+ returnType = returnStruct.fields.find((field)=>field.name === 'return_type')?.type;
143
136
  }
144
137
  }
145
138
  return {
@@ -149,7 +142,12 @@ import { ARTIFACT_VERSION_BEFORE_INJECTION, ContractArtifactSchema, FunctionType
149
142
  isStatic,
150
143
  isInitializer: fn.custom_attributes.includes(AZTEC_INITIALIZER_ATTRIBUTE),
151
144
  parameters,
152
- returnTypes,
145
+ returnType,
146
+ // Old consumers expect `returnTypes` property, not `returnType`. So we write both down for now, until we can
147
+ // safely remove the old version.
148
+ returnTypes: returnType ? [
149
+ returnType
150
+ ] : [],
153
151
  errorTypes: fn.abi.error_types,
154
152
  ...fn.assert_messages ? {
155
153
  assertMessages: fn.assert_messages
@@ -196,16 +194,20 @@ function getFunctionType(fn) {
196
194
  }
197
195
  /**
198
196
  * Generates a storage layout for the contract artifact.
199
- * @param input - The compiled noir contract to get storage layout for
197
+ * @param contractName - The name of the compiled Noir contract.
198
+ * @param globals - The normalized globals exported by the contract.
200
199
  * @returns A storage layout for the contract.
201
- */ function getStorageLayout(input) {
200
+ */ function getStorageLayout(contractName, globals) {
202
201
  // If another contract is imported by the main contract, its storage layout its going to also show up here.
203
202
  // The layout export includes the contract name, so here we can find the one that belongs to the current one and
204
203
  // ignore the rest.
205
- const storageExports = input.outputs.globals.storage ? input.outputs.globals.storage : [];
204
+ const storageExports = globals.storage ?? [];
206
205
  const storageForContract = storageExports.find((storageExport)=>{
206
+ if (storageExport.kind !== 'struct') {
207
+ return false;
208
+ }
207
209
  const contractNameField = storageExport.fields.find((field)=>field.name === 'contract_name')?.value;
208
- return contractNameField.value === input.name;
210
+ return contractNameField.value === contractName;
209
211
  });
210
212
  const storageFields = storageForContract ? storageForContract.fields.find((field)=>field.name == 'fields').value.fields : [];
211
213
  if (storageFields.length === 0) {
@@ -220,6 +222,18 @@ function getFunctionType(fn) {
220
222
  return acc;
221
223
  }, {});
222
224
  }
225
+ function isAbiNamedValue(value) {
226
+ return 'name' in value;
227
+ }
228
+ function normalizeContractOutputs(outputs) {
229
+ return {
230
+ structs: outputs.structs,
231
+ globals: Object.fromEntries(Object.entries(outputs.globals).map(([tag, values])=>[
232
+ tag,
233
+ values.map((value)=>isAbiNamedValue(value) ? value.value : value)
234
+ ]))
235
+ };
236
+ }
223
237
  /**
224
238
  * Given a post-processed Nargo output defined as `contract` generates an Aztec-compatible contract artifact.
225
239
  *
@@ -229,13 +243,14 @@ function getFunctionType(fn) {
229
243
  if (!contract.transpiled) {
230
244
  throw new Error("Contract's public bytecode has not been transpiled");
231
245
  }
246
+ const outputs = normalizeContractOutputs(contract.outputs);
232
247
  return ContractArtifactSchema.parse({
233
248
  name: contract.name,
234
249
  aztecVersion: contract.aztec_version,
235
250
  functions: contract.functions.filter((f)=>retainBytecode(f)).map((f)=>generateFunctionArtifact(f, contract)),
236
251
  nonDispatchPublicFunctions: contract.functions.filter((f)=>!retainBytecode(f)).map((f)=>generateFunctionAbi(f, contract)),
237
- outputs: contract.outputs,
238
- storageLayout: getStorageLayout(contract),
252
+ outputs,
253
+ storageLayout: getStorageLayout(contract.name, outputs.globals),
239
254
  fileMap: contract.file_map
240
255
  });
241
256
  } catch (err) {
@@ -248,13 +263,14 @@ function getFunctionType(fn) {
248
263
  * Retains all public bytecode.
249
264
  */ function generateContractArtifactForPublic(contract) {
250
265
  try {
266
+ const outputs = normalizeContractOutputs(contract.outputs);
251
267
  return ContractArtifactSchema.parse({
252
268
  name: contract.name,
253
269
  aztecVersion: contract.aztec_version,
254
270
  functions: contract.functions.map((f)=>generateFunctionArtifact(f, contract)),
255
271
  nonDispatchPublicFunctions: contract.functions.filter((f)=>!retainBytecode(f)).map((f)=>generateFunctionAbi(f, contract)),
256
- outputs: contract.outputs,
257
- storageLayout: getStorageLayout(contract),
272
+ outputs,
273
+ storageLayout: getStorageLayout(contract.name, outputs.globals),
258
274
  fileMap: contract.file_map
259
275
  });
260
276
  } catch (err) {
@@ -10,10 +10,17 @@ export type AbiDecoded = bigint | boolean | string | AztecAddress | EthAddress |
10
10
  [key: string]: AbiDecoded;
11
11
  } | undefined;
12
12
  /**
13
- * Decodes values in a flattened Field array using a provided ABI.
14
- * @param abi - The ABI to use as reference.
13
+ * Decodes the single value a function returns, or undefined if it returns nothing. Multiple return values are expressed
14
+ * as one `tuple` type, so they decode through here too.
15
+ * @param type - The type the function returns.
15
16
  * @param buffer - The flattened Field array to decode.
16
- * @returns
17
17
  */
18
- export declare function decodeFromAbi(typ: AbiType[], buffer: Fr[]): AbiDecoded;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVUxRDs7R0FFRztBQUNILE1BQU0sTUFBTSxVQUFVLEdBQ2xCLE1BQU0sR0FDTixPQUFPLEdBQ1AsTUFBTSxHQUNOLFlBQVksR0FDWixVQUFVLEdBQ1YsZ0JBQWdCLEdBQ2hCLEVBQUUsR0FDRixVQUFVLEVBQUUsR0FDWjtJQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxVQUFVLENBQUE7Q0FBRSxHQUM3QixTQUFTLENBQUM7QUE2R2Q7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLGNBRXpEIn0=
18
+ export declare function decodeFromAbi(type: AbiType | undefined, buffer: Fr[]): AbiDecoded;
19
+ /**
20
+ * Decodes one value per given type, consumed from the buffer in order. Always returns one decoded value per type, so
21
+ * callers can index the result positionally. A function's arguments are encoded this way.
22
+ * @param types - The type of each value, in order.
23
+ * @param buffer - The flattened Field array to decode.
24
+ */
25
+ export declare function decodeEachFromAbi(types: AbiType[], buffer: Fr[]): AbiDecoded[];
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVUxRDs7R0FFRztBQUNILE1BQU0sTUFBTSxVQUFVLEdBQ2xCLE1BQU0sR0FDTixPQUFPLEdBQ1AsTUFBTSxHQUNOLFlBQVksR0FDWixVQUFVLEdBQ1YsZ0JBQWdCLEdBQ2hCLEVBQUUsR0FDRixVQUFVLEVBQUUsR0FDWjtJQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxVQUFVLENBQUE7Q0FBRSxHQUM3QixTQUFTLENBQUM7QUE4RmQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLElBQUksRUFBRSxPQUFPLEdBQUcsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLENBRWpGO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FHOUUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU1D;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,OAAO,GACP,MAAM,GACN,YAAY,GACZ,UAAU,GACV,gBAAgB,GAChB,EAAE,GACF,UAAU,EAAE,GACZ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,GAC7B,SAAS,CAAC;AA6Gd;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAEzD"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU1D;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,OAAO,GACP,MAAM,GACN,YAAY,GACZ,UAAU,GACV,gBAAgB,GAChB,EAAE,GACF,UAAU,EAAE,GACZ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,GAC7B,SAAS,CAAC;AA8Fd;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,CAG9E"}
@@ -5,16 +5,14 @@ import { isAztecAddressStruct, isEthAddressStruct, isFunctionSelectorStruct, isO
5
5
  /**
6
6
  * Decodes values using a provided ABI.
7
7
  */ class AbiDecoder {
8
- types;
9
8
  flattened;
10
- constructor(types, flattened){
11
- this.types = types;
9
+ constructor(flattened){
12
10
  this.flattened = flattened;
13
11
  }
14
12
  /**
15
- * Decodes a single return value from field to the given type.
16
- * @param abiType - The type of the return value.
17
- * @returns The decoded return value.
13
+ * Decodes a single value from field to the given type.
14
+ * @param abiType - The type of the value.
15
+ * @returns The decoded value.
18
16
  */ decodeNext(abiType) {
19
17
  switch(abiType.kind){
20
18
  case 'field':
@@ -94,22 +92,21 @@ import { isAztecAddressStruct, isEthAddressStruct, isFunctionSelectorStruct, isO
94
92
  }
95
93
  return field;
96
94
  }
97
- /**
98
- * Decodes all the values for the given ABI.
99
- * The decided value can be simple types, structs or arrays
100
- * @returns The decoded return values.
101
- */ decode() {
102
- if (this.types.length === 1) {
103
- return this.decodeNext(this.types[0]);
104
- }
105
- return this.types.map((type)=>this.decodeNext(type));
106
- }
107
95
  }
108
96
  /**
109
- * Decodes values in a flattened Field array using a provided ABI.
110
- * @param abi - The ABI to use as reference.
97
+ * Decodes the single value a function returns, or undefined if it returns nothing. Multiple return values are expressed
98
+ * as one `tuple` type, so they decode through here too.
99
+ * @param type - The type the function returns.
100
+ * @param buffer - The flattened Field array to decode.
101
+ */ export function decodeFromAbi(type, buffer) {
102
+ return type === undefined ? undefined : new AbiDecoder(buffer.slice()).decodeNext(type);
103
+ }
104
+ /**
105
+ * Decodes one value per given type, consumed from the buffer in order. Always returns one decoded value per type, so
106
+ * callers can index the result positionally. A function's arguments are encoded this way.
107
+ * @param types - The type of each value, in order.
111
108
  * @param buffer - The flattened Field array to decode.
112
- * @returns
113
- */ export function decodeFromAbi(typ, buffer) {
114
- return new AbiDecoder(typ, buffer.slice()).decode();
109
+ */ export function decodeEachFromAbi(types, buffer) {
110
+ const decoder = new AbiDecoder(buffer.slice());
111
+ return types.map((type)=>decoder.decodeNext(type));
115
112
  }
@@ -20,8 +20,8 @@ export declare class FunctionCall {
20
20
  isStatic: boolean;
21
21
  /** The encoded args */
22
22
  args: Fr[];
23
- /** The return type for decoding */
24
- returnTypes: AbiType[];
23
+ /** The type the call returns, for decoding, or undefined if it returns nothing */
24
+ returnType?: AbiType | undefined;
25
25
  constructor(
26
26
  /** The name of the function to call */
27
27
  name: string,
@@ -37,9 +37,9 @@ export declare class FunctionCall {
37
37
  isStatic: boolean,
38
38
  /** The encoded args */
39
39
  args: Fr[],
40
- /** The return type for decoding */
41
- returnTypes: AbiType[]);
42
- static getFields(fields: FieldsOf<FunctionCall>): readonly [string, AztecAddress, FunctionSelector, FunctionType, boolean, boolean, Fr[], AbiType[]];
40
+ /** The type the call returns, for decoding, or undefined if it returns nothing */
41
+ returnType?: AbiType | undefined);
42
+ static getFields(fields: FieldsOf<FunctionCall>): readonly [string, AztecAddress, FunctionSelector, FunctionType, boolean, boolean, Fr[], AbiType | undefined];
43
43
  static from(fields: FieldsOf<FunctionCall>): FunctionCall;
44
44
  static get schema(): z.ZodPipe<z.ZodObject<{
45
45
  name: z.ZodString;
@@ -49,7 +49,8 @@ export declare class FunctionCall {
49
49
  isStatic: z.ZodBoolean;
50
50
  hideMsgSender: z.ZodBoolean;
51
51
  args: z.ZodArray<import("../schemas/index.js").ZodFor<Fr>>;
52
- returnTypes: z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
52
+ returnType: z.ZodOptional<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>;
53
+ returnTypes: z.ZodOptional<z.ZodArray<z.ZodType<AbiType, unknown, z.core.$ZodTypeInternals<AbiType, unknown>>>>;
53
54
  }, z.core.$strip>, z.ZodTransform<FunctionCall, {
54
55
  name: string;
55
56
  to: AztecAddress;
@@ -58,8 +59,16 @@ export declare class FunctionCall {
58
59
  isStatic: boolean;
59
60
  hideMsgSender: boolean;
60
61
  args: Fr[];
61
- returnTypes: AbiType[];
62
+ returnType?: AbiType | undefined;
63
+ returnTypes?: AbiType[] | undefined;
62
64
  }>>;
65
+ /**
66
+ * Serializes the deprecated `returnTypes` alongside `returnType`, so that peers that still require the old field can
67
+ * parse calls sent by this version.
68
+ */
69
+ toJSON(): this & {
70
+ returnTypes: AbiType[];
71
+ };
63
72
  isPublicStatic(): boolean;
64
73
  /**
65
74
  * Creates an empty function call.
@@ -67,4 +76,4 @@ export declare class FunctionCall {
67
76
  */
68
77
  static empty(): FunctionCall;
69
78
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fY2FsbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9mdW5jdGlvbl9jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBaUIsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELGtEQUFrRDtBQUNsRCxxQkFBYSxZQUFZO0lBRXJCLHVDQUF1QztJQUNoQyxJQUFJLEVBQUUsTUFBTTtJQUNuQiw2QkFBNkI7SUFDdEIsRUFBRSxFQUFFLFlBQVk7SUFDdkIsZ0NBQWdDO0lBQ3pCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDakMsMkJBQTJCO0lBQ3BCLElBQUksRUFBRSxZQUFZO0lBQ3pCLHFRQUFxUTtJQUM5UCxhQUFhLEVBQUUsT0FBTztJQUM3QiwrREFBK0Q7SUFDeEQsUUFBUSxFQUFFLE9BQU87SUFDeEIsdUJBQXVCO0lBQ2hCLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDakIsbUNBQW1DO0lBQzVCLFdBQVcsRUFBRSxPQUFPLEVBQUU7SUFoQi9CO0lBQ0UsdUNBQXVDO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ25CLDZCQUE2QjtJQUN0QixFQUFFLEVBQUUsWUFBWTtJQUN2QixnQ0FBZ0M7SUFDekIsUUFBUSxFQUFFLGdCQUFnQjtJQUNqQywyQkFBMkI7SUFDcEIsSUFBSSxFQUFFLFlBQVk7SUFDekIscVFBQXFRO0lBQzlQLGFBQWEsRUFBRSxPQUFPO0lBQzdCLCtEQUErRDtJQUN4RCxRQUFRLEVBQUUsT0FBTztJQUN4Qix1QkFBdUI7SUFDaEIsSUFBSSxFQUFFLEVBQUUsRUFBRTtJQUNqQixtQ0FBbUM7SUFDNUIsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUMzQjtJQUVKLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsc0dBVzlDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLFlBQVksQ0FFeEQ7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBYWhCO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FFL0I7SUFFRDs7O09BR0c7SUFDSCxPQUFjLEtBQUssaUJBV2xCO0NBQ0YifQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fY2FsbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9mdW5jdGlvbl9jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBaUIsWUFBWSxFQUF5QixNQUFNLFVBQVUsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxrREFBa0Q7QUFDbEQscUJBQWEsWUFBWTtJQUVyQix1Q0FBdUM7SUFDaEMsSUFBSSxFQUFFLE1BQU07SUFDbkIsNkJBQTZCO0lBQ3RCLEVBQUUsRUFBRSxZQUFZO0lBQ3ZCLGdDQUFnQztJQUN6QixRQUFRLEVBQUUsZ0JBQWdCO0lBQ2pDLDJCQUEyQjtJQUNwQixJQUFJLEVBQUUsWUFBWTtJQUN6QixxUUFBcVE7SUFDOVAsYUFBYSxFQUFFLE9BQU87SUFDN0IsK0RBQStEO0lBQ3hELFFBQVEsRUFBRSxPQUFPO0lBQ3hCLHVCQUF1QjtJQUNoQixJQUFJLEVBQUUsRUFBRSxFQUFFO0lBQ2pCLGtGQUFrRjtJQUMzRSxVQUFVLENBQUM7SUFoQnBCO0lBQ0UsdUNBQXVDO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ25CLDZCQUE2QjtJQUN0QixFQUFFLEVBQUUsWUFBWTtJQUN2QixnQ0FBZ0M7SUFDekIsUUFBUSxFQUFFLGdCQUFnQjtJQUNqQywyQkFBMkI7SUFDcEIsSUFBSSxFQUFFLFlBQVk7SUFDekIscVFBQXFRO0lBQzlQLGFBQWEsRUFBRSxPQUFPO0lBQzdCLCtEQUErRDtJQUN4RCxRQUFRLEVBQUUsT0FBTztJQUN4Qix1QkFBdUI7SUFDaEIsSUFBSSxFQUFFLEVBQUUsRUFBRTtJQUNqQixrRkFBa0Y7SUFDM0UsVUFBVSxDQUFDLHFCQUFTLEVBQ3pCO0lBRUosTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxnSEFXOUM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsWUFBWSxDQUV4RDtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQWtCaEI7SUFFRDs7O09BR0c7SUFDSSxNQUFNOztNQUVaO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FFL0I7SUFFRDs7O09BR0c7SUFDSCxPQUFjLEtBQUssaUJBVWxCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"function_call.d.ts","sourceRoot":"","sources":["../../src/abi/function_call.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,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,OAAO,EAAE,KAAK,OAAO,EAAiB,YAAY,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,kDAAkD;AAClD,qBAAa,YAAY;IAErB,uCAAuC;IAChC,IAAI,EAAE,MAAM;IACnB,6BAA6B;IACtB,EAAE,EAAE,YAAY;IACvB,gCAAgC;IACzB,QAAQ,EAAE,gBAAgB;IACjC,2BAA2B;IACpB,IAAI,EAAE,YAAY;IACzB,qQAAqQ;IAC9P,aAAa,EAAE,OAAO;IAC7B,+DAA+D;IACxD,QAAQ,EAAE,OAAO;IACxB,uBAAuB;IAChB,IAAI,EAAE,EAAE,EAAE;IACjB,mCAAmC;IAC5B,WAAW,EAAE,OAAO,EAAE;IAhB/B;IACE,uCAAuC;IAChC,IAAI,EAAE,MAAM;IACnB,6BAA6B;IACtB,EAAE,EAAE,YAAY;IACvB,gCAAgC;IACzB,QAAQ,EAAE,gBAAgB;IACjC,2BAA2B;IACpB,IAAI,EAAE,YAAY;IACzB,qQAAqQ;IAC9P,aAAa,EAAE,OAAO;IAC7B,+DAA+D;IACxD,QAAQ,EAAE,OAAO;IACxB,uBAAuB;IAChB,IAAI,EAAE,EAAE,EAAE;IACjB,mCAAmC;IAC5B,WAAW,EAAE,OAAO,EAAE,EAC3B;IAEJ,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,sGAW9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,YAAY,CAExD;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;QAahB;IAEM,cAAc,IAAI,OAAO,CAE/B;IAED;;;OAGG;IACH,OAAc,KAAK,iBAWlB;CACF"}
1
+ {"version":3,"file":"function_call.d.ts","sourceRoot":"","sources":["../../src/abi/function_call.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,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,OAAO,EAAE,KAAK,OAAO,EAAiB,YAAY,EAAyB,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,kDAAkD;AAClD,qBAAa,YAAY;IAErB,uCAAuC;IAChC,IAAI,EAAE,MAAM;IACnB,6BAA6B;IACtB,EAAE,EAAE,YAAY;IACvB,gCAAgC;IACzB,QAAQ,EAAE,gBAAgB;IACjC,2BAA2B;IACpB,IAAI,EAAE,YAAY;IACzB,qQAAqQ;IAC9P,aAAa,EAAE,OAAO;IAC7B,+DAA+D;IACxD,QAAQ,EAAE,OAAO;IACxB,uBAAuB;IAChB,IAAI,EAAE,EAAE,EAAE;IACjB,kFAAkF;IAC3E,UAAU,CAAC;IAhBpB;IACE,uCAAuC;IAChC,IAAI,EAAE,MAAM;IACnB,6BAA6B;IACtB,EAAE,EAAE,YAAY;IACvB,gCAAgC;IACzB,QAAQ,EAAE,gBAAgB;IACjC,2BAA2B;IACpB,IAAI,EAAE,YAAY;IACzB,qQAAqQ;IAC9P,aAAa,EAAE,OAAO;IAC7B,+DAA+D;IACxD,QAAQ,EAAE,OAAO;IACxB,uBAAuB;IAChB,IAAI,EAAE,EAAE,EAAE;IACjB,kFAAkF;IAC3E,UAAU,CAAC,qBAAS,EACzB;IAEJ,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,gHAW9C;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,YAAY,CAExD;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;QAkBhB;IAED;;;OAGG;IACI,MAAM;;MAEZ;IAEM,cAAc,IAAI,OAAO,CAE/B;IAED;;;OAGG;IACH,OAAc,KAAK,iBAUlB;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { AztecAddress } from '../aztec-address/index.js';
3
3
  import { schemas } from '../schemas/index.js';
4
- import { AbiTypeSchema, FunctionType } from './abi.js';
4
+ import { AbiTypeSchema, FunctionType, getFunctionReturnType } from './abi.js';
5
5
  import { FunctionSelector } from './function_selector.js';
6
6
  /** A request to call a function on a contract. */ export class FunctionCall {
7
7
  name;
@@ -11,8 +11,8 @@ import { FunctionSelector } from './function_selector.js';
11
11
  hideMsgSender;
12
12
  isStatic;
13
13
  args;
14
- returnTypes;
15
- constructor(/** The name of the function to call */ name, /** The recipient contract */ to, /** The function being called */ selector, /** Type of the function */ type, /** Only applicable for enqueued public function calls. `hideMsgSender = true` will set the msg_sender field (the caller's address) to "null", meaning the public function (and observers around the world) won't know which smart contract address made the call. */ hideMsgSender, /** Whether this call can make modifications to state or not */ isStatic, /** The encoded args */ args, /** The return type for decoding */ returnTypes){
14
+ returnType;
15
+ constructor(/** The name of the function to call */ name, /** The recipient contract */ to, /** The function being called */ selector, /** Type of the function */ type, /** Only applicable for enqueued public function calls. `hideMsgSender = true` will set the msg_sender field (the caller's address) to "null", meaning the public function (and observers around the world) won't know which smart contract address made the call. */ hideMsgSender, /** Whether this call can make modifications to state or not */ isStatic, /** The encoded args */ args, /** The type the call returns, for decoding, or undefined if it returns nothing */ returnType){
16
16
  this.name = name;
17
17
  this.to = to;
18
18
  this.selector = selector;
@@ -20,7 +20,7 @@ import { FunctionSelector } from './function_selector.js';
20
20
  this.hideMsgSender = hideMsgSender;
21
21
  this.isStatic = isStatic;
22
22
  this.args = args;
23
- this.returnTypes = returnTypes;
23
+ this.returnType = returnType;
24
24
  }
25
25
  static getFields(fields) {
26
26
  return [
@@ -31,7 +31,7 @@ import { FunctionSelector } from './function_selector.js';
31
31
  fields.hideMsgSender,
32
32
  fields.isStatic,
33
33
  fields.args,
34
- fields.returnTypes
34
+ fields.returnType
35
35
  ];
36
36
  }
37
37
  static from(fields) {
@@ -46,8 +46,28 @@ import { FunctionSelector } from './function_selector.js';
46
46
  isStatic: z.boolean(),
47
47
  hideMsgSender: z.boolean(),
48
48
  args: z.array(schemas.Fr),
49
- returnTypes: z.array(AbiTypeSchema)
50
- }).transform(FunctionCall.from);
49
+ returnType: AbiTypeSchema.optional(),
50
+ // Old consumers send `returnTypes`, not `returnType`. So we accept both for now, until we can safely remove
51
+ // the old version.
52
+ returnTypes: z.array(AbiTypeSchema).optional()
53
+ }).transform(({ returnType, returnTypes, ...fields })=>FunctionCall.from({
54
+ ...fields,
55
+ returnType: getFunctionReturnType({
56
+ returnType,
57
+ returnTypes
58
+ })
59
+ }));
60
+ }
61
+ /**
62
+ * Serializes the deprecated `returnTypes` alongside `returnType`, so that peers that still require the old field can
63
+ * parse calls sent by this version.
64
+ */ toJSON() {
65
+ return {
66
+ ...this,
67
+ returnTypes: this.returnType ? [
68
+ this.returnType
69
+ ] : []
70
+ };
51
71
  }
52
72
  isPublicStatic() {
53
73
  return this.type === FunctionType.PUBLIC && this.isStatic;
@@ -63,8 +83,7 @@ import { FunctionSelector } from './function_selector.js';
63
83
  type: FunctionType.PUBLIC,
64
84
  hideMsgSender: false,
65
85
  isStatic: false,
66
- args: [],
67
- returnTypes: []
86
+ args: []
68
87
  });
69
88
  }
70
89
  }