@aztec/stdlib 5.0.0-private.20260319 → 5.0.0-rc.1

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 (929) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +31 -7
  12. package/dest/abi/decoder.d.ts +5 -44
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +12 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +32 -6
  18. package/dest/abi/event_selector.d.ts +4 -7
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +7 -25
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_selector.d.ts +3 -6
  23. package/dest/abi/function_selector.d.ts.map +1 -1
  24. package/dest/abi/function_selector.js +2 -4
  25. package/dest/abi/function_signature_decoder.d.ts +43 -0
  26. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  27. package/dest/abi/function_signature_decoder.js +66 -0
  28. package/dest/abi/index.d.ts +2 -1
  29. package/dest/abi/index.d.ts.map +1 -1
  30. package/dest/abi/index.js +1 -0
  31. package/dest/abi/note_selector.d.ts +4 -7
  32. package/dest/abi/note_selector.d.ts.map +1 -1
  33. package/dest/abi/note_selector.js +1 -3
  34. package/dest/abi/selector.d.ts +2 -2
  35. package/dest/abi/selector.d.ts.map +1 -1
  36. package/dest/abi/selector.js +1 -1
  37. package/dest/abi/utils.d.ts +1 -1
  38. package/dest/abi/utils.d.ts.map +1 -1
  39. package/dest/abi/utils.js +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -2
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/avm/avm.d.ts +1756 -10463
  43. package/dest/avm/avm.d.ts.map +1 -1
  44. package/dest/avm/avm.js +6 -3
  45. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  46. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  48. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  49. package/dest/avm/avm_proving_request.d.ts +653 -5446
  50. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  51. package/dest/avm/message_pack.js +12 -3
  52. package/dest/avm/public_data_write.d.ts +6 -12
  53. package/dest/avm/public_data_write.d.ts.map +1 -1
  54. package/dest/avm/revert_code.d.ts +5 -21
  55. package/dest/avm/revert_code.d.ts.map +1 -1
  56. package/dest/avm/revert_code.js +12 -30
  57. package/dest/aztec-address/index.d.ts +8 -8
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +9 -6
  60. package/dest/block/attestation_info.d.ts +3 -2
  61. package/dest/block/attestation_info.d.ts.map +1 -1
  62. package/dest/block/attestation_info.js +7 -5
  63. package/dest/block/block_data.d.ts +13 -38
  64. package/dest/block/block_data.d.ts.map +1 -1
  65. package/dest/block/block_data.js +2 -2
  66. package/dest/block/block_hash.d.ts +11 -10
  67. package/dest/block/block_hash.d.ts.map +1 -1
  68. package/dest/block/block_hash.js +10 -9
  69. package/dest/block/block_parameter.d.ts +37 -4
  70. package/dest/block/block_parameter.d.ts.map +1 -1
  71. package/dest/block/block_parameter.js +53 -2
  72. package/dest/block/in_block.d.ts +5 -24
  73. package/dest/block/in_block.d.ts.map +1 -1
  74. package/dest/block/index.d.ts +1 -2
  75. package/dest/block/index.d.ts.map +1 -1
  76. package/dest/block/index.js +0 -1
  77. package/dest/block/l2_block.d.ts +13 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block_info.d.ts +10 -29
  80. package/dest/block/l2_block_info.d.ts.map +1 -1
  81. package/dest/block/l2_block_info.js +6 -5
  82. package/dest/block/l2_block_source.d.ts +216 -357
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +67 -1
  85. package/dest/block/l2_block_stream/interfaces.d.ts +46 -7
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/l2_block_stream.js +57 -21
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  93. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +12 -18
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_tips_store_base.js +66 -40
  96. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  97. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  98. package/dest/block/proposal/attestations_and_signers.js +26 -18
  99. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  100. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.js +202 -33
  104. package/dest/checkpoint/checkpoint.d.ts +30 -96
  105. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  106. package/dest/checkpoint/checkpoint.js +11 -3
  107. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  108. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint_data.js +12 -0
  110. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  111. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  115. package/dest/checkpoint/digest.d.ts +18 -0
  116. package/dest/checkpoint/digest.d.ts.map +1 -0
  117. package/dest/checkpoint/digest.js +12 -0
  118. package/dest/checkpoint/index.d.ts +4 -1
  119. package/dest/checkpoint/index.d.ts.map +1 -1
  120. package/dest/checkpoint/index.js +3 -0
  121. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  124. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  125. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  126. package/dest/checkpoint/validate.d.ts +11 -3
  127. package/dest/checkpoint/validate.d.ts.map +1 -1
  128. package/dest/checkpoint/validate.js +9 -6
  129. package/dest/config/chain-config.d.ts +4 -9
  130. package/dest/config/chain-config.d.ts.map +1 -1
  131. package/dest/config/chain-config.js +13 -12
  132. package/dest/config/index.d.ts +2 -2
  133. package/dest/config/index.d.ts.map +1 -1
  134. package/dest/config/index.js +1 -1
  135. package/dest/config/network-consensus-config.d.ts +72 -0
  136. package/dest/config/network-consensus-config.d.ts.map +1 -0
  137. package/dest/config/network-consensus-config.js +231 -0
  138. package/dest/config/sequencer-config.d.ts +7 -3
  139. package/dest/config/sequencer-config.d.ts.map +1 -1
  140. package/dest/config/sequencer-config.js +38 -5
  141. package/dest/contract/complete_address.d.ts +3 -2
  142. package/dest/contract/complete_address.d.ts.map +1 -1
  143. package/dest/contract/complete_address.js +6 -2
  144. package/dest/contract/contract_address.d.ts +5 -5
  145. package/dest/contract/contract_address.d.ts.map +1 -1
  146. package/dest/contract/contract_address.js +5 -4
  147. package/dest/contract/contract_deployment_data.d.ts +15 -61
  148. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  149. package/dest/contract/contract_instance.d.ts +4 -2
  150. package/dest/contract/contract_instance.d.ts.map +1 -1
  151. package/dest/contract/contract_instance.js +10 -3
  152. package/dest/contract/index.d.ts +1 -3
  153. package/dest/contract/index.d.ts.map +1 -1
  154. package/dest/contract/index.js +0 -2
  155. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  156. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  157. package/dest/contract/interfaces/contract_class.js +1 -28
  158. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  159. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  160. package/dest/contract/interfaces/contract_instance.js +4 -2
  161. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  162. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  163. package/dest/contract/interfaces/node-info.d.ts +11 -1
  164. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  165. package/dest/contract/interfaces/node-info.js +7 -1
  166. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  167. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  168. package/dest/contract/private_function.d.ts +1 -1
  169. package/dest/contract/private_function.d.ts.map +1 -1
  170. package/dest/contract/private_function.js +2 -4
  171. package/dest/database-version/database_version.d.ts +5 -11
  172. package/dest/database-version/database_version.d.ts.map +1 -1
  173. package/dest/database-version/version_manager.d.ts +6 -2
  174. package/dest/database-version/version_manager.d.ts.map +1 -1
  175. package/dest/database-version/version_manager.js +12 -1
  176. package/dest/deserialization/index.d.ts +35 -3
  177. package/dest/deserialization/index.d.ts.map +1 -1
  178. package/dest/deserialization/index.js +32 -1
  179. package/dest/epoch-helpers/index.d.ts +10 -22
  180. package/dest/epoch-helpers/index.d.ts.map +1 -1
  181. package/dest/epoch-helpers/index.js +12 -0
  182. package/dest/file-store/factory.d.ts +4 -3
  183. package/dest/file-store/factory.d.ts.map +1 -1
  184. package/dest/file-store/factory.js +2 -2
  185. package/dest/file-store/http.d.ts +9 -2
  186. package/dest/file-store/http.d.ts.map +1 -1
  187. package/dest/file-store/http.js +20 -9
  188. package/dest/file-store/index.d.ts +2 -1
  189. package/dest/file-store/index.d.ts.map +1 -1
  190. package/dest/gas/fee_math.d.ts +49 -0
  191. package/dest/gas/fee_math.d.ts.map +1 -0
  192. package/dest/gas/fee_math.js +80 -0
  193. package/dest/gas/gas.d.ts +9 -14
  194. package/dest/gas/gas.d.ts.map +1 -1
  195. package/dest/gas/gas.js +6 -3
  196. package/dest/gas/gas_fees.d.ts +13 -14
  197. package/dest/gas/gas_fees.d.ts.map +1 -1
  198. package/dest/gas/gas_fees.js +17 -4
  199. package/dest/gas/gas_settings.d.ts +60 -86
  200. package/dest/gas/gas_settings.d.ts.map +1 -1
  201. package/dest/gas/gas_settings.js +49 -9
  202. package/dest/gas/index.d.ts +3 -1
  203. package/dest/gas/index.d.ts.map +1 -1
  204. package/dest/gas/index.js +2 -0
  205. package/dest/gas/tx_gas_limits.d.ts +72 -0
  206. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  207. package/dest/gas/tx_gas_limits.js +85 -0
  208. package/dest/ha-signing/config.d.ts +11 -75
  209. package/dest/ha-signing/config.d.ts.map +1 -1
  210. package/dest/ha-signing/config.js +9 -18
  211. package/dest/ha-signing/index.d.ts +2 -2
  212. package/dest/ha-signing/index.d.ts.map +1 -1
  213. package/dest/ha-signing/index.js +1 -1
  214. package/dest/ha-signing/local_config.d.ts +3 -34
  215. package/dest/ha-signing/local_config.d.ts.map +1 -1
  216. package/dest/ha-signing/local_config.js +2 -2
  217. package/dest/ha-signing/types.d.ts +37 -32
  218. package/dest/ha-signing/types.d.ts.map +1 -1
  219. package/dest/ha-signing/types.js +13 -6
  220. package/dest/hash/hash.d.ts +19 -1
  221. package/dest/hash/hash.d.ts.map +1 -1
  222. package/dest/hash/hash.js +39 -2
  223. package/dest/interfaces/allowed_element.d.ts +4 -28
  224. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  225. package/dest/interfaces/api_limit.d.ts +1 -1
  226. package/dest/interfaces/api_limit.js +1 -1
  227. package/dest/interfaces/archiver.d.ts +20 -32
  228. package/dest/interfaces/archiver.d.ts.map +1 -1
  229. package/dest/interfaces/archiver.js +215 -70
  230. package/dest/interfaces/aztec-node-admin.d.ts +71 -305
  231. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  232. package/dest/interfaces/aztec-node-admin.js +60 -17
  233. package/dest/interfaces/aztec-node-debug.d.ts +34 -0
  234. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  235. package/dest/interfaces/aztec-node-debug.js +29 -0
  236. package/dest/interfaces/aztec-node.d.ts +156 -112
  237. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  238. package/dest/interfaces/aztec-node.js +354 -71
  239. package/dest/interfaces/block-builder.d.ts +5 -1
  240. package/dest/interfaces/block-builder.d.ts.map +1 -1
  241. package/dest/interfaces/block_response.d.ts +90 -0
  242. package/dest/interfaces/block_response.d.ts.map +1 -0
  243. package/dest/interfaces/block_response.js +30 -0
  244. package/dest/interfaces/chain_tips.d.ts +50 -0
  245. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  246. package/dest/interfaces/chain_tips.js +11 -0
  247. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  248. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  249. package/dest/interfaces/checkpoint_parameter.js +18 -0
  250. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  251. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  252. package/dest/interfaces/checkpoint_response.js +26 -0
  253. package/dest/interfaces/client.d.ts +9 -2
  254. package/dest/interfaces/client.d.ts.map +1 -1
  255. package/dest/interfaces/client.js +7 -1
  256. package/dest/interfaces/configs.d.ts +63 -134
  257. package/dest/interfaces/configs.d.ts.map +1 -1
  258. package/dest/interfaces/configs.js +13 -2
  259. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  260. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  261. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  262. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  263. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  264. package/dest/interfaces/l1_publish_info.js +26 -0
  265. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  266. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  267. package/dest/interfaces/l2_logs_source.js +5 -0
  268. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  269. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  270. package/dest/interfaces/p2p-bootstrap.js +8 -2
  271. package/dest/interfaces/p2p.d.ts +46 -7
  272. package/dest/interfaces/p2p.d.ts.map +1 -1
  273. package/dest/interfaces/p2p.js +41 -6
  274. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  275. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  276. package/dest/interfaces/prover-agent.d.ts +5 -23
  277. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  278. package/dest/interfaces/prover-agent.js +4 -1
  279. package/dest/interfaces/prover-client.d.ts +7 -29
  280. package/dest/interfaces/prover-client.d.ts.map +1 -1
  281. package/dest/interfaces/prover-client.js +0 -3
  282. package/dest/interfaces/prover-node.d.ts +8 -3
  283. package/dest/interfaces/prover-node.d.ts.map +1 -1
  284. package/dest/interfaces/prover-node.js +30 -14
  285. package/dest/interfaces/proving-job-source.js +24 -4
  286. package/dest/interfaces/proving-job.d.ts +763 -5814
  287. package/dest/interfaces/proving-job.d.ts.map +1 -1
  288. package/dest/interfaces/proving-job.js +1 -1
  289. package/dest/interfaces/public_storage_override.d.ts +22 -0
  290. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  291. package/dest/interfaces/public_storage_override.js +7 -0
  292. package/dest/interfaces/server.d.ts +6 -2
  293. package/dest/interfaces/server.d.ts.map +1 -1
  294. package/dest/interfaces/server.js +5 -1
  295. package/dest/interfaces/slasher.d.ts +25 -65
  296. package/dest/interfaces/slasher.d.ts.map +1 -1
  297. package/dest/interfaces/slasher.js +8 -4
  298. package/dest/interfaces/tx_provider.d.ts +6 -1
  299. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  300. package/dest/interfaces/validator.d.ts +55 -248
  301. package/dest/interfaces/validator.d.ts.map +1 -1
  302. package/dest/interfaces/validator.js +8 -2
  303. package/dest/interfaces/world_state.d.ts +2 -2
  304. package/dest/interfaces/world_state.d.ts.map +1 -1
  305. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  306. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  307. package/dest/kernel/hints/key_validation_request.js +20 -18
  308. package/dest/kernel/index.d.ts +5 -1
  309. package/dest/kernel/index.d.ts.map +1 -1
  310. package/dest/kernel/index.js +4 -0
  311. package/dest/kernel/log_hash.d.ts +6 -2
  312. package/dest/kernel/log_hash.d.ts.map +1 -1
  313. package/dest/kernel/log_hash.js +21 -9
  314. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  315. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  316. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  317. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  318. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  319. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  320. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  321. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  322. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  323. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  324. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  325. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  326. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  327. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  328. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  329. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  330. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  331. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  332. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  333. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  334. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  335. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  336. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  337. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  338. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  339. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  340. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  341. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  342. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  343. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  344. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  345. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  346. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  347. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  348. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  349. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  350. package/dest/kernel/public_call_request.d.ts +15 -30
  351. package/dest/kernel/public_call_request.d.ts.map +1 -1
  352. package/dest/kernel/public_call_request.js +16 -7
  353. package/dest/keys/derivation.d.ts +6 -2
  354. package/dest/keys/derivation.d.ts.map +1 -1
  355. package/dest/keys/derivation.js +16 -6
  356. package/dest/keys/public_key.d.ts +22 -3
  357. package/dest/keys/public_key.d.ts.map +1 -1
  358. package/dest/keys/public_key.js +20 -1
  359. package/dest/keys/public_keys.d.ts +55 -82
  360. package/dest/keys/public_keys.d.ts.map +1 -1
  361. package/dest/keys/public_keys.js +102 -74
  362. package/dest/kv-store/config.d.ts +3 -6
  363. package/dest/kv-store/config.d.ts.map +1 -1
  364. package/dest/kv-store/config.js +2 -7
  365. package/dest/l1-contracts/index.d.ts +2 -2
  366. package/dest/l1-contracts/index.d.ts.map +1 -1
  367. package/dest/l1-contracts/index.js +1 -1
  368. package/dest/logs/app_tagging_secret.d.ts +46 -0
  369. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  370. package/dest/logs/app_tagging_secret.js +109 -0
  371. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  372. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  373. package/dest/logs/app_tagging_secret_kind.js +17 -0
  374. package/dest/logs/contract_class_log.d.ts +16 -34
  375. package/dest/logs/contract_class_log.d.ts.map +1 -1
  376. package/dest/logs/contract_class_log.js +11 -9
  377. package/dest/logs/index.d.ts +7 -7
  378. package/dest/logs/index.d.ts.map +1 -1
  379. package/dest/logs/index.js +6 -6
  380. package/dest/logs/log_cursor.d.ts +51 -0
  381. package/dest/logs/log_cursor.d.ts.map +1 -0
  382. package/dest/logs/log_cursor.js +82 -0
  383. package/dest/logs/log_result.d.ts +54 -0
  384. package/dest/logs/log_result.d.ts.map +1 -0
  385. package/dest/logs/log_result.js +56 -0
  386. package/dest/logs/logs_query.d.ts +82 -0
  387. package/dest/logs/logs_query.d.ts.map +1 -0
  388. package/dest/logs/logs_query.js +50 -0
  389. package/dest/logs/message_context.d.ts +6 -8
  390. package/dest/logs/message_context.d.ts.map +1 -1
  391. package/dest/logs/message_context.js +27 -9
  392. package/dest/logs/pending_tagged_log.d.ts +2 -3
  393. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  394. package/dest/logs/pending_tagged_log.js +2 -2
  395. package/dest/logs/pre_tag.d.ts +11 -24
  396. package/dest/logs/pre_tag.d.ts.map +1 -1
  397. package/dest/logs/pre_tag.js +2 -2
  398. package/dest/logs/private_log.d.ts +7 -12
  399. package/dest/logs/private_log.d.ts.map +1 -1
  400. package/dest/logs/private_log.js +6 -3
  401. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  402. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  403. package/dest/logs/query_all_logs_by_tags.js +64 -0
  404. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  405. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  406. package/dest/logs/shared_secret_derivation.js +15 -9
  407. package/dest/logs/siloed_tag.d.ts +8 -7
  408. package/dest/logs/siloed_tag.d.ts.map +1 -1
  409. package/dest/logs/siloed_tag.js +13 -3
  410. package/dest/logs/tag.d.ts +5 -6
  411. package/dest/logs/tag.d.ts.map +1 -1
  412. package/dest/logs/tag.js +4 -0
  413. package/dest/logs/tagging_index_range.d.ts +13 -31
  414. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  415. package/dest/logs/tagging_index_range.js +2 -2
  416. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  417. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  418. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  419. package/dest/messaging/index.d.ts +2 -1
  420. package/dest/messaging/index.d.ts.map +1 -1
  421. package/dest/messaging/index.js +1 -0
  422. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  423. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  424. package/dest/messaging/l1_to_l2_message.js +11 -13
  425. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  426. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  427. package/dest/messaging/l2_to_l1_membership.js +72 -12
  428. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  429. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  430. package/dest/messaging/l2_to_l1_message.js +21 -12
  431. package/dest/noir/index.d.ts +3 -1
  432. package/dest/noir/index.d.ts.map +1 -1
  433. package/dest/note/note.d.ts +2 -2
  434. package/dest/note/note.d.ts.map +1 -1
  435. package/dest/note/note_dao.d.ts +1 -1
  436. package/dest/note/note_dao.d.ts.map +1 -1
  437. package/dest/note/note_dao.js +1 -4
  438. package/dest/p2p/block_proposal.d.ts +31 -14
  439. package/dest/p2p/block_proposal.d.ts.map +1 -1
  440. package/dest/p2p/block_proposal.js +57 -39
  441. package/dest/p2p/checkpoint_attestation.d.ts +15 -9
  442. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  443. package/dest/p2p/checkpoint_attestation.js +23 -24
  444. package/dest/p2p/checkpoint_proposal.d.ts +35 -16
  445. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  446. package/dest/p2p/checkpoint_proposal.js +59 -51
  447. package/dest/p2p/consensus_payload.d.ts +26 -20
  448. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  449. package/dest/p2p/consensus_payload.js +38 -19
  450. package/dest/p2p/gossipable.d.ts +4 -4
  451. package/dest/p2p/gossipable.d.ts.map +1 -1
  452. package/dest/p2p/signature_utils.d.ts +28 -19
  453. package/dest/p2p/signature_utils.d.ts.map +1 -1
  454. package/dest/p2p/signature_utils.js +118 -21
  455. package/dest/p2p/signed_txs.d.ts +15 -13
  456. package/dest/p2p/signed_txs.d.ts.map +1 -1
  457. package/dest/p2p/signed_txs.js +26 -24
  458. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  459. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  460. package/dest/parity/parity_base_private_inputs.js +7 -5
  461. package/dest/parity/parity_public_inputs.d.ts +8 -4
  462. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  463. package/dest/parity/parity_public_inputs.js +6 -3
  464. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  465. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  466. package/dest/proofs/chonk_proof.d.ts +57 -7
  467. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  468. package/dest/proofs/chonk_proof.js +112 -15
  469. package/dest/proofs/recursive_proof.d.ts +2 -2
  470. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  471. package/dest/rollup/block_headers_hash.d.ts +1 -1
  472. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  473. package/dest/rollup/block_headers_hash.js +8 -2
  474. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  475. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  476. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  477. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  478. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  479. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  480. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  481. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  482. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  483. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  484. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  485. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  486. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  487. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  488. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  489. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  490. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  491. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  492. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  493. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  494. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  495. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  496. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  497. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  498. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  499. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  500. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  501. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  502. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  503. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  504. package/dest/schemas/schemas.d.ts +32 -78
  505. package/dest/schemas/schemas.d.ts.map +1 -1
  506. package/dest/schemas/schemas.js +2 -2
  507. package/dest/slashing/helpers.d.ts +2 -2
  508. package/dest/slashing/helpers.d.ts.map +1 -1
  509. package/dest/slashing/helpers.js +10 -7
  510. package/dest/slashing/index.d.ts +2 -3
  511. package/dest/slashing/index.d.ts.map +1 -1
  512. package/dest/slashing/index.js +1 -2
  513. package/dest/slashing/serialization.d.ts +2 -6
  514. package/dest/slashing/serialization.d.ts.map +1 -1
  515. package/dest/slashing/serialization.js +0 -60
  516. package/dest/slashing/types.d.ts +18 -112
  517. package/dest/slashing/types.d.ts.map +1 -1
  518. package/dest/slashing/types.js +16 -24
  519. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  520. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  521. package/dest/slashing/{tally.js → votes.js} +1 -1
  522. package/dest/snapshots/types.d.ts +15 -78
  523. package/dest/snapshots/types.d.ts.map +1 -1
  524. package/dest/stats/stats.d.ts +2 -2
  525. package/dest/stats/stats.d.ts.map +1 -1
  526. package/dest/tests/factories.d.ts +25 -32
  527. package/dest/tests/factories.d.ts.map +1 -1
  528. package/dest/tests/factories.js +85 -82
  529. package/dest/tests/mocks.d.ts +8 -5
  530. package/dest/tests/mocks.d.ts.map +1 -1
  531. package/dest/tests/mocks.js +45 -56
  532. package/dest/timetable/budgets.d.ts +57 -0
  533. package/dest/timetable/budgets.d.ts.map +1 -0
  534. package/dest/timetable/budgets.js +56 -0
  535. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  536. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  537. package/dest/timetable/build_proposer_timetable.js +17 -0
  538. package/dest/timetable/consensus_timetable.d.ts +70 -0
  539. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  540. package/dest/timetable/consensus_timetable.js +89 -0
  541. package/dest/timetable/index.d.ts +5 -37
  542. package/dest/timetable/index.d.ts.map +1 -1
  543. package/dest/timetable/index.js +4 -39
  544. package/dest/timetable/proposer_timetable.d.ts +106 -0
  545. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  546. package/dest/timetable/proposer_timetable.js +132 -0
  547. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  548. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  549. package/dest/trees/append_only_tree_snapshot.js +6 -3
  550. package/dest/trees/nullifier_leaf.d.ts +19 -42
  551. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  552. package/dest/trees/nullifier_leaf.js +3 -0
  553. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  554. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  555. package/dest/trees/nullifier_membership_witness.js +2 -14
  556. package/dest/trees/public_data_leaf.d.ts +21 -53
  557. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  558. package/dest/trees/public_data_witness.d.ts +16 -58
  559. package/dest/trees/public_data_witness.d.ts.map +1 -1
  560. package/dest/tx/block_header.d.ts +5 -4
  561. package/dest/tx/block_header.d.ts.map +1 -1
  562. package/dest/tx/block_header.js +7 -4
  563. package/dest/tx/call_context.d.ts +4 -14
  564. package/dest/tx/call_context.d.ts.map +1 -1
  565. package/dest/tx/capsule.d.ts +7 -3
  566. package/dest/tx/capsule.d.ts.map +1 -1
  567. package/dest/tx/capsule.js +9 -3
  568. package/dest/tx/fee_provider.d.ts +10 -0
  569. package/dest/tx/fee_provider.d.ts.map +1 -0
  570. package/dest/tx/fee_provider.js +1 -0
  571. package/dest/tx/function_data.d.ts +4 -10
  572. package/dest/tx/function_data.d.ts.map +1 -1
  573. package/dest/tx/global_variable_builder.d.ts +3 -4
  574. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  575. package/dest/tx/global_variables.d.ts +16 -49
  576. package/dest/tx/global_variables.d.ts.map +1 -1
  577. package/dest/tx/global_variables.js +8 -12
  578. package/dest/tx/hashed_values.d.ts +4 -3
  579. package/dest/tx/hashed_values.d.ts.map +1 -1
  580. package/dest/tx/hashed_values.js +6 -3
  581. package/dest/tx/in_tx.d.ts +5 -17
  582. package/dest/tx/in_tx.d.ts.map +1 -1
  583. package/dest/tx/index.d.ts +2 -1
  584. package/dest/tx/index.d.ts.map +1 -1
  585. package/dest/tx/index.js +1 -0
  586. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  587. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  588. package/dest/tx/indexed_tx_effect.js +9 -6
  589. package/dest/tx/partial_state_reference.d.ts +22 -65
  590. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  591. package/dest/tx/partial_state_reference.js +6 -3
  592. package/dest/tx/private_execution_result.d.ts +6 -16
  593. package/dest/tx/private_execution_result.d.ts.map +1 -1
  594. package/dest/tx/profiling.d.ts +54 -352
  595. package/dest/tx/profiling.d.ts.map +1 -1
  596. package/dest/tx/profiling.js +4 -4
  597. package/dest/tx/protocol_contracts.d.ts +5 -9
  598. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  599. package/dest/tx/proven_tx.d.ts +30 -74
  600. package/dest/tx/proven_tx.d.ts.map +1 -1
  601. package/dest/tx/proven_tx.js +6 -0
  602. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  603. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  604. package/dest/tx/public_call_request_with_calldata.js +6 -3
  605. package/dest/tx/simulated_tx.d.ts +64 -1143
  606. package/dest/tx/simulated_tx.d.ts.map +1 -1
  607. package/dest/tx/simulated_tx.js +13 -11
  608. package/dest/tx/state_reference.d.ts +30 -117
  609. package/dest/tx/state_reference.d.ts.map +1 -1
  610. package/dest/tx/state_reference.js +6 -4
  611. package/dest/tx/tree_snapshots.d.ts +27 -84
  612. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  613. package/dest/tx/tree_snapshots.js +6 -4
  614. package/dest/tx/tx.d.ts +22 -13
  615. package/dest/tx/tx.d.ts.map +1 -1
  616. package/dest/tx/tx.js +44 -22
  617. package/dest/tx/tx_constant_data.d.ts +4 -3
  618. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  619. package/dest/tx/tx_constant_data.js +6 -3
  620. package/dest/tx/tx_context.d.ts +32 -131
  621. package/dest/tx/tx_context.d.ts.map +1 -1
  622. package/dest/tx/tx_context.js +6 -6
  623. package/dest/tx/tx_hash.d.ts +6 -4
  624. package/dest/tx/tx_hash.d.ts.map +1 -1
  625. package/dest/tx/tx_hash.js +13 -5
  626. package/dest/tx/tx_receipt.d.ts +144 -63
  627. package/dest/tx/tx_receipt.d.ts.map +1 -1
  628. package/dest/tx/tx_receipt.js +143 -60
  629. package/dest/tx/validator/error_texts.d.ts +6 -2
  630. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  631. package/dest/tx/validator/error_texts.js +7 -1
  632. package/dest/tx/validator/tx_validator.d.ts +5 -27
  633. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  634. package/dest/tx/validator/tx_validator.js +0 -4
  635. package/dest/types/shared.d.ts +4 -12
  636. package/dest/types/shared.d.ts.map +1 -1
  637. package/dest/types/shared.js +6 -12
  638. package/dest/update-checker/dev_version.d.ts +3 -0
  639. package/dest/update-checker/dev_version.d.ts.map +1 -0
  640. package/dest/update-checker/dev_version.js +1 -0
  641. package/dest/update-checker/index.d.ts +2 -1
  642. package/dest/update-checker/index.d.ts.map +1 -1
  643. package/dest/update-checker/index.js +1 -0
  644. package/dest/update-checker/package_version.d.ts +6 -3
  645. package/dest/update-checker/package_version.d.ts.map +1 -1
  646. package/dest/update-checker/package_version.js +8 -19
  647. package/dest/validators/schemas.d.ts +147 -614
  648. package/dest/validators/schemas.d.ts.map +1 -1
  649. package/dest/validators/schemas.js +6 -4
  650. package/dest/validators/types.d.ts +20 -3
  651. package/dest/validators/types.d.ts.map +1 -1
  652. package/dest/versioning/versioning.js +1 -1
  653. package/dest/vks/verification_key.d.ts +4 -139
  654. package/dest/vks/verification_key.d.ts.map +1 -1
  655. package/dest/vks/verification_key.js +5 -126
  656. package/dest/world-state/genesis_data.d.ts +13 -0
  657. package/dest/world-state/genesis_data.d.ts.map +1 -0
  658. package/dest/world-state/genesis_data.js +7 -0
  659. package/dest/world-state/index.d.ts +2 -1
  660. package/dest/world-state/index.d.ts.map +1 -1
  661. package/dest/world-state/index.js +1 -0
  662. package/dest/world-state/world_state_revision.d.ts +15 -26
  663. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  664. package/dest/world-state/world_state_revision.js +7 -1
  665. package/package.json +12 -11
  666. package/src/abi/abi.ts +78 -21
  667. package/src/abi/authorization_selector.ts +2 -8
  668. package/src/abi/buffer.ts +25 -4
  669. package/src/abi/contract_artifact.ts +30 -6
  670. package/src/abi/decoder.ts +23 -78
  671. package/src/abi/encoder.ts +42 -6
  672. package/src/abi/event_selector.ts +2 -8
  673. package/src/abi/function_selector.ts +4 -13
  674. package/src/abi/function_signature_decoder.ts +77 -0
  675. package/src/abi/index.ts +1 -0
  676. package/src/abi/note_selector.ts +3 -12
  677. package/src/abi/selector.ts +1 -1
  678. package/src/abi/utils.ts +6 -4
  679. package/src/avm/avm.ts +5 -0
  680. package/src/avm/message_pack.ts +12 -3
  681. package/src/avm/revert_code.ts +19 -39
  682. package/src/aztec-address/index.ts +15 -12
  683. package/src/block/attestation_info.ts +11 -11
  684. package/src/block/block_data.ts +3 -4
  685. package/src/block/block_hash.ts +21 -14
  686. package/src/block/block_parameter.ts +72 -4
  687. package/src/block/index.ts +0 -1
  688. package/src/block/l2_block_info.ts +8 -6
  689. package/src/block/l2_block_source.ts +216 -147
  690. package/src/block/l2_block_stream/interfaces.ts +42 -6
  691. package/src/block/l2_block_stream/l2_block_stream.ts +60 -31
  692. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  693. package/src/block/l2_block_stream/l2_tips_store_base.ts +64 -60
  694. package/src/block/proposal/attestations_and_signers.ts +32 -17
  695. package/src/block/test/l2_tips_store_test_suite.ts +198 -18
  696. package/src/checkpoint/checkpoint.ts +13 -3
  697. package/src/checkpoint/checkpoint_data.ts +44 -4
  698. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  699. package/src/checkpoint/digest.ts +28 -0
  700. package/src/checkpoint/index.ts +3 -0
  701. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  702. package/src/checkpoint/validate.ts +16 -6
  703. package/src/config/chain-config.ts +13 -16
  704. package/src/config/index.ts +1 -1
  705. package/src/config/network-consensus-config.ts +302 -0
  706. package/src/config/sequencer-config.ts +68 -9
  707. package/src/contract/complete_address.ts +7 -3
  708. package/src/contract/contract_address.ts +6 -6
  709. package/src/contract/contract_instance.ts +11 -2
  710. package/src/contract/index.ts +0 -2
  711. package/src/contract/interfaces/contract_class.ts +2 -82
  712. package/src/contract/interfaces/contract_instance.ts +6 -2
  713. package/src/contract/interfaces/node-info.ts +11 -0
  714. package/src/contract/private_function.ts +3 -1
  715. package/src/database-version/version_manager.ts +17 -0
  716. package/src/deserialization/index.ts +35 -2
  717. package/src/epoch-helpers/index.ts +24 -0
  718. package/src/file-store/factory.ts +13 -4
  719. package/src/file-store/http.ts +29 -10
  720. package/src/file-store/index.ts +1 -0
  721. package/src/gas/README.md +123 -0
  722. package/src/gas/fee_math.ts +120 -0
  723. package/src/gas/gas.ts +8 -3
  724. package/src/gas/gas_fees.ts +26 -13
  725. package/src/gas/gas_settings.ts +63 -15
  726. package/src/gas/index.ts +2 -0
  727. package/src/gas/tx_gas_limits.ts +123 -0
  728. package/src/ha-signing/config.ts +14 -18
  729. package/src/ha-signing/index.ts +3 -1
  730. package/src/ha-signing/local_config.ts +2 -2
  731. package/src/ha-signing/types.ts +48 -34
  732. package/src/hash/hash.ts +34 -2
  733. package/src/interfaces/api_limit.ts +1 -1
  734. package/src/interfaces/archiver.ts +88 -93
  735. package/src/interfaces/aztec-node-admin.ts +36 -21
  736. package/src/interfaces/aztec-node-debug.ts +55 -0
  737. package/src/interfaces/aztec-node.ts +389 -259
  738. package/src/interfaces/block-builder.ts +4 -0
  739. package/src/interfaces/block_response.ts +92 -0
  740. package/src/interfaces/chain_tips.ts +24 -0
  741. package/src/interfaces/checkpoint_parameter.ts +20 -0
  742. package/src/interfaces/checkpoint_response.ts +84 -0
  743. package/src/interfaces/client.ts +8 -1
  744. package/src/interfaces/configs.ts +64 -7
  745. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  746. package/src/interfaces/l1_publish_info.ts +40 -0
  747. package/src/interfaces/l2_logs_source.ts +13 -42
  748. package/src/interfaces/merkle_tree_operations.ts +3 -2
  749. package/src/interfaces/p2p-bootstrap.ts +2 -2
  750. package/src/interfaces/p2p.ts +59 -19
  751. package/src/interfaces/private_kernel_prover.ts +88 -0
  752. package/src/interfaces/prover-agent.ts +1 -1
  753. package/src/interfaces/prover-client.ts +3 -8
  754. package/src/interfaces/prover-node.ts +19 -12
  755. package/src/interfaces/proving-job-source.ts +4 -4
  756. package/src/interfaces/proving-job.ts +3 -3
  757. package/src/interfaces/public_storage_override.ts +26 -0
  758. package/src/interfaces/server.ts +5 -1
  759. package/src/interfaces/slasher.ts +17 -10
  760. package/src/interfaces/tx_provider.ts +6 -0
  761. package/src/interfaces/validator.ts +45 -15
  762. package/src/interfaces/world_state.ts +1 -1
  763. package/src/kernel/hints/key_validation_request.ts +18 -16
  764. package/src/kernel/index.ts +4 -0
  765. package/src/kernel/log_hash.ts +29 -9
  766. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  767. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  768. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  769. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  770. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  771. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  772. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  773. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  774. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  775. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  776. package/src/kernel/public_call_request.ts +22 -7
  777. package/src/keys/derivation.ts +21 -9
  778. package/src/keys/public_key.ts +26 -2
  779. package/src/keys/public_keys.ts +124 -110
  780. package/src/kv-store/config.ts +3 -10
  781. package/src/l1-contracts/index.ts +1 -1
  782. package/src/logs/app_tagging_secret.ts +137 -0
  783. package/src/logs/app_tagging_secret_kind.ts +21 -0
  784. package/src/logs/contract_class_log.ts +15 -5
  785. package/src/logs/index.ts +6 -6
  786. package/src/logs/log_cursor.ts +110 -0
  787. package/src/logs/log_result.ts +104 -0
  788. package/src/logs/logs_query.ts +138 -0
  789. package/src/logs/message_context.ts +22 -8
  790. package/src/logs/pending_tagged_log.ts +1 -3
  791. package/src/logs/pre_tag.ts +3 -6
  792. package/src/logs/private_log.ts +9 -3
  793. package/src/logs/query_all_logs_by_tags.ts +98 -0
  794. package/src/logs/shared_secret_derivation.ts +21 -10
  795. package/src/logs/siloed_tag.ts +20 -11
  796. package/src/logs/tag.ts +8 -8
  797. package/src/logs/tagging_index_range.ts +4 -10
  798. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  799. package/src/messaging/index.ts +1 -0
  800. package/src/messaging/l1_to_l2_message.ts +12 -9
  801. package/src/messaging/l2_to_l1_membership.ts +108 -19
  802. package/src/messaging/l2_to_l1_message.ts +29 -9
  803. package/src/noir/index.ts +2 -0
  804. package/src/note/note_dao.ts +1 -4
  805. package/src/p2p/block_proposal.ts +111 -36
  806. package/src/p2p/checkpoint_attestation.ts +27 -31
  807. package/src/p2p/checkpoint_proposal.ts +128 -73
  808. package/src/p2p/consensus_payload.ts +59 -28
  809. package/src/p2p/gossipable.ts +4 -4
  810. package/src/p2p/signature_utils.ts +110 -25
  811. package/src/p2p/signed_txs.ts +46 -28
  812. package/src/parity/parity_base_private_inputs.ts +10 -4
  813. package/src/parity/parity_public_inputs.ts +9 -2
  814. package/src/proofs/chonk_proof.ts +132 -12
  815. package/src/rollup/block_headers_hash.ts +11 -2
  816. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  817. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  818. package/src/schemas/schemas.ts +6 -1
  819. package/src/slashing/helpers.ts +13 -9
  820. package/src/slashing/index.ts +1 -2
  821. package/src/slashing/serialization.ts +1 -81
  822. package/src/slashing/types.ts +24 -49
  823. package/src/slashing/{tally.ts → votes.ts} +1 -1
  824. package/src/stats/stats.ts +4 -0
  825. package/src/tests/factories.ts +109 -111
  826. package/src/tests/mocks.ts +72 -71
  827. package/src/timetable/README.md +609 -0
  828. package/src/timetable/budgets.ts +87 -0
  829. package/src/timetable/build_proposer_timetable.ts +42 -0
  830. package/src/timetable/consensus_timetable.ts +126 -0
  831. package/src/timetable/index.ts +4 -66
  832. package/src/timetable/proposer_timetable.ts +190 -0
  833. package/src/timetable/timetable-example.svg +108 -0
  834. package/src/trees/append_only_tree_snapshot.ts +8 -3
  835. package/src/trees/nullifier_leaf.ts +4 -0
  836. package/src/trees/nullifier_membership_witness.ts +2 -12
  837. package/src/tx/block_header.ts +10 -5
  838. package/src/tx/capsule.ts +10 -2
  839. package/src/tx/fee_provider.ts +10 -0
  840. package/src/tx/global_variable_builder.ts +2 -3
  841. package/src/tx/global_variables.ts +10 -18
  842. package/src/tx/hashed_values.ts +8 -3
  843. package/src/tx/index.ts +1 -0
  844. package/src/tx/indexed_tx_effect.ts +18 -6
  845. package/src/tx/partial_state_reference.ts +8 -3
  846. package/src/tx/profiling.ts +4 -4
  847. package/src/tx/proven_tx.ts +6 -0
  848. package/src/tx/public_call_request_with_calldata.ts +8 -3
  849. package/src/tx/simulated_tx.ts +22 -21
  850. package/src/tx/state_reference.ts +9 -4
  851. package/src/tx/tree_snapshots.ts +9 -4
  852. package/src/tx/tx.ts +60 -24
  853. package/src/tx/tx_constant_data.ts +8 -3
  854. package/src/tx/tx_context.ts +8 -3
  855. package/src/tx/tx_hash.ts +20 -5
  856. package/src/tx/tx_receipt.ts +265 -85
  857. package/src/tx/validator/error_texts.ts +10 -1
  858. package/src/tx/validator/tx_validator.ts +1 -5
  859. package/src/types/shared.ts +8 -13
  860. package/src/update-checker/dev_version.ts +2 -0
  861. package/src/update-checker/index.ts +1 -0
  862. package/src/update-checker/package_version.ts +10 -23
  863. package/src/validators/schemas.ts +6 -4
  864. package/src/validators/types.ts +21 -2
  865. package/src/versioning/versioning.ts +1 -1
  866. package/src/vks/verification_key.ts +5 -184
  867. package/src/world-state/genesis_data.ts +27 -0
  868. package/src/world-state/index.ts +1 -0
  869. package/src/world-state/world_state_revision.ts +9 -1
  870. package/dest/abi/mocked_keys.d.ts +0 -2
  871. package/dest/abi/mocked_keys.d.ts.map +0 -1
  872. package/dest/abi/mocked_keys.js +0 -1
  873. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  874. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  875. package/dest/block/checkpointed_l2_block.js +0 -46
  876. package/dest/config/pipelining-config.d.ts +0 -19
  877. package/dest/config/pipelining-config.d.ts.map +0 -1
  878. package/dest/config/pipelining-config.js +0 -18
  879. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  880. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  881. package/dest/contract/private_function_membership_proof.js +0 -124
  882. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  883. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  884. package/dest/contract/utility_function_membership_proof.js +0 -87
  885. package/dest/interfaces/epoch-prover.d.ts +0 -57
  886. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  887. package/dest/interfaces/epoch-prover.js +0 -1
  888. package/dest/interfaces/get_logs_response.d.ts +0 -97
  889. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  890. package/dest/interfaces/get_logs_response.js +0 -12
  891. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  892. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  893. package/dest/l1-contracts/slash_factory.js +0 -158
  894. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  895. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  896. package/dest/logs/extended_contract_class_log.js +0 -67
  897. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  898. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  899. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  900. package/dest/logs/extended_public_log.d.ts +0 -106
  901. package/dest/logs/extended_public_log.d.ts.map +0 -1
  902. package/dest/logs/extended_public_log.js +0 -73
  903. package/dest/logs/log_filter.d.ts +0 -25
  904. package/dest/logs/log_filter.d.ts.map +0 -1
  905. package/dest/logs/log_filter.js +0 -12
  906. package/dest/logs/log_id.d.ts +0 -85
  907. package/dest/logs/log_id.d.ts.map +0 -1
  908. package/dest/logs/log_id.js +0 -94
  909. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  910. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  911. package/dest/logs/tx_scoped_l2_log.js +0 -77
  912. package/dest/slashing/empire.d.ts +0 -31
  913. package/dest/slashing/empire.d.ts.map +0 -1
  914. package/dest/slashing/empire.js +0 -87
  915. package/src/abi/mocked_keys.ts +0 -2
  916. package/src/block/checkpointed_l2_block.ts +0 -70
  917. package/src/config/pipelining-config.ts +0 -31
  918. package/src/contract/private_function_membership_proof.ts +0 -167
  919. package/src/contract/utility_function_membership_proof.ts +0 -118
  920. package/src/interfaces/epoch-prover.ts +0 -72
  921. package/src/interfaces/get_logs_response.ts +0 -35
  922. package/src/l1-contracts/slash_factory.ts +0 -180
  923. package/src/logs/extended_contract_class_log.ts +0 -87
  924. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  925. package/src/logs/extended_public_log.ts +0 -94
  926. package/src/logs/log_filter.ts +0 -36
  927. package/src/logs/log_id.ts +0 -125
  928. package/src/logs/tx_scoped_l2_log.ts +0 -114
  929. package/src/slashing/empire.ts +0 -104
@@ -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
@@ -2,6 +2,7 @@
2
2
  import { schemas, zodFor } from '@aztec/foundation/schemas';
3
3
  import { inflate } from 'pako';
4
4
  import { z } from 'zod';
5
+ import { DEV_VERSION } from '../update-checker/dev_version.js';
5
6
  import { FunctionSelector } from './function_selector.js';
6
7
  const logger = createLogger('aztec:foundation:abi');
7
8
  export const AbiValueSchema = z.discriminatedUnion('kind', [
@@ -129,12 +130,16 @@ export const FunctionDebugMetadataSchema = z.object({
129
130
  })
130
131
  }))
131
132
  }),
132
- acir_locations: z.record(z.number()),
133
- brillig_locations: z.record(z.record(z.number()))
133
+ acir_locations: z.record(z.string(), z.number()),
134
+ brillig_locations: z.record(z.string(), z.record(z.string(), z.number()))
134
135
  }),
135
- files: z.record(z.object({
136
+ files: z.record(z.string(), z.object({
136
137
  source: z.string(),
137
- path: z.string()
138
+ path: z.string(),
139
+ function_locations: z.array(z.object({
140
+ start: z.number(),
141
+ name: z.string()
142
+ }))
138
143
  }))
139
144
  });
140
145
  export const FunctionArtifactSchema = zodFor()(FunctionAbiSchema.and(z.object({
@@ -143,12 +148,14 @@ export const FunctionArtifactSchema = zodFor()(FunctionAbiSchema.and(z.object({
143
148
  debugSymbols: z.string(),
144
149
  debug: FunctionDebugMetadataSchema.optional()
145
150
  })));
151
+ /** Placeholder version injected into artifacts compiled before aztecVersion was added. TODO(F-557): Remove. */ export const ARTIFACT_VERSION_BEFORE_INJECTION = 'FROM_RELEASE_BEFORE_VERSION_INJECTION';
146
152
  export const ContractArtifactSchema = zodFor()(z.object({
147
153
  name: z.string(),
154
+ aztecVersion: z.string().default(ARTIFACT_VERSION_BEFORE_INJECTION),
148
155
  functions: z.array(FunctionArtifactSchema),
149
156
  nonDispatchPublicFunctions: z.array(FunctionAbiSchema),
150
157
  outputs: z.object({
151
- structs: z.record(z.array(AbiTypeSchema)).transform((structs)=>{
158
+ structs: z.record(z.string(), z.array(AbiTypeSchema)).transform((structs)=>{
152
159
  for (const [key, value] of Object.entries(structs)){
153
160
  // We are manually ordering events and functions in the abi by path.
154
161
  // The path ordering is arbitrary, and only needed to ensure deterministic order.
@@ -160,14 +167,18 @@ export const ContractArtifactSchema = zodFor()(z.object({
160
167
  }
161
168
  return structs;
162
169
  }),
163
- globals: z.record(z.array(AbiValueSchema))
170
+ globals: z.record(z.string(), z.array(AbiValueSchema))
164
171
  }),
165
- storageLayout: z.record(z.object({
172
+ storageLayout: z.record(z.string(), z.object({
166
173
  slot: schemas.Fr
167
174
  })),
168
175
  fileMap: z.record(z.coerce.number(), z.object({
169
176
  source: z.string(),
170
- path: z.string()
177
+ path: z.string(),
178
+ function_locations: z.array(z.object({
179
+ start: z.number(),
180
+ name: z.string()
181
+ }))
171
182
  }))
172
183
  }));
173
184
  export function getFunctionArtifactByName(artifact, functionName) {
@@ -182,16 +193,7 @@ export function getFunctionArtifactByName(artifact, functionName) {
182
193
  };
183
194
  }
184
195
  /** Gets a function artifact including debug metadata given its name or selector. */ export async function getFunctionArtifact(artifact, functionNameOrSelector) {
185
- let functionArtifact;
186
- if (typeof functionNameOrSelector === 'string') {
187
- functionArtifact = artifact.functions.find((f)=>f.name === functionNameOrSelector);
188
- } else {
189
- const functionsAndSelectors = await Promise.all(artifact.functions.map(async (fn)=>({
190
- fn,
191
- selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters)
192
- })));
193
- functionArtifact = functionsAndSelectors.find((fnAndSelector)=>functionNameOrSelector.equals(fnAndSelector.selector))?.fn;
194
- }
196
+ const functionArtifact = typeof functionNameOrSelector === 'string' ? artifact.functions.find((f)=>f.name === functionNameOrSelector) : await findFunctionArtifactBySelector(artifact, functionNameOrSelector);
195
197
  if (!functionArtifact) {
196
198
  throw new Error(`Unknown function ${functionNameOrSelector}`);
197
199
  }
@@ -202,6 +204,26 @@ export function getFunctionArtifactByName(artifact, functionName) {
202
204
  contractName: artifact.name
203
205
  };
204
206
  }
207
+ /**
208
+ * Finds the function artifact within `artifact.functions` whose selector matches `selector`.
209
+ * Returns `undefined` if no match is found.
210
+ */ export async function findFunctionArtifactBySelector(artifact, selector) {
211
+ const fnsAndSelectors = await Promise.all(artifact.functions.map(async (fn)=>({
212
+ fn,
213
+ selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters)
214
+ })));
215
+ return fnsAndSelectors.find(({ selector: s })=>s.equals(selector))?.fn;
216
+ }
217
+ /**
218
+ * Finds the function abi (across both `functions` and `nonDispatchPublicFunctions`) whose selector
219
+ * matches `selector`. Returns `undefined` if no match is found.
220
+ */ export async function findFunctionAbiBySelector(artifact, selector) {
221
+ const fnsAndSelectors = await Promise.all(getAllFunctionAbis(artifact).map(async (fn)=>({
222
+ fn,
223
+ selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters)
224
+ })));
225
+ return fnsAndSelectors.find(({ selector: s })=>s.equals(selector))?.fn;
226
+ }
205
227
  /** Gets all function abis */ export function getAllFunctionAbis(artifact) {
206
228
  return artifact.functions.map((f)=>f).concat(artifact.nonDispatchPublicFunctions || []);
207
229
  }
@@ -297,6 +319,7 @@ export function emptyFunctionArtifact() {
297
319
  export function emptyContractArtifact() {
298
320
  return {
299
321
  name: '',
322
+ aztecVersion: DEV_VERSION,
300
323
  functions: [
301
324
  emptyFunctionArtifact()
302
325
  ],
@@ -1,15 +1,12 @@
1
1
  import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
3
  import { Selector } from './selector.js';
4
- /** Authorization selector branding */
5
- export interface AuthorizationSelector {
6
- /** Brand. */
7
- _branding: 'AuthorizationSelector';
8
- }
9
4
  /**
10
5
  * An authorization selector is the first 4 bytes of the hash of an authorization struct signature.
11
6
  */
12
7
  export declare class AuthorizationSelector extends Selector {
8
+ /** Branding for nominal typing. */
9
+ private readonly _branding;
13
10
  /**
14
11
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
15
12
  * @param buffer - Buffer or BufferReader to read from.
@@ -47,6 +44,6 @@ export declare class AuthorizationSelector extends Selector {
47
44
  */
48
45
  static random(): AuthorizationSelector;
49
46
  toJSON(): string;
50
- static get schema(): import("zod").ZodType<AuthorizationSelector, any, string>;
47
+ static get schema(): import("zod").ZodType<AuthorizationSelector, string, import("zod/v4/core").$ZodTypeInternals<AuthorizationSelector, string>>;
51
48
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbl9zZWxlY3Rvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9hdXRob3JpemF0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXpDLHNDQUFzQztBQUN0QyxNQUFNLFdBQVcscUJBQXFCO0lBQ3BDLGFBQWE7SUFDYixTQUFTLEVBQUUsdUJBQXVCLENBQUM7Q0FDcEM7QUFFRDs7R0FFRztBQUNILHFCQUFhLHFCQUFzQixTQUFRLFFBQVE7SUFDakQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLHlCQUk5QztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLHlCQUV0QjtJQUVEOzs7O09BSUc7SUFDSCxPQUFhLGFBQWEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxrQ0FTM0M7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLHlCQU1qQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLDBCQUVYO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBRVo7SUFFRCxNQUFNLFdBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSw4REFFaEI7Q0FDRiJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbl9zZWxlY3Rvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9hdXRob3JpemF0aW9uX3NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDOztHQUVHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsUUFBUTtJQUNqRCxtQ0FBbUM7SUFDbkMsaUJBQXlCLFNBQVMsQ0FBMEI7SUFDNUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLHlCQUk5QztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLHlCQUV0QjtJQUVEOzs7O09BSUc7SUFDSCxPQUFhLGFBQWEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxrQ0FTM0M7SUFFRDs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxNQUFNLHlCQU1qQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxLQUFLLDBCQUVYO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBRVo7SUFFRCxNQUFNLFdBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxpSUFFaEI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"authorization_selector.d.ts","sourceRoot":"","sources":["../../src/abi/authorization_selector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,sCAAsC;AACtC,MAAM,WAAW,qBAAqB;IACpC,aAAa;IACb,SAAS,EAAE,uBAAuB,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,yBAI9C;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,yBAEtB;IAED;;;;OAIG;IACH,OAAa,aAAa,CAAC,SAAS,EAAE,MAAM,kCAS3C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,yBAMjC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,0BAEX;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,0BAEZ;IAED,MAAM,WAEL;IAED,MAAM,KAAK,MAAM,8DAEhB;CACF"}
1
+ {"version":3,"file":"authorization_selector.d.ts","sourceRoot":"","sources":["../../src/abi/authorization_selector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,mCAAmC;IACnC,iBAAyB,SAAS,CAA0B;IAC5D;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,yBAI9C;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,yBAEtB;IAED;;;;OAIG;IACH,OAAa,aAAa,CAAC,SAAS,EAAE,MAAM,kCAS3C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,yBAMjC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,0BAEX;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,0BAEZ;IAED,MAAM,WAEL;IAED,MAAM,KAAK,MAAM,iIAEhB;CACF"}
@@ -8,9 +8,19 @@ import { Fr } from '@aztec/foundation/curves/bn254';
8
8
  */
9
9
  export declare function bufferAsFields(input: Buffer, targetLength: number): Fr[];
10
10
  /**
11
- * Recovers a buffer from an array of fields.
12
- * @param fields - An output from bufferAsFields.
13
- * @returns The recovered buffer.
11
+ * Recovers a buffer from an array of fields previously encoded with bufferAsFields.
12
+ *
13
+ * The first field encodes the byte length of the original buffer. The remaining fields
14
+ * each carry 31 bytes of payload (the leading byte of each 32-byte field element is skipped).
15
+ *
16
+ * If the declared byte length exceeds the bytes available from the payload fields, the result
17
+ * is zero-padded to the full declared length. This is important for correctness when the field
18
+ * array has been truncated (e.g. contract class logs reconstructed from blobs using a short
19
+ * emittedLength): without padding, the resulting buffer would be shorter than declared, causing
20
+ * bytecode commitment computations to diverge from what the circuit produced.
21
+ *
22
+ * @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
23
+ * @returns A buffer of exactly `byteLength` bytes.
14
24
  */
15
25
  export declare function bufferFromFields(fields: Fr[]): Buffer;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBY3hFO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUdyRCJ9
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWJpL2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLENBY3hFO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FjckQifQ==
@@ -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;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAGrD"}
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"}
@@ -25,10 +25,31 @@ import chunk from 'lodash.chunk';
25
25
  ];
26
26
  }
27
27
  /**
28
- * Recovers a buffer from an array of fields.
29
- * @param fields - An output from bufferAsFields.
30
- * @returns The recovered buffer.
28
+ * Recovers a buffer from an array of fields previously encoded with bufferAsFields.
29
+ *
30
+ * The first field encodes the byte length of the original buffer. The remaining fields
31
+ * each carry 31 bytes of payload (the leading byte of each 32-byte field element is skipped).
32
+ *
33
+ * If the declared byte length exceeds the bytes available from the payload fields, the result
34
+ * is zero-padded to the full declared length. This is important for correctness when the field
35
+ * array has been truncated (e.g. contract class logs reconstructed from blobs using a short
36
+ * emittedLength): without padding, the resulting buffer would be shorter than declared, causing
37
+ * bytecode commitment computations to diverge from what the circuit produced.
38
+ *
39
+ * @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
40
+ * @returns A buffer of exactly `byteLength` bytes.
31
41
  */ export function bufferFromFields(fields) {
32
42
  const [length, ...payload] = fields;
33
- return Buffer.concat(payload.map((f)=>f.toBuffer().subarray(1))).subarray(0, length.toNumber());
43
+ const byteLength = length.toNumber();
44
+ const raw = Buffer.concat(payload.map((f)=>f.toBuffer().subarray(1)));
45
+ if (raw.length >= byteLength) {
46
+ return raw.subarray(0, byteLength);
47
+ }
48
+ // Pad with zeros if the declared length exceeds the available payload bytes.
49
+ // This ensures the returned buffer always matches the declared length, so that
50
+ // downstream bytecode commitment computations are consistent even when the
51
+ // source field array was truncated (e.g. reconstructed from blob with a short emittedLength).
52
+ const result = Buffer.alloc(byteLength);
53
+ raw.copy(result);
54
+ return result;
34
55
  }
@@ -19,6 +19,19 @@ export declare function contractArtifactFromBuffer(buffer: Buffer): ContractArti
19
19
  * @returns A valid contract artifact instance.
20
20
  */
21
21
  export declare function loadContractArtifact(input: NoirCompiledContract): ContractArtifact;
22
+ /**
23
+ * Like {@link loadContractArtifact}, but fully validates an already-processed artifact against the
24
+ * contract artifact schema before returning it. Use when loading an artifact from untrusted or
25
+ * external JSON (e.g. a file path passed to the CLI), so a malformed artifact is rejected up-front
26
+ * with a clear schema error instead of surfacing as an opaque failure later during deployment.
27
+ *
28
+ * `loadContractArtifact` only runs the shallow `isContractArtifact` shape check on already-processed
29
+ * artifacts; raw nargo output is validated via `generateContractArtifact` regardless. The returned
30
+ * object is identical to `loadContractArtifact`'s; the schema parse is used purely for validation.
31
+ * @param input - Input object as generated by nargo compile, or an already-processed artifact.
32
+ * @returns A valid contract artifact instance.
33
+ */
34
+ export declare function loadContractArtifactWithValidation(input: NoirCompiledContract): ContractArtifact;
22
35
  /**
23
36
  * Gets nargo build output and returns a valid contract artifact instance.
24
37
  * Differs from loadContractArtifact() by retaining all bytecode.
@@ -33,4 +46,4 @@ type NoirCompiledContractFunction = NoirCompiledContract['functions'][number];
33
46
  */
34
47
  export declare function retainBytecode(input: NoirCompiledContractFunction | FunctionArtifact): boolean;
35
48
  export {};
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYXJ0aWZhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvY29udHJhY3RfYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQU9MLEtBQUssb0JBQW9CLEVBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUtMLEtBQUssZ0JBQWdCLEVBSXJCLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0sVUFBVSxDQUFDO0FBRWxCOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sQ0FFM0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBRTNFO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLG9CQUFvQixHQUFHLGdCQUFnQixDQUtsRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDZCQUE2QixDQUFDLEtBQUssRUFBRSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FFM0Y7QUErREQseURBQXlEO0FBQ3pELEtBQUssNEJBQTRCLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFOUU7O0dBRUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxnQkFBZ0IsR0FBRyxPQUFPLENBSTlGIn0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYXJ0aWZhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hYmkvY29udHJhY3RfYXJ0aWZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQU9MLEtBQUssb0JBQW9CLEVBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQU1MLEtBQUssZ0JBQWdCLEVBSXJCLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0sVUFBVSxDQUFDO0FBRWxCOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sQ0FFM0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBRTNFO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLG9CQUFvQixHQUFHLGdCQUFnQixDQVNsRjtBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsd0JBQWdCLGtDQUFrQyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FLaEc7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQiw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsb0JBQW9CLEdBQUcsZ0JBQWdCLENBRTNGO0FBK0RELHlEQUF5RDtBQUN6RCxLQUFLLDRCQUE0QixHQUFHLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLEdBQUcsZ0JBQWdCLEdBQUcsT0FBTyxDQUk5RiJ9
@@ -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,EAKL,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,CAKlF;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,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;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CAKhG;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,6 +1,6 @@
1
1
  import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
2
2
  import { AZTEC_INITIALIZER_ATTRIBUTE, AZTEC_ONLY_SELF_ATTRIBUTE, AZTEC_PRIVATE_ATTRIBUTE, AZTEC_PUBLIC_ATTRIBUTE, AZTEC_UTILITY_ATTRIBUTE, AZTEC_VIEW_ATTRIBUTE } from '../noir/index.js';
3
- import { ContractArtifactSchema, FunctionType } from './abi.js';
3
+ import { ARTIFACT_VERSION_BEFORE_INJECTION, ContractArtifactSchema, FunctionType } from './abi.js';
4
4
  /**
5
5
  * Serializes a contract artifact to a buffer for storage.
6
6
  * @param artifact - Artifact to serialize.
@@ -22,10 +22,34 @@ import { ContractArtifactSchema, FunctionType } from './abi.js';
22
22
  * @returns A valid contract artifact instance.
23
23
  */ export function loadContractArtifact(input) {
24
24
  if (isContractArtifact(input)) {
25
+ // TODO(F-557): Remove this fallback once pre-version artifacts are no longer tested.
26
+ if (!input.aztecVersion) {
27
+ return {
28
+ ...input,
29
+ aztecVersion: ARTIFACT_VERSION_BEFORE_INJECTION
30
+ };
31
+ }
25
32
  return input;
26
33
  }
27
34
  return generateContractArtifact(input);
28
35
  }
36
+ /**
37
+ * Like {@link loadContractArtifact}, but fully validates an already-processed artifact against the
38
+ * contract artifact schema before returning it. Use when loading an artifact from untrusted or
39
+ * external JSON (e.g. a file path passed to the CLI), so a malformed artifact is rejected up-front
40
+ * with a clear schema error instead of surfacing as an opaque failure later during deployment.
41
+ *
42
+ * `loadContractArtifact` only runs the shallow `isContractArtifact` shape check on already-processed
43
+ * artifacts; raw nargo output is validated via `generateContractArtifact` regardless. The returned
44
+ * object is identical to `loadContractArtifact`'s; the schema parse is used purely for validation.
45
+ * @param input - Input object as generated by nargo compile, or an already-processed artifact.
46
+ * @returns A valid contract artifact instance.
47
+ */ export function loadContractArtifactWithValidation(input) {
48
+ if (isContractArtifact(input)) {
49
+ ContractArtifactSchema.parse(input);
50
+ }
51
+ return loadContractArtifact(input);
52
+ }
29
53
  /**
30
54
  * Gets nargo build output and returns a valid contract artifact instance.
31
55
  * Differs from loadContractArtifact() by retaining all bytecode.
@@ -214,10 +238,9 @@ function getFunctionType(fn) {
214
238
  }, {});
215
239
  }
216
240
  /**
217
- * Given a Nargo output generates an Aztec-compatible contract artifact.
241
+ * Given a post-processed Nargo output defined as `contract` generates an Aztec-compatible contract artifact.
242
+ *
218
243
  * Does not include public bytecode, apart from the public_dispatch function.
219
- * @param compiled - Noir build output.
220
- * @returns Aztec contract build artifact.
221
244
  */ function generateContractArtifact(contract) {
222
245
  try {
223
246
  if (!contract.transpiled) {
@@ -225,6 +248,7 @@ function getFunctionType(fn) {
225
248
  }
226
249
  return ContractArtifactSchema.parse({
227
250
  name: contract.name,
251
+ aztecVersion: contract.aztec_version,
228
252
  functions: contract.functions.filter((f)=>retainBytecode(f)).map((f)=>generateFunctionArtifact(f, contract)),
229
253
  nonDispatchPublicFunctions: contract.functions.filter((f)=>!retainBytecode(f)).map((f)=>generateFunctionAbi(f, contract)),
230
254
  outputs: contract.outputs,
@@ -236,14 +260,14 @@ function getFunctionType(fn) {
236
260
  }
237
261
  }
238
262
  /**
239
- * Given a Nargo output generates an Aztec-compatible contract artifact.
263
+ * Given a post-processed Nargo output defined as `contract` generates an Aztec-compatible contract artifact.
264
+ *
240
265
  * Retains all public bytecode.
241
- * @param compiled - Noir build output.
242
- * @returns Aztec contract build artifact.
243
266
  */ function generateContractArtifactForPublic(contract) {
244
267
  try {
245
268
  return ContractArtifactSchema.parse({
246
269
  name: contract.name,
270
+ aztecVersion: contract.aztec_version,
247
271
  functions: contract.functions.map((f)=>generateFunctionArtifact(f, contract)),
248
272
  nonDispatchPublicFunctions: contract.functions.filter((f)=>!retainBytecode(f)).map((f)=>generateFunctionAbi(f, contract)),
249
273
  outputs: contract.outputs,
@@ -1,10 +1,12 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { AztecAddress } from '../aztec-address/index.js';
3
- import type { ABIParameter, AbiType } from './abi.js';
4
+ import type { AbiType } from './abi.js';
5
+ import { FunctionSelector } from './function_selector.js';
4
6
  /**
5
7
  * The type of our decoded ABI.
6
8
  */
7
- export type AbiDecoded = bigint | boolean | string | AztecAddress | AbiDecoded[] | {
9
+ export type AbiDecoded = bigint | boolean | string | AztecAddress | EthAddress | FunctionSelector | Fr | AbiDecoded[] | {
8
10
  [key: string]: AbiDecoded;
9
11
  } | undefined;
10
12
  /**
@@ -14,45 +16,4 @@ export type AbiDecoded = bigint | boolean | string | AztecAddress | AbiDecoded[]
14
16
  * @returns
15
17
  */
16
18
  export declare function decodeFromAbi(typ: AbiType[], buffer: Fr[]): AbiDecoded;
17
- /**
18
- * Decodes the signature of a function from the name and parameters.
19
- */
20
- export declare class FunctionSignatureDecoder {
21
- private name;
22
- private parameters;
23
- private includeNames;
24
- private separator;
25
- constructor(name: string, parameters: ABIParameter[], includeNames?: boolean);
26
- /**
27
- * Decodes a single function parameter type for the function signature.
28
- * @param param - The parameter type to decode.
29
- * @returns A string representing the parameter type.
30
- */
31
- private getParameterType;
32
- /**
33
- * Decodes a single function parameter for the function signature.
34
- * @param param - The parameter to decode.
35
- * @returns A string representing the parameter type and optionally its name.
36
- */
37
- private decodeParameter;
38
- /**
39
- * Decodes all the parameters and build the function signature
40
- * @returns The function signature.
41
- */
42
- decode(): string;
43
- }
44
- /**
45
- * Decodes a function signature from the name and parameters.
46
- * @param name - The name of the function.
47
- * @param parameters - The parameters of the function.
48
- * @returns - The function signature.
49
- */
50
- export declare function decodeFunctionSignature(name: string, parameters: ABIParameter[]): string;
51
- /**
52
- * Decodes a function signature from the name and parameters including parameter names.
53
- * @param name - The name of the function.
54
- * @param parameters - The parameters of the function.
55
- * @returns - The user-friendly function signature.
56
- */
57
- export declare function decodeFunctionSignatureWithParameterNames(name: string, parameters: ABIParameter[]): string;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFlLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUduRTs7R0FFRztBQUNILE1BQU0sTUFBTSxVQUFVLEdBQ2xCLE1BQU0sR0FDTixPQUFPLEdBQ1AsTUFBTSxHQUNOLFlBQVksR0FDWixVQUFVLEVBQUUsR0FDWjtJQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxVQUFVLENBQUE7Q0FBRSxHQUM3QixTQUFTLENBQUM7QUFvR2Q7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLGNBRXpEO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSx3QkFBd0I7SUFHakMsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsVUFBVTtJQUNsQixPQUFPLENBQUMsWUFBWTtJQUp0QixPQUFPLENBQUMsU0FBUyxDQUFTO0lBQzFCLFlBQ1UsSUFBSSxFQUFFLE1BQU0sRUFDWixVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQzFCLFlBQVksVUFBUSxFQUc3QjtJQUVEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsZ0JBQWdCO0lBbUJ4Qjs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLGVBQWU7SUFLdkI7OztPQUdHO0lBQ0ksTUFBTSxJQUFJLE1BQU0sQ0FFdEI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLHVCQUF1QixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUUvRTtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLHlDQUF5QyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUVqRyJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVUxRDs7R0FFRztBQUNILE1BQU0sTUFBTSxVQUFVLEdBQ2xCLE1BQU0sR0FDTixPQUFPLEdBQ1AsTUFBTSxHQUNOLFlBQVksR0FDWixVQUFVLEdBQ1YsZ0JBQWdCLEdBQ2hCLEVBQUUsR0FDRixVQUFVLEVBQUUsR0FDWjtJQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxVQUFVLENBQUE7Q0FBRSxHQUM3QixTQUFTLENBQUM7QUE2R2Q7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLGNBRXpEIn0=
@@ -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;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAe,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,OAAO,GACP,MAAM,GACN,YAAY,GACZ,UAAU,EAAE,GACZ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,GAC7B,SAAS,CAAC;AAoGd;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAEzD;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAGjC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,SAAS,CAAS;IAC1B,YACU,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,YAAY,EAAE,EAC1B,YAAY,UAAQ,EAG7B;IAED;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACI,MAAM,IAAI,MAAM,CAEtB;CACF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAE/E;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAEjG"}
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,5 +1,7 @@
1
+ import { EthAddress } from '@aztec/foundation/eth-address';
1
2
  import { AztecAddress } from '../aztec-address/index.js';
2
- import { isAztecAddressStruct, isOptionStruct, parseSignedInt } from './utils.js';
3
+ import { FunctionSelector } from './function_selector.js';
4
+ import { isAztecAddressStruct, isEthAddressStruct, isFunctionSelectorStruct, isOptionStruct, isWrappedFieldStruct, parseSignedInt } from './utils.js';
3
5
  /**
4
6
  * Decodes values using a provided ABI.
5
7
  */ class AbiDecoder {
@@ -42,6 +44,15 @@ import { isAztecAddressStruct, isOptionStruct, parseSignedInt } from './utils.js
42
44
  if (isAztecAddressStruct(abiType)) {
43
45
  return new AztecAddress(this.getNextField().toBuffer());
44
46
  }
47
+ if (isEthAddressStruct(abiType)) {
48
+ return EthAddress.fromField(this.getNextField());
49
+ }
50
+ if (isFunctionSelectorStruct(abiType)) {
51
+ return FunctionSelector.fromField(this.getNextField());
52
+ }
53
+ if (isWrappedFieldStruct(abiType)) {
54
+ return this.getNextField();
55
+ }
45
56
  if (isOptionStruct(abiType)) {
46
57
  const isSome = this.decodeNext(abiType.fields[0].type);
47
58
  const value = this.decodeNext(abiType.fields[1].type);
@@ -102,69 +113,3 @@ import { isAztecAddressStruct, isOptionStruct, parseSignedInt } from './utils.js
102
113
  */ export function decodeFromAbi(typ, buffer) {
103
114
  return new AbiDecoder(typ, buffer.slice()).decode();
104
115
  }
105
- /**
106
- * Decodes the signature of a function from the name and parameters.
107
- */ export class FunctionSignatureDecoder {
108
- name;
109
- parameters;
110
- includeNames;
111
- separator;
112
- constructor(name, parameters, includeNames = false){
113
- this.name = name;
114
- this.parameters = parameters;
115
- this.includeNames = includeNames;
116
- this.separator = includeNames ? ', ' : ',';
117
- }
118
- /**
119
- * Decodes a single function parameter type for the function signature.
120
- * @param param - The parameter type to decode.
121
- * @returns A string representing the parameter type.
122
- */ getParameterType(param) {
123
- switch(param.kind){
124
- case 'field':
125
- return 'Field';
126
- case 'integer':
127
- return param.sign === 'signed' ? `i${param.width}` : `u${param.width}`;
128
- case 'boolean':
129
- return 'bool';
130
- case 'array':
131
- return `[${this.getParameterType(param.type)};${param.length}]`;
132
- case 'string':
133
- return `str<${param.length}>`;
134
- case 'struct':
135
- return `(${param.fields.map((field)=>`${this.decodeParameter(field)}`).join(this.separator)})`;
136
- default:
137
- throw new Error(`Unsupported type: ${param.kind}`);
138
- }
139
- }
140
- /**
141
- * Decodes a single function parameter for the function signature.
142
- * @param param - The parameter to decode.
143
- * @returns A string representing the parameter type and optionally its name.
144
- */ decodeParameter(param) {
145
- const type = this.getParameterType(param.type);
146
- return this.includeNames ? `${param.name}: ${type}` : type;
147
- }
148
- /**
149
- * Decodes all the parameters and build the function signature
150
- * @returns The function signature.
151
- */ decode() {
152
- return `${this.name}(${this.parameters.map((param)=>this.decodeParameter(param)).join(this.separator)})`;
153
- }
154
- }
155
- /**
156
- * Decodes a function signature from the name and parameters.
157
- * @param name - The name of the function.
158
- * @param parameters - The parameters of the function.
159
- * @returns - The function signature.
160
- */ export function decodeFunctionSignature(name, parameters) {
161
- return new FunctionSignatureDecoder(name, parameters).decode();
162
- }
163
- /**
164
- * Decodes a function signature from the name and parameters including parameter names.
165
- * @param name - The name of the function.
166
- * @param parameters - The parameters of the function.
167
- * @returns - The user-friendly function signature.
168
- */ export function decodeFunctionSignatureWithParameterNames(name, parameters) {
169
- return new FunctionSignatureDecoder(name, parameters, true).decode();
170
- }
@@ -13,4 +13,4 @@ export declare function encodeArguments(abi: FunctionAbi, args: any[]): Fr[];
13
13
  * @returns The size of the arguments.
14
14
  */
15
15
  export declare function countArgumentsSize(abi: FunctionAbi): number;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBVyxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUE2UXJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFFNUQ7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxXQUFXLFVBRWxEIn0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBVyxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFpVHJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFFNUQ7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxXQUFXLFVBRWxEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,UAAU,CAAC;AA6QrD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,UAElD"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,UAAU,CAAC;AAiTrD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,UAElD"}
@@ -91,13 +91,24 @@ import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isOption
91
91
  this.flattened.push(new Fr(arg ? 1n : 0n));
92
92
  break;
93
93
  case 'array':
94
+ if (!Array.isArray(arg)) {
95
+ throw new Error(`Expected array for '${name ?? 'unnamed'}' but received ${typeof arg}`);
96
+ }
97
+ if (arg.length !== abiType.length) {
98
+ throw new Error(`Expected array of length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`);
99
+ }
94
100
  for(let i = 0; i < abiType.length; i += 1){
95
101
  this.encodeArgument(abiType.type, arg[i], `${name}[${i}]`);
96
102
  }
97
103
  break;
98
104
  case 'string':
105
+ if (typeof arg !== 'string') {
106
+ throw new Error(`Expected string for '${name ?? 'unnamed'}' but received ${typeof arg}`);
107
+ }
108
+ if (arg.length > abiType.length) {
109
+ throw new Error(`Expected string of max length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`);
110
+ }
99
111
  for(let i = 0; i < abiType.length; i += 1){
100
- // If the string is shorter than the defined length, pad it with 0s.
101
112
  const toInsert = i < arg.length ? BigInt(arg.charCodeAt(i)) : 0n;
102
113
  this.flattened.push(new Fr(toInsert));
103
114
  }
@@ -152,12 +163,24 @@ import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isOption
152
163
  case 'integer':
153
164
  {
154
165
  const value = BigInt(arg);
155
- if (abiType.sign === 'signed' && value < 0n) {
156
- // Convert negative values to two's complement representation
157
- const twosComplement = value + (1n << BigInt(abiType.width));
158
- this.flattened.push(new Fr(twosComplement));
159
- } else {
166
+ if (abiType.sign === 'unsigned') {
167
+ const maxValue = (1n << BigInt(abiType.width)) - 1n;
168
+ if (value < 0n || value > maxValue) {
169
+ throw new Error(`Value ${value} does not fit in u${abiType.width} for '${name ?? 'unnamed'}' (valid range: 0 to ${maxValue})`);
170
+ }
160
171
  this.flattened.push(new Fr(value));
172
+ } else {
173
+ const minValue = -(1n << BigInt(abiType.width - 1));
174
+ const maxValue = (1n << BigInt(abiType.width - 1)) - 1n;
175
+ if (value < minValue || value > maxValue) {
176
+ throw new Error(`Value ${value} does not fit in i${abiType.width} for '${name ?? 'unnamed'}' (valid range: ${minValue} to ${maxValue})`);
177
+ }
178
+ if (value < 0n) {
179
+ const twosComplement = value + (1n << BigInt(abiType.width));
180
+ this.flattened.push(new Fr(twosComplement));
181
+ } else {
182
+ this.flattened.push(new Fr(value));
183
+ }
161
184
  }
162
185
  break;
163
186
  }
@@ -169,6 +192,9 @@ import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isOption
169
192
  * Encodes all the arguments for the given function ABI.
170
193
  * @returns The encoded arguments.
171
194
  */ encode() {
195
+ if (this.args.length !== this.abi.parameters.length) {
196
+ throw new Error(`Function '${this.abi.name}' expects ${this.abi.parameters.length} argument(s) but received ${this.args.length}`);
197
+ }
172
198
  for(let i = 0; i < this.abi.parameters.length; i += 1){
173
199
  const parameterAbi = this.abi.parameters[i];
174
200
  this.encodeArgument(parameterAbi.type, this.args[i], parameterAbi.name);