@aztec/stdlib 0.0.1-commit.42ee6df9b → 0.0.1-commit.431c48d

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 (998) hide show
  1. package/dest/abi/abi.d.ts +128 -1197
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +31 -16
  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 +6 -2
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +13 -1
  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 +57 -15
  12. package/dest/abi/encoder.d.ts +1 -1
  13. package/dest/abi/encoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.js +32 -6
  15. package/dest/abi/event_selector.d.ts +4 -7
  16. package/dest/abi/event_selector.d.ts.map +1 -1
  17. package/dest/abi/function_call.d.ts +7 -25
  18. package/dest/abi/function_call.d.ts.map +1 -1
  19. package/dest/abi/function_selector.d.ts +3 -6
  20. package/dest/abi/function_selector.d.ts.map +1 -1
  21. package/dest/abi/function_selector.js +1 -3
  22. package/dest/abi/note_selector.d.ts +4 -7
  23. package/dest/abi/note_selector.d.ts.map +1 -1
  24. package/dest/abi/note_selector.js +1 -3
  25. package/dest/abi/selector.d.ts +2 -2
  26. package/dest/abi/selector.d.ts.map +1 -1
  27. package/dest/abi/selector.js +1 -1
  28. package/dest/abi/utils.d.ts +1 -1
  29. package/dest/abi/utils.d.ts.map +1 -1
  30. package/dest/abi/utils.js +1 -1
  31. package/dest/auth_witness/auth_witness.d.ts +2 -2
  32. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  33. package/dest/avm/avm.d.ts +1756 -10463
  34. package/dest/avm/avm.d.ts.map +1 -1
  35. package/dest/avm/avm.js +7 -4
  36. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  37. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  38. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  39. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  40. package/dest/avm/avm_proving_request.d.ts +653 -5446
  41. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  42. package/dest/avm/message_pack.js +12 -3
  43. package/dest/avm/public_data_write.d.ts +6 -12
  44. package/dest/avm/public_data_write.d.ts.map +1 -1
  45. package/dest/avm/revert_code.d.ts +5 -21
  46. package/dest/avm/revert_code.d.ts.map +1 -1
  47. package/dest/avm/revert_code.js +12 -30
  48. package/dest/aztec-address/index.d.ts +42 -12
  49. package/dest/aztec-address/index.d.ts.map +1 -1
  50. package/dest/aztec-address/index.js +40 -13
  51. package/dest/block/attestation_info.d.ts +3 -2
  52. package/dest/block/attestation_info.d.ts.map +1 -1
  53. package/dest/block/attestation_info.js +10 -5
  54. package/dest/block/block_data.d.ts +13 -38
  55. package/dest/block/block_data.d.ts.map +1 -1
  56. package/dest/block/block_data.js +2 -2
  57. package/dest/block/block_hash.d.ts +11 -10
  58. package/dest/block/block_hash.d.ts.map +1 -1
  59. package/dest/block/block_hash.js +10 -9
  60. package/dest/block/block_parameter.d.ts +37 -4
  61. package/dest/block/block_parameter.d.ts.map +1 -1
  62. package/dest/block/block_parameter.js +53 -2
  63. package/dest/block/in_block.d.ts +5 -24
  64. package/dest/block/in_block.d.ts.map +1 -1
  65. package/dest/block/index.d.ts +1 -2
  66. package/dest/block/index.d.ts.map +1 -1
  67. package/dest/block/index.js +0 -1
  68. package/dest/block/l2_block.d.ts +13 -41
  69. package/dest/block/l2_block.d.ts.map +1 -1
  70. package/dest/block/l2_block_info.d.ts +10 -29
  71. package/dest/block/l2_block_info.d.ts.map +1 -1
  72. package/dest/block/l2_block_info.js +6 -5
  73. package/dest/block/l2_block_source.d.ts +228 -432
  74. package/dest/block/l2_block_source.d.ts.map +1 -1
  75. package/dest/block/l2_block_source.js +88 -2
  76. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
  77. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  78. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +58 -0
  79. package/dest/block/l2_block_stream/index.d.ts +2 -1
  80. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  81. package/dest/block/l2_block_stream/index.js +1 -0
  82. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  83. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  84. package/dest/block/l2_block_stream/interfaces.js +25 -1
  85. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  86. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  88. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  89. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  91. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  92. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_tips_store_base.js +88 -57
  94. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  95. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  96. package/dest/block/proposal/attestations_and_signers.js +73 -25
  97. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  98. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  99. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  100. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.js +303 -39
  102. package/dest/block/validate_block_result.d.ts +16 -1
  103. package/dest/block/validate_block_result.d.ts.map +1 -1
  104. package/dest/block/validate_block_result.js +18 -3
  105. package/dest/checkpoint/checkpoint.d.ts +24 -96
  106. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  107. package/dest/checkpoint/checkpoint.js +2 -2
  108. package/dest/checkpoint/checkpoint_data.d.ts +40 -129
  109. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint_data.js +2 -0
  111. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  112. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  115. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  116. package/dest/checkpoint/digest.d.ts +18 -0
  117. package/dest/checkpoint/digest.d.ts.map +1 -0
  118. package/dest/checkpoint/digest.js +12 -0
  119. package/dest/checkpoint/index.d.ts +5 -1
  120. package/dest/checkpoint/index.d.ts.map +1 -1
  121. package/dest/checkpoint/index.js +4 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  124. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  125. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  126. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  127. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  128. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  129. package/dest/checkpoint/simulation_overrides.js +98 -0
  130. package/dest/checkpoint/validate.d.ts +19 -3
  131. package/dest/checkpoint/validate.d.ts.map +1 -1
  132. package/dest/checkpoint/validate.js +18 -6
  133. package/dest/config/chain-config.d.ts +4 -9
  134. package/dest/config/chain-config.d.ts.map +1 -1
  135. package/dest/config/chain-config.js +13 -12
  136. package/dest/config/index.d.ts +2 -2
  137. package/dest/config/index.d.ts.map +1 -1
  138. package/dest/config/index.js +1 -1
  139. package/dest/config/network-consensus-config.d.ts +72 -0
  140. package/dest/config/network-consensus-config.d.ts.map +1 -0
  141. package/dest/config/network-consensus-config.js +227 -0
  142. package/dest/config/node-rpc-config.d.ts +25 -1
  143. package/dest/config/node-rpc-config.d.ts.map +1 -1
  144. package/dest/config/node-rpc-config.js +45 -1
  145. package/dest/config/sequencer-config.d.ts +7 -3
  146. package/dest/config/sequencer-config.d.ts.map +1 -1
  147. package/dest/config/sequencer-config.js +38 -5
  148. package/dest/contract/complete_address.d.ts +3 -2
  149. package/dest/contract/complete_address.d.ts.map +1 -1
  150. package/dest/contract/complete_address.js +6 -2
  151. package/dest/contract/contract_address.d.ts +9 -8
  152. package/dest/contract/contract_address.d.ts.map +1 -1
  153. package/dest/contract/contract_address.js +5 -4
  154. package/dest/contract/contract_deployment_data.d.ts +15 -61
  155. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  156. package/dest/contract/contract_instance.d.ts +19 -3
  157. package/dest/contract/contract_instance.d.ts.map +1 -1
  158. package/dest/contract/contract_instance.js +55 -3
  159. package/dest/contract/interfaces/contract_class.d.ts +15 -86
  160. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  161. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  162. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  164. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  165. package/dest/contract/interfaces/contract_instance.js +11 -4
  166. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  167. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  168. package/dest/contract/interfaces/node-info.d.ts +11 -1
  169. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  170. package/dest/contract/interfaces/node-info.js +7 -1
  171. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  172. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  173. package/dest/contract/partial_address.d.ts +9 -3
  174. package/dest/contract/partial_address.d.ts.map +1 -1
  175. package/dest/contract/partial_address.js +8 -2
  176. package/dest/contract/private_function.d.ts +1 -1
  177. package/dest/contract/private_function.d.ts.map +1 -1
  178. package/dest/contract/private_function.js +2 -4
  179. package/dest/database-version/database_version.d.ts +5 -11
  180. package/dest/database-version/database_version.d.ts.map +1 -1
  181. package/dest/database-version/version_manager.d.ts +22 -4
  182. package/dest/database-version/version_manager.d.ts.map +1 -1
  183. package/dest/database-version/version_manager.js +87 -6
  184. package/dest/deserialization/index.d.ts +35 -3
  185. package/dest/deserialization/index.d.ts.map +1 -1
  186. package/dest/deserialization/index.js +32 -1
  187. package/dest/epoch-helpers/index.d.ts +4 -22
  188. package/dest/epoch-helpers/index.d.ts.map +1 -1
  189. package/dest/file-store/factory.d.ts +1 -1
  190. package/dest/file-store/factory.d.ts.map +1 -1
  191. package/dest/file-store/factory.js +7 -0
  192. package/dest/file-store/index.d.ts +2 -1
  193. package/dest/file-store/index.d.ts.map +1 -1
  194. package/dest/file-store/index.js +1 -0
  195. package/dest/file-store/memory.d.ts +24 -0
  196. package/dest/file-store/memory.d.ts.map +1 -0
  197. package/dest/file-store/memory.js +80 -0
  198. package/dest/gas/fee_math.d.ts +49 -0
  199. package/dest/gas/fee_math.d.ts.map +1 -0
  200. package/dest/gas/fee_math.js +80 -0
  201. package/dest/gas/gas.d.ts +9 -14
  202. package/dest/gas/gas.d.ts.map +1 -1
  203. package/dest/gas/gas.js +6 -3
  204. package/dest/gas/gas_fees.d.ts +13 -14
  205. package/dest/gas/gas_fees.d.ts.map +1 -1
  206. package/dest/gas/gas_fees.js +17 -4
  207. package/dest/gas/gas_settings.d.ts +60 -86
  208. package/dest/gas/gas_settings.d.ts.map +1 -1
  209. package/dest/gas/gas_settings.js +49 -9
  210. package/dest/gas/index.d.ts +3 -1
  211. package/dest/gas/index.d.ts.map +1 -1
  212. package/dest/gas/index.js +2 -0
  213. package/dest/gas/tx_gas_limits.d.ts +72 -0
  214. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  215. package/dest/gas/tx_gas_limits.js +85 -0
  216. package/dest/ha-signing/config.d.ts +29 -79
  217. package/dest/ha-signing/config.d.ts.map +1 -1
  218. package/dest/ha-signing/config.js +18 -21
  219. package/dest/ha-signing/index.d.ts +2 -2
  220. package/dest/ha-signing/index.d.ts.map +1 -1
  221. package/dest/ha-signing/index.js +1 -1
  222. package/dest/ha-signing/local_config.d.ts +12 -35
  223. package/dest/ha-signing/local_config.d.ts.map +1 -1
  224. package/dest/ha-signing/local_config.js +9 -3
  225. package/dest/ha-signing/types.d.ts +37 -32
  226. package/dest/ha-signing/types.d.ts.map +1 -1
  227. package/dest/ha-signing/types.js +13 -6
  228. package/dest/hash/hash.d.ts +16 -2
  229. package/dest/hash/hash.d.ts.map +1 -1
  230. package/dest/hash/hash.js +34 -9
  231. package/dest/interfaces/allowed_element.d.ts +4 -28
  232. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  233. package/dest/interfaces/api_limit.d.ts +7 -2
  234. package/dest/interfaces/api_limit.d.ts.map +1 -1
  235. package/dest/interfaces/api_limit.js +4 -1
  236. package/dest/interfaces/archiver.d.ts +27 -32
  237. package/dest/interfaces/archiver.d.ts.map +1 -1
  238. package/dest/interfaces/archiver.js +215 -71
  239. package/dest/interfaces/aztec-node-admin.d.ts +76 -302
  240. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  241. package/dest/interfaces/aztec-node-admin.js +60 -17
  242. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  243. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  244. package/dest/interfaces/aztec-node-debug.js +49 -0
  245. package/dest/interfaces/aztec-node.d.ts +162 -117
  246. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  247. package/dest/interfaces/aztec-node.js +358 -80
  248. package/dest/interfaces/block-builder.d.ts +11 -2
  249. package/dest/interfaces/block-builder.d.ts.map +1 -1
  250. package/dest/interfaces/block_response.d.ts +90 -0
  251. package/dest/interfaces/block_response.d.ts.map +1 -0
  252. package/dest/interfaces/block_response.js +30 -0
  253. package/dest/interfaces/chain_tips.d.ts +11 -0
  254. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  255. package/dest/interfaces/chain_tips.js +6 -0
  256. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  257. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  258. package/dest/interfaces/checkpoint_parameter.js +18 -0
  259. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  260. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  261. package/dest/interfaces/checkpoint_response.js +26 -0
  262. package/dest/interfaces/client.d.ts +9 -2
  263. package/dest/interfaces/client.d.ts.map +1 -1
  264. package/dest/interfaces/client.js +7 -1
  265. package/dest/interfaces/configs.d.ts +78 -134
  266. package/dest/interfaces/configs.d.ts.map +1 -1
  267. package/dest/interfaces/configs.js +16 -2
  268. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  269. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  270. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  271. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  272. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  273. package/dest/interfaces/l1_publish_info.js +26 -0
  274. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  275. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  276. package/dest/interfaces/l2_logs_source.js +5 -0
  277. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  278. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  279. package/dest/interfaces/p2p-bootstrap.js +8 -2
  280. package/dest/interfaces/p2p.d.ts +63 -7
  281. package/dest/interfaces/p2p.d.ts.map +1 -1
  282. package/dest/interfaces/p2p.js +49 -6
  283. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  284. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  285. package/dest/interfaces/prover-agent.d.ts +5 -23
  286. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  287. package/dest/interfaces/prover-agent.js +4 -1
  288. package/dest/interfaces/prover-client.d.ts +7 -29
  289. package/dest/interfaces/prover-client.d.ts.map +1 -1
  290. package/dest/interfaces/prover-client.js +0 -3
  291. package/dest/interfaces/prover-node.d.ts +12 -8
  292. package/dest/interfaces/prover-node.d.ts.map +1 -1
  293. package/dest/interfaces/prover-node.js +37 -16
  294. package/dest/interfaces/proving-job-source.js +24 -4
  295. package/dest/interfaces/proving-job.d.ts +740 -5778
  296. package/dest/interfaces/proving-job.d.ts.map +1 -1
  297. package/dest/interfaces/proving-job.js +14 -5
  298. package/dest/interfaces/public_storage_override.d.ts +22 -0
  299. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  300. package/dest/interfaces/public_storage_override.js +7 -0
  301. package/dest/interfaces/server.d.ts +6 -2
  302. package/dest/interfaces/server.d.ts.map +1 -1
  303. package/dest/interfaces/server.js +5 -1
  304. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  305. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  306. package/dest/interfaces/slasher.d.ts +25 -65
  307. package/dest/interfaces/slasher.d.ts.map +1 -1
  308. package/dest/interfaces/slasher.js +8 -4
  309. package/dest/interfaces/tx_provider.d.ts +10 -1
  310. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  311. package/dest/interfaces/validator.d.ts +62 -243
  312. package/dest/interfaces/validator.d.ts.map +1 -1
  313. package/dest/interfaces/validator.js +8 -1
  314. package/dest/interfaces/world_state.d.ts +15 -2
  315. package/dest/interfaces/world_state.d.ts.map +1 -1
  316. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  317. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  318. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  319. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  320. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  321. package/dest/kernel/hints/key_validation_request.js +20 -18
  322. package/dest/kernel/hints/read_request.js +1 -1
  323. package/dest/kernel/index.d.ts +6 -2
  324. package/dest/kernel/index.d.ts.map +1 -1
  325. package/dest/kernel/index.js +5 -1
  326. package/dest/kernel/log_hash.d.ts +6 -2
  327. package/dest/kernel/log_hash.d.ts.map +1 -1
  328. package/dest/kernel/log_hash.js +23 -11
  329. package/dest/kernel/note_hash.js +1 -1
  330. package/dest/kernel/nullifier.js +1 -1
  331. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  332. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  333. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  334. package/dest/kernel/private_context_inputs.d.ts +4 -3
  335. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  336. package/dest/kernel/private_context_inputs.js +7 -3
  337. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -2
  338. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  339. package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
  340. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  341. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  342. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  343. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  344. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  345. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  346. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  347. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  348. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  349. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  350. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  351. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  352. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  353. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  354. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  355. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  356. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  357. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  358. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  359. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  360. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  361. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  362. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  363. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  364. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  365. package/dest/kernel/private_log_data.d.ts +1 -1
  366. package/dest/kernel/private_log_data.d.ts.map +1 -1
  367. package/dest/kernel/private_log_data.js +1 -1
  368. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  369. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  370. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  371. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  372. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  373. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  374. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  375. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  376. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  377. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  378. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  379. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  380. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  381. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  382. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  383. package/dest/kernel/public_call_request.d.ts +15 -30
  384. package/dest/kernel/public_call_request.d.ts.map +1 -1
  385. package/dest/kernel/public_call_request.js +16 -7
  386. package/dest/keys/derivation.d.ts +45 -6
  387. package/dest/keys/derivation.d.ts.map +1 -1
  388. package/dest/keys/derivation.js +55 -22
  389. package/dest/keys/public_key.d.ts +22 -3
  390. package/dest/keys/public_key.d.ts.map +1 -1
  391. package/dest/keys/public_key.js +20 -1
  392. package/dest/keys/public_keys.d.ts +55 -82
  393. package/dest/keys/public_keys.d.ts.map +1 -1
  394. package/dest/keys/public_keys.js +102 -74
  395. package/dest/kv-store/config.d.ts +3 -6
  396. package/dest/kv-store/config.d.ts.map +1 -1
  397. package/dest/kv-store/config.js +2 -7
  398. package/dest/l1-contracts/index.d.ts +2 -2
  399. package/dest/l1-contracts/index.d.ts.map +1 -1
  400. package/dest/l1-contracts/index.js +1 -1
  401. package/dest/logs/app_tagging_secret.d.ts +69 -0
  402. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  403. package/dest/logs/app_tagging_secret.js +116 -0
  404. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  405. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  406. package/dest/logs/app_tagging_secret_kind.js +17 -0
  407. package/dest/logs/contract_class_log.d.ts +16 -35
  408. package/dest/logs/contract_class_log.d.ts.map +1 -1
  409. package/dest/logs/contract_class_log.js +11 -13
  410. package/dest/logs/index.d.ts +7 -9
  411. package/dest/logs/index.d.ts.map +1 -1
  412. package/dest/logs/index.js +6 -8
  413. package/dest/logs/log_cursor.d.ts +51 -0
  414. package/dest/logs/log_cursor.d.ts.map +1 -0
  415. package/dest/logs/log_cursor.js +82 -0
  416. package/dest/logs/log_result.d.ts +54 -0
  417. package/dest/logs/log_result.d.ts.map +1 -0
  418. package/dest/logs/log_result.js +56 -0
  419. package/dest/logs/logs_query.d.ts +82 -0
  420. package/dest/logs/logs_query.d.ts.map +1 -0
  421. package/dest/logs/logs_query.js +50 -0
  422. package/dest/logs/pre_tag.d.ts +11 -24
  423. package/dest/logs/pre_tag.d.ts.map +1 -1
  424. package/dest/logs/pre_tag.js +2 -2
  425. package/dest/logs/private_log.d.ts +7 -12
  426. package/dest/logs/private_log.d.ts.map +1 -1
  427. package/dest/logs/private_log.js +6 -3
  428. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  429. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  430. package/dest/logs/query_all_logs_by_tags.js +64 -0
  431. package/dest/logs/shared_secret_derivation.d.ts +29 -6
  432. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  433. package/dest/logs/shared_secret_derivation.js +44 -11
  434. package/dest/logs/siloed_tag.d.ts +5 -7
  435. package/dest/logs/siloed_tag.d.ts.map +1 -1
  436. package/dest/logs/siloed_tag.js +7 -1
  437. package/dest/logs/tag.d.ts +5 -6
  438. package/dest/logs/tag.d.ts.map +1 -1
  439. package/dest/logs/tag.js +4 -0
  440. package/dest/logs/tagging_index_range.d.ts +13 -31
  441. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  442. package/dest/logs/tagging_index_range.js +2 -2
  443. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  444. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  445. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  446. package/dest/messaging/index.d.ts +2 -1
  447. package/dest/messaging/index.d.ts.map +1 -1
  448. package/dest/messaging/index.js +1 -0
  449. package/dest/messaging/l1_to_l2_message.d.ts +23 -2
  450. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  451. package/dest/messaging/l1_to_l2_message.js +36 -11
  452. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  453. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  454. package/dest/messaging/l2_to_l1_membership.js +72 -12
  455. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  456. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  457. package/dest/messaging/l2_to_l1_message.js +21 -12
  458. package/dest/noir/index.d.ts +5 -3
  459. package/dest/noir/index.d.ts.map +1 -1
  460. package/dest/note/note.d.ts +2 -2
  461. package/dest/note/note.d.ts.map +1 -1
  462. package/dest/p2p/attestation_utils.d.ts +1 -1
  463. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  464. package/dest/p2p/attestation_utils.js +8 -1
  465. package/dest/p2p/block_proposal.d.ts +31 -14
  466. package/dest/p2p/block_proposal.d.ts.map +1 -1
  467. package/dest/p2p/block_proposal.js +57 -39
  468. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  469. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  470. package/dest/p2p/checkpoint_attestation.js +33 -24
  471. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  472. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  473. package/dest/p2p/checkpoint_proposal.js +59 -51
  474. package/dest/p2p/consensus_payload.d.ts +27 -20
  475. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  476. package/dest/p2p/consensus_payload.js +38 -19
  477. package/dest/p2p/gossipable.d.ts +4 -4
  478. package/dest/p2p/gossipable.d.ts.map +1 -1
  479. package/dest/p2p/index.d.ts +2 -1
  480. package/dest/p2p/index.d.ts.map +1 -1
  481. package/dest/p2p/index.js +1 -0
  482. package/dest/p2p/signature_utils.d.ts +35 -17
  483. package/dest/p2p/signature_utils.d.ts.map +1 -1
  484. package/dest/p2p/signature_utils.js +125 -20
  485. package/dest/p2p/signed_txs.d.ts +15 -13
  486. package/dest/p2p/signed_txs.d.ts.map +1 -1
  487. package/dest/p2p/signed_txs.js +26 -24
  488. package/dest/p2p/validated_proposal.d.ts +35 -0
  489. package/dest/p2p/validated_proposal.d.ts.map +1 -0
  490. package/dest/p2p/validated_proposal.js +17 -0
  491. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  492. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  493. package/dest/parity/parity_base_private_inputs.js +7 -5
  494. package/dest/parity/parity_public_inputs.d.ts +8 -4
  495. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  496. package/dest/parity/parity_public_inputs.js +6 -3
  497. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  498. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  499. package/dest/proofs/chonk_proof.d.ts +17 -11
  500. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  501. package/dest/proofs/chonk_proof.js +44 -22
  502. package/dest/proofs/recursive_proof.d.ts +2 -2
  503. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  504. package/dest/rollup/avm_proof_data.d.ts +3 -3
  505. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  506. package/dest/rollup/block_headers_hash.d.ts +1 -1
  507. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  508. package/dest/rollup/block_headers_hash.js +8 -2
  509. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  510. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  511. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  512. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  513. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  514. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  515. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  516. package/dest/rollup/checkpoint_header.d.ts +8 -3
  517. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  518. package/dest/rollup/checkpoint_header.js +20 -10
  519. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  520. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  521. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  522. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  523. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  524. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  525. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  526. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  527. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  528. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  529. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  530. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  531. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  532. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  533. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  534. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  535. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  536. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  537. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  538. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  539. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  540. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  541. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  542. package/dest/schemas/schemas.d.ts +32 -78
  543. package/dest/schemas/schemas.d.ts.map +1 -1
  544. package/dest/schemas/schemas.js +2 -2
  545. package/dest/slashing/helpers.d.ts +2 -2
  546. package/dest/slashing/helpers.d.ts.map +1 -1
  547. package/dest/slashing/helpers.js +10 -7
  548. package/dest/slashing/index.d.ts +2 -3
  549. package/dest/slashing/index.d.ts.map +1 -1
  550. package/dest/slashing/index.js +1 -2
  551. package/dest/slashing/serialization.d.ts +2 -6
  552. package/dest/slashing/serialization.d.ts.map +1 -1
  553. package/dest/slashing/serialization.js +0 -60
  554. package/dest/slashing/types.d.ts +18 -112
  555. package/dest/slashing/types.d.ts.map +1 -1
  556. package/dest/slashing/types.js +16 -24
  557. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  558. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  559. package/dest/slashing/{tally.js → votes.js} +1 -1
  560. package/dest/snapshots/types.d.ts +15 -78
  561. package/dest/snapshots/types.d.ts.map +1 -1
  562. package/dest/stats/stats.d.ts +2 -2
  563. package/dest/stats/stats.d.ts.map +1 -1
  564. package/dest/tests/factories.d.ts +24 -29
  565. package/dest/tests/factories.d.ts.map +1 -1
  566. package/dest/tests/factories.js +81 -69
  567. package/dest/tests/mocks.d.ts +8 -5
  568. package/dest/tests/mocks.d.ts.map +1 -1
  569. package/dest/tests/mocks.js +45 -56
  570. package/dest/timetable/budgets.d.ts +57 -0
  571. package/dest/timetable/budgets.d.ts.map +1 -0
  572. package/dest/timetable/budgets.js +56 -0
  573. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  574. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  575. package/dest/timetable/build_proposer_timetable.js +17 -0
  576. package/dest/timetable/consensus_timetable.d.ts +70 -0
  577. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  578. package/dest/timetable/consensus_timetable.js +89 -0
  579. package/dest/timetable/index.d.ts +5 -37
  580. package/dest/timetable/index.d.ts.map +1 -1
  581. package/dest/timetable/index.js +4 -39
  582. package/dest/timetable/proposer_timetable.d.ts +106 -0
  583. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  584. package/dest/timetable/proposer_timetable.js +132 -0
  585. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  586. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  587. package/dest/trees/append_only_tree_snapshot.js +6 -3
  588. package/dest/trees/nullifier_leaf.d.ts +19 -42
  589. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  590. package/dest/trees/nullifier_leaf.js +3 -0
  591. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  592. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  593. package/dest/trees/nullifier_membership_witness.js +0 -21
  594. package/dest/trees/public_data_leaf.d.ts +21 -53
  595. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  596. package/dest/trees/public_data_witness.d.ts +19 -71
  597. package/dest/trees/public_data_witness.d.ts.map +1 -1
  598. package/dest/trees/public_data_witness.js +0 -27
  599. package/dest/tx/block_header.d.ts +5 -4
  600. package/dest/tx/block_header.d.ts.map +1 -1
  601. package/dest/tx/block_header.js +7 -4
  602. package/dest/tx/call_context.d.ts +4 -14
  603. package/dest/tx/call_context.d.ts.map +1 -1
  604. package/dest/tx/capsule.d.ts +2 -2
  605. package/dest/tx/capsule.d.ts.map +1 -1
  606. package/dest/tx/execution_payload.d.ts +1 -1
  607. package/dest/tx/execution_payload.d.ts.map +1 -1
  608. package/dest/tx/execution_payload.js +1 -1
  609. package/dest/tx/fee_provider.d.ts +10 -0
  610. package/dest/tx/fee_provider.d.ts.map +1 -0
  611. package/dest/tx/fee_provider.js +1 -0
  612. package/dest/tx/function_data.d.ts +4 -10
  613. package/dest/tx/function_data.d.ts.map +1 -1
  614. package/dest/tx/global_variable_builder.d.ts +4 -27
  615. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  616. package/dest/tx/global_variables.d.ts +16 -49
  617. package/dest/tx/global_variables.d.ts.map +1 -1
  618. package/dest/tx/global_variables.js +10 -14
  619. package/dest/tx/hashed_values.d.ts +10 -3
  620. package/dest/tx/hashed_values.d.ts.map +1 -1
  621. package/dest/tx/hashed_values.js +15 -4
  622. package/dest/tx/in_tx.d.ts +5 -17
  623. package/dest/tx/in_tx.d.ts.map +1 -1
  624. package/dest/tx/index.d.ts +2 -1
  625. package/dest/tx/index.d.ts.map +1 -1
  626. package/dest/tx/index.js +1 -0
  627. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  628. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  629. package/dest/tx/indexed_tx_effect.js +9 -6
  630. package/dest/tx/partial_state_reference.d.ts +22 -65
  631. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  632. package/dest/tx/partial_state_reference.js +6 -3
  633. package/dest/tx/private_execution_result.d.ts +6 -16
  634. package/dest/tx/private_execution_result.d.ts.map +1 -1
  635. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  636. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  637. package/dest/tx/private_tx_constant_data.js +13 -4
  638. package/dest/tx/profiling.d.ts +54 -352
  639. package/dest/tx/profiling.d.ts.map +1 -1
  640. package/dest/tx/profiling.js +4 -4
  641. package/dest/tx/protocol_contracts.d.ts +5 -9
  642. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  643. package/dest/tx/proven_tx.d.ts +30 -74
  644. package/dest/tx/proven_tx.d.ts.map +1 -1
  645. package/dest/tx/proven_tx.js +6 -0
  646. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  647. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  648. package/dest/tx/public_call_request_with_calldata.js +6 -3
  649. package/dest/tx/simulated_tx.d.ts +73 -1256
  650. package/dest/tx/simulated_tx.d.ts.map +1 -1
  651. package/dest/tx/simulated_tx.js +19 -12
  652. package/dest/tx/state_reference.d.ts +30 -117
  653. package/dest/tx/state_reference.d.ts.map +1 -1
  654. package/dest/tx/state_reference.js +6 -4
  655. package/dest/tx/tree_snapshots.d.ts +27 -84
  656. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  657. package/dest/tx/tree_snapshots.js +6 -4
  658. package/dest/tx/tx.d.ts +29 -13
  659. package/dest/tx/tx.d.ts.map +1 -1
  660. package/dest/tx/tx.js +53 -25
  661. package/dest/tx/tx_constant_data.d.ts +4 -3
  662. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  663. package/dest/tx/tx_constant_data.js +6 -3
  664. package/dest/tx/tx_context.d.ts +32 -131
  665. package/dest/tx/tx_context.d.ts.map +1 -1
  666. package/dest/tx/tx_context.js +6 -6
  667. package/dest/tx/tx_hash.d.ts +6 -4
  668. package/dest/tx/tx_hash.d.ts.map +1 -1
  669. package/dest/tx/tx_hash.js +13 -5
  670. package/dest/tx/tx_receipt.d.ts +144 -63
  671. package/dest/tx/tx_receipt.d.ts.map +1 -1
  672. package/dest/tx/tx_receipt.js +143 -60
  673. package/dest/tx/validator/error_texts.d.ts +2 -2
  674. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  675. package/dest/tx/validator/error_texts.js +1 -1
  676. package/dest/tx/validator/tx_validator.d.ts +5 -27
  677. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  678. package/dest/tx/validator/tx_validator.js +0 -4
  679. package/dest/types/shared.d.ts +4 -12
  680. package/dest/types/shared.d.ts.map +1 -1
  681. package/dest/types/shared.js +6 -12
  682. package/dest/update-checker/dev_version.d.ts +3 -0
  683. package/dest/update-checker/dev_version.d.ts.map +1 -0
  684. package/dest/update-checker/dev_version.js +1 -0
  685. package/dest/update-checker/index.d.ts +2 -1
  686. package/dest/update-checker/index.d.ts.map +1 -1
  687. package/dest/update-checker/index.js +1 -0
  688. package/dest/update-checker/package_version.d.ts +6 -3
  689. package/dest/update-checker/package_version.d.ts.map +1 -1
  690. package/dest/update-checker/package_version.js +8 -19
  691. package/dest/validators/errors.d.ts +16 -1
  692. package/dest/validators/errors.d.ts.map +1 -1
  693. package/dest/validators/errors.js +12 -0
  694. package/dest/validators/schemas.d.ts +147 -614
  695. package/dest/validators/schemas.d.ts.map +1 -1
  696. package/dest/validators/schemas.js +6 -4
  697. package/dest/validators/types.d.ts +20 -3
  698. package/dest/validators/types.d.ts.map +1 -1
  699. package/dest/versioning/versioning.js +1 -1
  700. package/dest/vks/verification_key.d.ts +4 -139
  701. package/dest/vks/verification_key.d.ts.map +1 -1
  702. package/dest/vks/verification_key.js +5 -126
  703. package/dest/world-state/genesis_data.d.ts +21 -0
  704. package/dest/world-state/genesis_data.d.ts.map +1 -0
  705. package/dest/world-state/genesis_data.js +8 -0
  706. package/dest/world-state/index.d.ts +2 -1
  707. package/dest/world-state/index.d.ts.map +1 -1
  708. package/dest/world-state/index.js +1 -0
  709. package/dest/world-state/world_state_revision.d.ts +15 -26
  710. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  711. package/dest/world-state/world_state_revision.js +7 -1
  712. package/package.json +12 -11
  713. package/src/abi/abi.ts +61 -19
  714. package/src/abi/authorization_selector.ts +2 -8
  715. package/src/abi/buffer.ts +13 -1
  716. package/src/abi/contract_artifact.ts +63 -15
  717. package/src/abi/encoder.ts +42 -6
  718. package/src/abi/event_selector.ts +2 -8
  719. package/src/abi/function_selector.ts +3 -12
  720. package/src/abi/note_selector.ts +3 -12
  721. package/src/abi/selector.ts +1 -1
  722. package/src/abi/utils.ts +6 -4
  723. package/src/avm/avm.ts +6 -1
  724. package/src/avm/message_pack.ts +12 -3
  725. package/src/avm/revert_code.ts +19 -39
  726. package/src/aztec-address/index.ts +50 -17
  727. package/src/block/attestation_info.ts +16 -11
  728. package/src/block/block_data.ts +3 -4
  729. package/src/block/block_hash.ts +21 -14
  730. package/src/block/block_parameter.ts +72 -4
  731. package/src/block/index.ts +0 -1
  732. package/src/block/l2_block_info.ts +8 -6
  733. package/src/block/l2_block_source.ts +272 -152
  734. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +77 -0
  735. package/src/block/l2_block_stream/index.ts +1 -0
  736. package/src/block/l2_block_stream/interfaces.ts +101 -9
  737. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  738. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  739. package/src/block/l2_block_stream/l2_tips_store_base.ts +97 -84
  740. package/src/block/proposal/attestations_and_signers.ts +85 -24
  741. package/src/block/test/l2_tips_store_test_suite.ts +277 -30
  742. package/src/block/validate_block_result.ts +48 -2
  743. package/src/checkpoint/checkpoint.ts +2 -2
  744. package/src/checkpoint/checkpoint_data.ts +4 -0
  745. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  746. package/src/checkpoint/digest.ts +28 -0
  747. package/src/checkpoint/index.ts +4 -0
  748. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  749. package/src/checkpoint/simulation_overrides.ts +171 -0
  750. package/src/checkpoint/validate.ts +38 -6
  751. package/src/config/chain-config.ts +13 -16
  752. package/src/config/index.ts +1 -1
  753. package/src/config/network-consensus-config.ts +299 -0
  754. package/src/config/node-rpc-config.ts +83 -1
  755. package/src/config/sequencer-config.ts +68 -9
  756. package/src/contract/complete_address.ts +7 -3
  757. package/src/contract/contract_address.ts +10 -9
  758. package/src/contract/contract_instance.ts +73 -3
  759. package/src/contract/interfaces/contract_data_source.ts +2 -4
  760. package/src/contract/interfaces/contract_instance.ts +32 -10
  761. package/src/contract/interfaces/node-info.ts +11 -0
  762. package/src/contract/partial_address.ts +8 -2
  763. package/src/contract/private_function.ts +3 -1
  764. package/src/database-version/version_manager.ts +113 -6
  765. package/src/deserialization/index.ts +35 -2
  766. package/src/file-store/factory.ts +7 -0
  767. package/src/file-store/index.ts +1 -0
  768. package/src/file-store/memory.ts +94 -0
  769. package/src/gas/README.md +230 -35
  770. package/src/gas/fee_math.ts +120 -0
  771. package/src/gas/gas.ts +8 -3
  772. package/src/gas/gas_fees.ts +26 -13
  773. package/src/gas/gas_settings.ts +63 -15
  774. package/src/gas/index.ts +2 -0
  775. package/src/gas/tx_gas_limits.ts +123 -0
  776. package/src/ha-signing/config.ts +37 -23
  777. package/src/ha-signing/index.ts +3 -1
  778. package/src/ha-signing/local_config.ts +21 -2
  779. package/src/ha-signing/types.ts +48 -34
  780. package/src/hash/hash.ts +29 -10
  781. package/src/interfaces/api_limit.ts +6 -1
  782. package/src/interfaces/archiver.ts +95 -94
  783. package/src/interfaces/aztec-node-admin.ts +36 -21
  784. package/src/interfaces/aztec-node-debug.ts +92 -0
  785. package/src/interfaces/aztec-node.ts +411 -274
  786. package/src/interfaces/block-builder.ts +10 -1
  787. package/src/interfaces/block_response.ts +92 -0
  788. package/src/interfaces/chain_tips.ts +16 -0
  789. package/src/interfaces/checkpoint_parameter.ts +20 -0
  790. package/src/interfaces/checkpoint_response.ts +84 -0
  791. package/src/interfaces/client.ts +8 -1
  792. package/src/interfaces/configs.ts +79 -7
  793. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  794. package/src/interfaces/l1_publish_info.ts +40 -0
  795. package/src/interfaces/l2_logs_source.ts +13 -42
  796. package/src/interfaces/merkle_tree_operations.ts +3 -2
  797. package/src/interfaces/p2p-bootstrap.ts +2 -2
  798. package/src/interfaces/p2p.ts +80 -19
  799. package/src/interfaces/private_kernel_prover.ts +98 -12
  800. package/src/interfaces/prover-agent.ts +1 -1
  801. package/src/interfaces/prover-client.ts +3 -8
  802. package/src/interfaces/prover-node.ts +36 -21
  803. package/src/interfaces/proving-job-source.ts +4 -4
  804. package/src/interfaces/proving-job.ts +18 -6
  805. package/src/interfaces/public_storage_override.ts +26 -0
  806. package/src/interfaces/server.ts +5 -1
  807. package/src/interfaces/server_circuit_prover.ts +2 -2
  808. package/src/interfaces/slasher.ts +17 -10
  809. package/src/interfaces/tx_provider.ts +10 -0
  810. package/src/interfaces/validator.ts +50 -14
  811. package/src/interfaces/world_state.ts +15 -1
  812. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  813. package/src/kernel/hints/key_validation_request.ts +18 -16
  814. package/src/kernel/hints/read_request.ts +1 -1
  815. package/src/kernel/index.ts +5 -1
  816. package/src/kernel/log_hash.ts +36 -13
  817. package/src/kernel/note_hash.ts +1 -1
  818. package/src/kernel/nullifier.ts +1 -1
  819. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  820. package/src/kernel/private_context_inputs.ts +10 -3
  821. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
  822. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  823. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  824. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  825. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  826. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  827. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  828. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  829. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  830. package/src/kernel/private_log_data.ts +4 -1
  831. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  832. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  833. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  834. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  835. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  836. package/src/kernel/public_call_request.ts +22 -7
  837. package/src/keys/derivation.ts +79 -22
  838. package/src/keys/public_key.ts +26 -2
  839. package/src/keys/public_keys.ts +124 -110
  840. package/src/kv-store/config.ts +3 -10
  841. package/src/l1-contracts/index.ts +1 -1
  842. package/src/logs/app_tagging_secret.ts +160 -0
  843. package/src/logs/app_tagging_secret_kind.ts +21 -0
  844. package/src/logs/contract_class_log.ts +15 -14
  845. package/src/logs/index.ts +6 -8
  846. package/src/logs/log_cursor.ts +110 -0
  847. package/src/logs/log_result.ts +104 -0
  848. package/src/logs/logs_query.ts +138 -0
  849. package/src/logs/pre_tag.ts +3 -6
  850. package/src/logs/private_log.ts +9 -3
  851. package/src/logs/query_all_logs_by_tags.ts +98 -0
  852. package/src/logs/shared_secret_derivation.ts +47 -14
  853. package/src/logs/siloed_tag.ts +14 -10
  854. package/src/logs/tag.ts +8 -8
  855. package/src/logs/tagging_index_range.ts +4 -10
  856. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  857. package/src/messaging/index.ts +1 -0
  858. package/src/messaging/l1_to_l2_message.ts +51 -13
  859. package/src/messaging/l2_to_l1_membership.ts +108 -19
  860. package/src/messaging/l2_to_l1_message.ts +29 -9
  861. package/src/noir/index.ts +4 -1
  862. package/src/p2p/attestation_utils.ts +8 -1
  863. package/src/p2p/block_proposal.ts +111 -36
  864. package/src/p2p/checkpoint_attestation.ts +38 -30
  865. package/src/p2p/checkpoint_proposal.ts +128 -73
  866. package/src/p2p/consensus_payload.ts +59 -28
  867. package/src/p2p/gossipable.ts +4 -4
  868. package/src/p2p/index.ts +1 -0
  869. package/src/p2p/signature_utils.ts +117 -23
  870. package/src/p2p/signed_txs.ts +46 -28
  871. package/src/p2p/validated_proposal.ts +43 -0
  872. package/src/parity/parity_base_private_inputs.ts +10 -4
  873. package/src/parity/parity_public_inputs.ts +9 -2
  874. package/src/proofs/chonk_proof.ts +49 -15
  875. package/src/rollup/avm_proof_data.ts +2 -2
  876. package/src/rollup/block_headers_hash.ts +11 -2
  877. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  878. package/src/rollup/checkpoint_header.ts +16 -2
  879. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  880. package/src/schemas/schemas.ts +6 -1
  881. package/src/slashing/helpers.ts +13 -9
  882. package/src/slashing/index.ts +1 -2
  883. package/src/slashing/serialization.ts +1 -81
  884. package/src/slashing/types.ts +24 -49
  885. package/src/slashing/{tally.ts → votes.ts} +1 -1
  886. package/src/stats/stats.ts +6 -2
  887. package/src/tests/factories.ts +111 -90
  888. package/src/tests/mocks.ts +72 -71
  889. package/src/timetable/README.md +609 -0
  890. package/src/timetable/budgets.ts +87 -0
  891. package/src/timetable/build_proposer_timetable.ts +42 -0
  892. package/src/timetable/consensus_timetable.ts +126 -0
  893. package/src/timetable/index.ts +4 -66
  894. package/src/timetable/proposer_timetable.ts +190 -0
  895. package/src/timetable/timetable-example.svg +108 -0
  896. package/src/trees/append_only_tree_snapshot.ts +8 -3
  897. package/src/trees/nullifier_leaf.ts +4 -0
  898. package/src/trees/nullifier_membership_witness.ts +0 -21
  899. package/src/trees/public_data_witness.ts +0 -31
  900. package/src/tx/block_header.ts +10 -5
  901. package/src/tx/execution_payload.ts +2 -1
  902. package/src/tx/fee_provider.ts +10 -0
  903. package/src/tx/global_variable_builder.ts +3 -35
  904. package/src/tx/global_variables.ts +12 -20
  905. package/src/tx/hashed_values.ts +19 -9
  906. package/src/tx/index.ts +1 -0
  907. package/src/tx/indexed_tx_effect.ts +18 -6
  908. package/src/tx/partial_state_reference.ts +8 -3
  909. package/src/tx/private_tx_constant_data.ts +25 -2
  910. package/src/tx/profiling.ts +4 -4
  911. package/src/tx/proven_tx.ts +6 -0
  912. package/src/tx/public_call_request_with_calldata.ts +8 -3
  913. package/src/tx/simulated_tx.ts +31 -19
  914. package/src/tx/state_reference.ts +9 -4
  915. package/src/tx/tree_snapshots.ts +9 -4
  916. package/src/tx/tx.ts +79 -27
  917. package/src/tx/tx_constant_data.ts +8 -3
  918. package/src/tx/tx_context.ts +8 -3
  919. package/src/tx/tx_hash.ts +20 -5
  920. package/src/tx/tx_receipt.ts +265 -85
  921. package/src/tx/validator/error_texts.ts +2 -1
  922. package/src/tx/validator/tx_validator.ts +1 -5
  923. package/src/types/shared.ts +8 -13
  924. package/src/update-checker/dev_version.ts +2 -0
  925. package/src/update-checker/index.ts +1 -0
  926. package/src/update-checker/package_version.ts +10 -23
  927. package/src/validators/errors.ts +17 -0
  928. package/src/validators/schemas.ts +6 -4
  929. package/src/validators/types.ts +21 -2
  930. package/src/versioning/versioning.ts +1 -1
  931. package/src/vks/verification_key.ts +5 -184
  932. package/src/world-state/genesis_data.ts +37 -0
  933. package/src/world-state/index.ts +1 -0
  934. package/src/world-state/world_state_revision.ts +9 -1
  935. package/dest/abi/mocked_keys.d.ts +0 -2
  936. package/dest/abi/mocked_keys.d.ts.map +0 -1
  937. package/dest/abi/mocked_keys.js +0 -1
  938. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  939. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  940. package/dest/block/checkpointed_l2_block.js +0 -46
  941. package/dest/config/pipelining-config.d.ts +0 -19
  942. package/dest/config/pipelining-config.d.ts.map +0 -1
  943. package/dest/config/pipelining-config.js +0 -18
  944. package/dest/interfaces/epoch-prover.d.ts +0 -57
  945. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  946. package/dest/interfaces/epoch-prover.js +0 -1
  947. package/dest/interfaces/get_logs_response.d.ts +0 -97
  948. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  949. package/dest/interfaces/get_logs_response.js +0 -12
  950. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  951. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  952. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  953. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  954. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  955. package/dest/l1-contracts/slash_factory.js +0 -158
  956. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  957. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  958. package/dest/logs/extended_contract_class_log.js +0 -67
  959. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  960. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  961. package/dest/logs/extended_directional_app_tagging_secret.js +0 -79
  962. package/dest/logs/extended_public_log.d.ts +0 -106
  963. package/dest/logs/extended_public_log.d.ts.map +0 -1
  964. package/dest/logs/extended_public_log.js +0 -73
  965. package/dest/logs/log_filter.d.ts +0 -25
  966. package/dest/logs/log_filter.d.ts.map +0 -1
  967. package/dest/logs/log_filter.js +0 -12
  968. package/dest/logs/log_id.d.ts +0 -85
  969. package/dest/logs/log_id.d.ts.map +0 -1
  970. package/dest/logs/log_id.js +0 -94
  971. package/dest/logs/message_context.d.ts +0 -26
  972. package/dest/logs/message_context.d.ts.map +0 -1
  973. package/dest/logs/message_context.js +0 -70
  974. package/dest/logs/pending_tagged_log.d.ts +0 -13
  975. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  976. package/dest/logs/pending_tagged_log.js +0 -34
  977. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  978. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  979. package/dest/logs/tx_scoped_l2_log.js +0 -77
  980. package/dest/slashing/empire.d.ts +0 -31
  981. package/dest/slashing/empire.d.ts.map +0 -1
  982. package/dest/slashing/empire.js +0 -87
  983. package/src/abi/mocked_keys.ts +0 -2
  984. package/src/block/checkpointed_l2_block.ts +0 -70
  985. package/src/config/pipelining-config.ts +0 -31
  986. package/src/interfaces/epoch-prover.ts +0 -72
  987. package/src/interfaces/get_logs_response.ts +0 -35
  988. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  989. package/src/l1-contracts/slash_factory.ts +0 -180
  990. package/src/logs/extended_contract_class_log.ts +0 -87
  991. package/src/logs/extended_directional_app_tagging_secret.ts +0 -98
  992. package/src/logs/extended_public_log.ts +0 -94
  993. package/src/logs/log_filter.ts +0 -36
  994. package/src/logs/log_id.ts +0 -125
  995. package/src/logs/message_context.ts +0 -72
  996. package/src/logs/pending_tagged_log.ts +0 -39
  997. package/src/logs/tx_scoped_l2_log.ts +0 -114
  998. package/src/slashing/empire.ts +0 -104
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "0.0.1-commit.42ee6df9b",
3
+ "version": "0.0.1-commit.431c48d",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -92,15 +92,15 @@
92
92
  },
93
93
  "dependencies": {
94
94
  "@aws-sdk/client-s3": "^3.892.0",
95
- "@aztec/bb.js": "0.0.1-commit.42ee6df9b",
96
- "@aztec/blob-lib": "0.0.1-commit.42ee6df9b",
97
- "@aztec/constants": "0.0.1-commit.42ee6df9b",
98
- "@aztec/ethereum": "0.0.1-commit.42ee6df9b",
99
- "@aztec/foundation": "0.0.1-commit.42ee6df9b",
100
- "@aztec/l1-artifacts": "0.0.1-commit.42ee6df9b",
101
- "@aztec/noir-noirc_abi": "0.0.1-commit.42ee6df9b",
95
+ "@aztec/bb.js": "0.0.1-commit.431c48d",
96
+ "@aztec/blob-lib": "0.0.1-commit.431c48d",
97
+ "@aztec/constants": "0.0.1-commit.431c48d",
98
+ "@aztec/ethereum": "0.0.1-commit.431c48d",
99
+ "@aztec/foundation": "0.0.1-commit.431c48d",
100
+ "@aztec/l1-artifacts": "0.0.1-commit.431c48d",
101
+ "@aztec/noir-noirc_abi": "0.0.1-commit.431c48d",
102
102
  "@google-cloud/storage": "^7.15.0",
103
- "axios": "^1.13.5",
103
+ "axios": "^1.15.1",
104
104
  "json-stringify-deterministic": "1.0.12",
105
105
  "lodash.chunk": "^4.2.0",
106
106
  "lodash.isequal": "^4.5.0",
@@ -110,7 +110,7 @@
110
110
  "pako": "^2.1.0",
111
111
  "tslib": "^2.4.0",
112
112
  "viem": "npm:@aztec/viem@2.38.2",
113
- "zod": "^3.23.8"
113
+ "zod": "^4"
114
114
  },
115
115
  "devDependencies": {
116
116
  "@jest/expect": "^30.0.0",
@@ -129,7 +129,8 @@
129
129
  "jest-mock-extended": "^4.0.0",
130
130
  "prettier": "^3.5.3",
131
131
  "ts-node": "^10.9.1",
132
- "typescript": "^5.3.3"
132
+ "typescript": "^5.3.3",
133
+ "vitest": "^4.0.0"
133
134
  },
134
135
  "files": [
135
136
  "dest",
package/src/abi/abi.ts CHANGED
@@ -6,6 +6,7 @@ import { schemas, zodFor } from '@aztec/foundation/schemas';
6
6
  import { inflate } from 'pako';
7
7
  import { z } from 'zod';
8
8
 
9
+ import { DEV_VERSION } from '../update-checker/dev_version.js';
9
10
  import { FunctionSelector } from './function_selector.js';
10
11
 
11
12
  /** A basic value. */
@@ -26,6 +27,14 @@ export type AbiValue =
26
27
  | IntegerValue
27
28
  | StructValue;
28
29
 
30
+ /** An exported value together with the name of the global that produced it. */
31
+ export interface AbiNamedValue {
32
+ /** The name of the exported global. */
33
+ name: string;
34
+ /** The exported value. */
35
+ value: AbiValue;
36
+ }
37
+
29
38
  export const AbiValueSchema: z.ZodType<AbiValue> = z.discriminatedUnion('kind', [
30
39
  z.object({ kind: z.literal('boolean'), value: z.boolean() }),
31
40
  z.object({ kind: z.literal('string'), value: z.string() }),
@@ -221,10 +230,11 @@ export const FunctionDebugMetadataSchema = z.object({
221
230
  }),
222
231
  ),
223
232
  }),
224
- acir_locations: z.record(z.number()),
225
- brillig_locations: z.record(z.record(z.number())),
233
+ acir_locations: z.record(z.string(), z.number()),
234
+ brillig_locations: z.record(z.string(), z.record(z.string(), z.number())),
226
235
  }),
227
236
  files: z.record(
237
+ z.string(),
228
238
  z.object({
229
239
  source: z.string(),
230
240
  path: z.string(),
@@ -338,11 +348,17 @@ export type FieldLayout = {
338
348
  slot: Fr;
339
349
  };
340
350
 
351
+ /** Placeholder version injected into artifacts compiled before aztecVersion was added. TODO(F-557): Remove. */
352
+ export const ARTIFACT_VERSION_BEFORE_INJECTION = 'FROM_RELEASE_BEFORE_VERSION_INJECTION';
353
+
341
354
  /** Defines artifact of a contract. */
342
355
  export interface ContractArtifact {
343
356
  /** The name of the contract. */
344
357
  name: string;
345
358
 
359
+ /** The version of the Aztec stack that compiled this artifact. */
360
+ aztecVersion: string;
361
+
346
362
  /** The functions of the contract. Includes private and utility functions, plus the public dispatch function. */
347
363
  functions: FunctionArtifact[];
348
364
 
@@ -365,10 +381,11 @@ export interface ContractArtifact {
365
381
  export const ContractArtifactSchema = zodFor<ContractArtifact>()(
366
382
  z.object({
367
383
  name: z.string(),
384
+ aztecVersion: z.string().default(ARTIFACT_VERSION_BEFORE_INJECTION), // TODO(F-557): Remove default.
368
385
  functions: z.array(FunctionArtifactSchema),
369
386
  nonDispatchPublicFunctions: z.array(FunctionAbiSchema),
370
387
  outputs: z.object({
371
- structs: z.record(z.array(AbiTypeSchema)).transform(structs => {
388
+ structs: z.record(z.string(), z.array(AbiTypeSchema)).transform(structs => {
372
389
  for (const [key, value] of Object.entries(structs)) {
373
390
  // We are manually ordering events and functions in the abi by path.
374
391
  // The path ordering is arbitrary, and only needed to ensure deterministic order.
@@ -380,9 +397,9 @@ export const ContractArtifactSchema = zodFor<ContractArtifact>()(
380
397
  }
381
398
  return structs;
382
399
  }),
383
- globals: z.record(z.array(AbiValueSchema)),
400
+ globals: z.record(z.string(), z.array(AbiValueSchema)),
384
401
  }),
385
- storageLayout: z.record(z.object({ slot: schemas.Fr })),
402
+ storageLayout: z.record(z.string(), z.object({ slot: schemas.Fr })),
386
403
  fileMap: z.record(
387
404
  z.coerce.number(),
388
405
  z.object({
@@ -410,20 +427,10 @@ export async function getFunctionArtifact(
410
427
  artifact: ContractArtifact,
411
428
  functionNameOrSelector: string | FunctionSelector,
412
429
  ): Promise<FunctionArtifactWithContractName> {
413
- let functionArtifact;
414
- if (typeof functionNameOrSelector === 'string') {
415
- functionArtifact = artifact.functions.find(f => f.name === functionNameOrSelector);
416
- } else {
417
- const functionsAndSelectors = await Promise.all(
418
- artifact.functions.map(async fn => ({
419
- fn,
420
- selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
421
- })),
422
- );
423
- functionArtifact = functionsAndSelectors.find(fnAndSelector =>
424
- functionNameOrSelector.equals(fnAndSelector.selector),
425
- )?.fn;
426
- }
430
+ const functionArtifact =
431
+ typeof functionNameOrSelector === 'string'
432
+ ? artifact.functions.find(f => f.name === functionNameOrSelector)
433
+ : await findFunctionArtifactBySelector(artifact, functionNameOrSelector);
427
434
  if (!functionArtifact) {
428
435
  throw new Error(`Unknown function ${functionNameOrSelector}`);
429
436
  }
@@ -433,6 +440,40 @@ export async function getFunctionArtifact(
433
440
  return { ...functionArtifact, debug: debugMetadata, contractName: artifact.name };
434
441
  }
435
442
 
443
+ /**
444
+ * Finds the function artifact within `artifact.functions` whose selector matches `selector`.
445
+ * Returns `undefined` if no match is found.
446
+ */
447
+ export async function findFunctionArtifactBySelector(
448
+ artifact: ContractArtifact,
449
+ selector: FunctionSelector,
450
+ ): Promise<FunctionArtifact | undefined> {
451
+ const fnsAndSelectors = await Promise.all(
452
+ artifact.functions.map(async fn => ({
453
+ fn,
454
+ selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
455
+ })),
456
+ );
457
+ return fnsAndSelectors.find(({ selector: s }) => s.equals(selector))?.fn;
458
+ }
459
+
460
+ /**
461
+ * Finds the function abi (across both `functions` and `nonDispatchPublicFunctions`) whose selector
462
+ * matches `selector`. Returns `undefined` if no match is found.
463
+ */
464
+ export async function findFunctionAbiBySelector(
465
+ artifact: ContractArtifact,
466
+ selector: FunctionSelector,
467
+ ): Promise<FunctionAbi | undefined> {
468
+ const fnsAndSelectors = await Promise.all(
469
+ getAllFunctionAbis(artifact).map(async fn => ({
470
+ fn,
471
+ selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
472
+ })),
473
+ );
474
+ return fnsAndSelectors.find(({ selector: s }) => s.equals(selector))?.fn;
475
+ }
476
+
436
477
  /** Gets all function abis */
437
478
  export function getAllFunctionAbis(artifact: ContractArtifact): FunctionAbi[] {
438
479
  return artifact.functions.map(f => f as FunctionAbi).concat(artifact.nonDispatchPublicFunctions || []);
@@ -551,6 +592,7 @@ export function emptyFunctionArtifact(): FunctionArtifact {
551
592
  export function emptyContractArtifact(): ContractArtifact {
552
593
  return {
553
594
  name: '',
595
+ aztecVersion: DEV_VERSION,
554
596
  functions: [emptyFunctionArtifact()],
555
597
  nonDispatchPublicFunctions: [emptyFunctionAbi()],
556
598
  outputs: {
@@ -7,18 +7,12 @@ import { BufferReader } from '@aztec/foundation/serialize';
7
7
 
8
8
  import { Selector } from './selector.js';
9
9
 
10
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
11
-
12
- /** Authorization selector branding */
13
- export interface AuthorizationSelector {
14
- /** Brand. */
15
- _branding: 'AuthorizationSelector';
16
- }
17
-
18
10
  /**
19
11
  * An authorization selector is the first 4 bytes of the hash of an authorization struct signature.
20
12
  */
21
13
  export class AuthorizationSelector extends Selector {
14
+ /** Branding for nominal typing. */
15
+ declare private readonly _branding: 'AuthorizationSelector';
22
16
  /**
23
17
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
24
18
  * @param buffer - Buffer or BufferReader to read from.
package/src/abi/buffer.ts CHANGED
@@ -38,11 +38,23 @@ export function bufferAsFields(input: Buffer, targetLength: number): Fr[] {
38
38
  * bytecode commitment computations to diverge from what the circuit produced.
39
39
  *
40
40
  * @param fields - An output from bufferAsFields: [byteLength, ...payloadFields].
41
+ * @param maxByteLength - Optional upper bound on the declared byte length. When the field array comes
42
+ * from untrusted input (e.g. a gossiped contract-class log), pass the payload capacity so an
43
+ * attacker-declared length cannot force a large `Buffer.alloc` before the value is otherwise
44
+ * rejected. Throws if the declared length exceeds it, before allocating.
41
45
  * @returns A buffer of exactly `byteLength` bytes.
42
46
  */
43
- export function bufferFromFields(fields: Fr[]): Buffer {
47
+ export function bufferFromFields(fields: Fr[], maxByteLength?: number): Buffer {
48
+ // A valid bufferAsFields output always has at least the leading byte-length field, so an empty
49
+ // input encodes no data. Guard so `length` (the destructured head) is never undefined.
50
+ if (fields.length === 0) {
51
+ return Buffer.alloc(0);
52
+ }
44
53
  const [length, ...payload] = fields;
45
54
  const byteLength = length.toNumber();
55
+ if (maxByteLength !== undefined && byteLength > maxByteLength) {
56
+ throw new Error(`Declared byte length ${byteLength} exceeds maximum ${maxByteLength}`);
57
+ }
46
58
  const raw = Buffer.concat(payload.map(f => f.toBuffer().subarray(1)));
47
59
  if (raw.length >= byteLength) {
48
60
  return raw.subarray(0, byteLength);
@@ -12,7 +12,10 @@ import {
12
12
  import {
13
13
  type ABIParameter,
14
14
  type ABIParameterVisibility,
15
+ ARTIFACT_VERSION_BEFORE_INJECTION,
16
+ type AbiNamedValue,
15
17
  type AbiType,
18
+ type AbiValue,
16
19
  type BasicValue,
17
20
  type ContractArtifact,
18
21
  ContractArtifactSchema,
@@ -51,11 +54,34 @@ export function contractArtifactFromBuffer(buffer: Buffer): ContractArtifact {
51
54
  */
52
55
  export function loadContractArtifact(input: NoirCompiledContract): ContractArtifact {
53
56
  if (isContractArtifact(input)) {
57
+ // TODO(F-557): Remove this fallback once pre-version artifacts are no longer tested.
58
+ if (!(input as unknown as Record<string, unknown>).aztecVersion) {
59
+ return { ...input, aztecVersion: ARTIFACT_VERSION_BEFORE_INJECTION };
60
+ }
54
61
  return input;
55
62
  }
56
63
  return generateContractArtifact(input);
57
64
  }
58
65
 
66
+ /**
67
+ * Like {@link loadContractArtifact}, but fully validates an already-processed artifact against the
68
+ * contract artifact schema before returning it. Use when loading an artifact from untrusted or
69
+ * external JSON (e.g. a file path passed to the CLI), so a malformed artifact is rejected up-front
70
+ * with a clear schema error instead of surfacing as an opaque failure later during deployment.
71
+ *
72
+ * `loadContractArtifact` only runs the shallow `isContractArtifact` shape check on already-processed
73
+ * artifacts; raw nargo output is validated via `generateContractArtifact` regardless. The returned
74
+ * object is identical to `loadContractArtifact`'s; the schema parse is used purely for validation.
75
+ * @param input - Input object as generated by nargo compile, or an already-processed artifact.
76
+ * @returns A valid contract artifact instance.
77
+ */
78
+ export function loadContractArtifactWithValidation(input: NoirCompiledContract): ContractArtifact {
79
+ if (isContractArtifact(input)) {
80
+ ContractArtifactSchema.parse(input);
81
+ }
82
+ return loadContractArtifact(input);
83
+ }
84
+
59
85
  /**
60
86
  * Gets nargo build output and returns a valid contract artifact instance.
61
87
  * Differs from loadContractArtifact() by retaining all bytecode.
@@ -241,20 +267,24 @@ function hasKernelFunctionInputs(params: ABIParameter[]): boolean {
241
267
 
242
268
  /**
243
269
  * Generates a storage layout for the contract artifact.
244
- * @param input - The compiled noir contract to get storage layout for
270
+ * @param contractName - The name of the compiled Noir contract.
271
+ * @param globals - The normalized globals exported by the contract.
245
272
  * @returns A storage layout for the contract.
246
273
  */
247
- function getStorageLayout(input: NoirCompiledContract) {
274
+ function getStorageLayout(contractName: string, globals: Record<string, AbiValue[]>) {
248
275
  // If another contract is imported by the main contract, its storage layout its going to also show up here.
249
276
  // The layout export includes the contract name, so here we can find the one that belongs to the current one and
250
277
  // ignore the rest.
251
- const storageExports = input.outputs.globals.storage ? (input.outputs.globals.storage as StructValue[]) : [];
252
- const storageForContract = storageExports.find(storageExport => {
278
+ const storageExports = globals.storage ?? [];
279
+ const storageForContract = storageExports.find((storageExport): storageExport is StructValue => {
280
+ if (storageExport.kind !== 'struct') {
281
+ return false;
282
+ }
253
283
  const contractNameField = storageExport.fields.find(field => field.name === 'contract_name')?.value as BasicValue<
254
284
  'string',
255
285
  string
256
286
  >;
257
- return contractNameField.value === input.name;
287
+ return contractNameField.value === contractName;
258
288
  });
259
289
  const storageFields = storageForContract
260
290
  ? ((storageForContract.fields.find(field => field.name == 'fields') as TypedStructFieldValue<StructValue>).value
@@ -275,25 +305,42 @@ function getStorageLayout(input: NoirCompiledContract) {
275
305
  }, {});
276
306
  }
277
307
 
308
+ function isAbiNamedValue(value: AbiNamedValue | AbiValue): value is AbiNamedValue {
309
+ return 'name' in value;
310
+ }
311
+
312
+ function normalizeContractOutputs(outputs: NoirCompiledContract['outputs']): ContractArtifact['outputs'] {
313
+ return {
314
+ structs: outputs.structs,
315
+ globals: Object.fromEntries(
316
+ Object.entries(outputs.globals).map(([tag, values]) => [
317
+ tag,
318
+ values.map(value => (isAbiNamedValue(value) ? value.value : value)),
319
+ ]),
320
+ ),
321
+ };
322
+ }
323
+
278
324
  /**
279
- * Given a Nargo output generates an Aztec-compatible contract artifact.
325
+ * Given a post-processed Nargo output defined as `contract` generates an Aztec-compatible contract artifact.
326
+ *
280
327
  * Does not include public bytecode, apart from the public_dispatch function.
281
- * @param compiled - Noir build output.
282
- * @returns Aztec contract build artifact.
283
328
  */
284
329
  function generateContractArtifact(contract: NoirCompiledContract): ContractArtifact {
285
330
  try {
286
331
  if (!contract.transpiled) {
287
332
  throw new Error("Contract's public bytecode has not been transpiled");
288
333
  }
334
+ const outputs = normalizeContractOutputs(contract.outputs);
289
335
  return ContractArtifactSchema.parse({
290
336
  name: contract.name,
337
+ aztecVersion: contract.aztec_version,
291
338
  functions: contract.functions.filter(f => retainBytecode(f)).map(f => generateFunctionArtifact(f, contract)),
292
339
  nonDispatchPublicFunctions: contract.functions
293
340
  .filter(f => !retainBytecode(f))
294
341
  .map(f => generateFunctionAbi(f, contract)),
295
- outputs: contract.outputs,
296
- storageLayout: getStorageLayout(contract),
342
+ outputs,
343
+ storageLayout: getStorageLayout(contract.name, outputs.globals),
297
344
  fileMap: contract.file_map,
298
345
  });
299
346
  } catch (err) {
@@ -302,21 +349,22 @@ function generateContractArtifact(contract: NoirCompiledContract): ContractArtif
302
349
  }
303
350
 
304
351
  /**
305
- * Given a Nargo output generates an Aztec-compatible contract artifact.
352
+ * Given a post-processed Nargo output defined as `contract` generates an Aztec-compatible contract artifact.
353
+ *
306
354
  * Retains all public bytecode.
307
- * @param compiled - Noir build output.
308
- * @returns Aztec contract build artifact.
309
355
  */
310
356
  function generateContractArtifactForPublic(contract: NoirCompiledContract): ContractArtifact {
311
357
  try {
358
+ const outputs = normalizeContractOutputs(contract.outputs);
312
359
  return ContractArtifactSchema.parse({
313
360
  name: contract.name,
361
+ aztecVersion: contract.aztec_version,
314
362
  functions: contract.functions.map(f => generateFunctionArtifact(f, contract)),
315
363
  nonDispatchPublicFunctions: contract.functions
316
364
  .filter(f => !retainBytecode(f))
317
365
  .map(f => generateFunctionAbi(f, contract)),
318
- outputs: contract.outputs,
319
- storageLayout: getStorageLayout(contract),
366
+ outputs,
367
+ storageLayout: getStorageLayout(contract.name, outputs.globals),
320
368
  fileMap: contract.file_map,
321
369
  });
322
370
  } catch (err) {
@@ -106,13 +106,28 @@ class ArgumentEncoder {
106
106
  this.flattened.push(new Fr(arg ? 1n : 0n));
107
107
  break;
108
108
  case 'array':
109
+ if (!Array.isArray(arg)) {
110
+ throw new Error(`Expected array for '${name ?? 'unnamed'}' but received ${typeof arg}`);
111
+ }
112
+ if (arg.length !== abiType.length) {
113
+ throw new Error(
114
+ `Expected array of length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`,
115
+ );
116
+ }
109
117
  for (let i = 0; i < abiType.length; i += 1) {
110
118
  this.encodeArgument(abiType.type, arg[i], `${name}[${i}]`);
111
119
  }
112
120
  break;
113
121
  case 'string':
122
+ if (typeof arg !== 'string') {
123
+ throw new Error(`Expected string for '${name ?? 'unnamed'}' but received ${typeof arg}`);
124
+ }
125
+ if (arg.length > abiType.length) {
126
+ throw new Error(
127
+ `Expected string of max length ${abiType.length} for '${name ?? 'unnamed'}' but received length ${arg.length}`,
128
+ );
129
+ }
114
130
  for (let i = 0; i < abiType.length; i += 1) {
115
- // If the string is shorter than the defined length, pad it with 0s.
116
131
  const toInsert = i < arg.length ? BigInt((arg as string).charCodeAt(i)) : 0n;
117
132
  this.flattened.push(new Fr(toInsert));
118
133
  }
@@ -157,12 +172,28 @@ class ArgumentEncoder {
157
172
  }
158
173
  case 'integer': {
159
174
  const value = BigInt(arg);
160
- if (abiType.sign === 'signed' && value < 0n) {
161
- // Convert negative values to two's complement representation
162
- const twosComplement = value + (1n << BigInt(abiType.width));
163
- this.flattened.push(new Fr(twosComplement));
164
- } else {
175
+ if (abiType.sign === 'unsigned') {
176
+ const maxValue = (1n << BigInt(abiType.width)) - 1n;
177
+ if (value < 0n || value > maxValue) {
178
+ throw new Error(
179
+ `Value ${value} does not fit in u${abiType.width} for '${name ?? 'unnamed'}' (valid range: 0 to ${maxValue})`,
180
+ );
181
+ }
165
182
  this.flattened.push(new Fr(value));
183
+ } else {
184
+ const minValue = -(1n << BigInt(abiType.width - 1));
185
+ const maxValue = (1n << BigInt(abiType.width - 1)) - 1n;
186
+ if (value < minValue || value > maxValue) {
187
+ throw new Error(
188
+ `Value ${value} does not fit in i${abiType.width} for '${name ?? 'unnamed'}' (valid range: ${minValue} to ${maxValue})`,
189
+ );
190
+ }
191
+ if (value < 0n) {
192
+ const twosComplement = value + (1n << BigInt(abiType.width));
193
+ this.flattened.push(new Fr(twosComplement));
194
+ } else {
195
+ this.flattened.push(new Fr(value));
196
+ }
166
197
  }
167
198
  break;
168
199
  }
@@ -176,6 +207,11 @@ class ArgumentEncoder {
176
207
  * @returns The encoded arguments.
177
208
  */
178
209
  public encode() {
210
+ if (this.args.length !== this.abi.parameters.length) {
211
+ throw new Error(
212
+ `Function '${this.abi.name}' expects ${this.abi.parameters.length} argument(s) but received ${this.args.length}`,
213
+ );
214
+ }
179
215
  for (let i = 0; i < this.abi.parameters.length; i += 1) {
180
216
  const parameterAbi = this.abi.parameters[i];
181
217
  this.encodeArgument(parameterAbi.type, this.args[i], parameterAbi.name);
@@ -7,16 +7,10 @@ import { BufferReader } from '@aztec/foundation/serialize';
7
7
 
8
8
  import { Selector } from './selector.js';
9
9
 
10
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
11
-
12
- /** Event selector branding */
13
- export interface EventSelector {
14
- /** Brand. */
15
- _branding: 'EventSelector';
16
- }
17
-
18
10
  /** An event selector is the first 4 bytes of the hash of an event signature. */
19
11
  export class EventSelector extends Selector {
12
+ /** Branding for nominal typing. */
13
+ declare private readonly _branding: 'EventSelector';
20
14
  /**
21
15
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
22
16
  * @param buffer - Buffer or BufferReader to read from.
@@ -3,22 +3,16 @@ import { poseidon2HashBytes } from '@aztec/foundation/crypto/poseidon';
3
3
  import { randomBytes } from '@aztec/foundation/crypto/random';
4
4
  import type { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { type ZodFor, hexSchemaFor } from '@aztec/foundation/schemas';
6
- import { BufferReader, FieldReader, TypeRegistry } from '@aztec/foundation/serialize';
6
+ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
7
7
 
8
8
  import type { ABIParameter } from './abi.js';
9
9
  import { decodeFunctionSignature } from './function_signature_decoder.js';
10
10
  import { Selector } from './selector.js';
11
11
 
12
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
13
-
14
- /** Function selector branding */
15
- export interface FunctionSelector {
16
- /** Brand. */
17
- _branding: 'FunctionSelector';
18
- }
19
-
20
12
  /** A function selector is the first 4 bytes of the hash of a function signature. */
21
13
  export class FunctionSelector extends Selector {
14
+ /** Branding for nominal typing. */
15
+ declare private readonly _branding: 'FunctionSelector';
22
16
  /**
23
17
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
24
18
  * @param buffer - Buffer or BufferReader to read from.
@@ -127,6 +121,3 @@ export class FunctionSelector extends Selector {
127
121
  return hexSchemaFor(FunctionSelector);
128
122
  }
129
123
  }
130
-
131
- // For deserializing JSON.
132
- TypeRegistry.register('FunctionSelector', FunctionSelector);
@@ -2,23 +2,17 @@ import { toBigIntBE } from '@aztec/foundation/bigint-buffer';
2
2
  import { randomInt } from '@aztec/foundation/crypto/random';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { hexSchemaFor } from '@aztec/foundation/schemas';
5
- import { BufferReader, TypeRegistry } from '@aztec/foundation/serialize';
5
+ import { BufferReader } from '@aztec/foundation/serialize';
6
6
 
7
7
  import { Selector } from './selector.js';
8
8
 
9
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
10
-
11
- /** Note selector branding */
12
- export interface NoteSelector {
13
- /** Brand. */
14
- _branding: 'NoteSelector';
15
- }
16
-
17
9
  /**
18
10
  * A note selector is a 7 bit long value that identifies a note type within a contract.
19
11
  * TODO(#10952): Encoding of note type id can be reduced to 7 bits.
20
12
  */
21
13
  export class NoteSelector extends Selector {
14
+ /** Branding for nominal typing. */
15
+ declare private readonly _branding: 'NoteSelector';
22
16
  /**
23
17
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
24
18
  * @param buffer - Buffer or BufferReader to read from.
@@ -73,6 +67,3 @@ export class NoteSelector extends Selector {
73
67
  return hexSchemaFor(NoteSelector);
74
68
  }
75
69
  }
76
-
77
- // For deserializing JSON.
78
- TypeRegistry.register('NoteSelector', NoteSelector);
@@ -4,7 +4,7 @@ import { bufferToHex } from '@aztec/foundation/string';
4
4
 
5
5
  import { inspect } from 'util';
6
6
 
7
- /** A selector is the first 4 bytes of the hash of a signature. */
7
+ /** A selector is the low 4 bytes of the poseidon2 hash of a signature. */
8
8
  export abstract class Selector {
9
9
  /** The size of the selector in bytes. */
10
10
  public static SIZE = 4;
package/src/abi/utils.ts CHANGED
@@ -58,11 +58,13 @@ export function isPublicKeysStruct(abiType: AbiType) {
58
58
  return (
59
59
  abiType.kind === 'struct' &&
60
60
  abiType.path === 'aztec::protocol_types::public_keys::PublicKeys' &&
61
- abiType.fields.length === 4 &&
62
- abiType.fields[0].name === 'npk_m' &&
61
+ abiType.fields.length === 6 &&
62
+ abiType.fields[0].name === 'npk_m_hash' &&
63
63
  abiType.fields[1].name === 'ivpk_m' &&
64
- abiType.fields[2].name === 'ovpk_m' &&
65
- abiType.fields[3].name === 'tpk_m'
64
+ abiType.fields[2].name === 'ovpk_m_hash' &&
65
+ abiType.fields[3].name === 'tpk_m_hash' &&
66
+ abiType.fields[4].name === 'mspk_m_hash' &&
67
+ abiType.fields[5].name === 'fbpk_m_hash'
66
68
  );
67
69
  }
68
70
 
package/src/avm/avm.ts CHANGED
@@ -130,6 +130,7 @@ export class AvmContractInstanceHint {
130
130
  public readonly currentContractClassId: Fr,
131
131
  public readonly originalContractClassId: Fr,
132
132
  public readonly initializationHash: Fr,
133
+ public readonly immutablesHash: Fr,
133
134
  public readonly publicKeys: PublicKeys,
134
135
  ) {}
135
136
 
@@ -143,6 +144,7 @@ export class AvmContractInstanceHint {
143
144
  currentContractClassId: schemas.Fr,
144
145
  originalContractClassId: schemas.Fr,
145
146
  initializationHash: schemas.Fr,
147
+ immutablesHash: schemas.Fr,
146
148
  publicKeys: PublicKeys.schema,
147
149
  })
148
150
  .transform(
@@ -154,6 +156,7 @@ export class AvmContractInstanceHint {
154
156
  currentContractClassId,
155
157
  originalContractClassId,
156
158
  initializationHash,
159
+ immutablesHash,
157
160
  publicKeys,
158
161
  }) =>
159
162
  new AvmContractInstanceHint(
@@ -164,6 +167,7 @@ export class AvmContractInstanceHint {
164
167
  currentContractClassId,
165
168
  originalContractClassId,
166
169
  initializationHash,
170
+ immutablesHash,
167
171
  publicKeys,
168
172
  ),
169
173
  );
@@ -188,6 +192,7 @@ export class AvmContractInstanceHint {
188
192
  Fr.fromPlainObject(obj.currentContractClassId),
189
193
  Fr.fromPlainObject(obj.originalContractClassId),
190
194
  Fr.fromPlainObject(obj.initializationHash),
195
+ Fr.fromPlainObject(obj.immutablesHash),
191
196
  PublicKeys.fromPlainObject(obj.publicKeys),
192
197
  );
193
198
  }
@@ -1147,7 +1152,7 @@ export class CallStackMetadata {
1147
1152
 
1148
1153
  const { stack, leaf } = failingCall;
1149
1154
  const aztecCallStack = stack.map(call => ({
1150
- contractAddress: AztecAddress.fromField(call.contractAddress),
1155
+ contractAddress: AztecAddress.fromFieldUnsafe(call.contractAddress),
1151
1156
  functionSelector: call.calldata.length > 0 ? FunctionSelector.fromFieldOrUndefined(call.calldata[0]) : undefined,
1152
1157
  }));
1153
1158
 
@@ -64,13 +64,22 @@ function setUpMessagePackExtensions() {
64
64
  addExtension({
65
65
  Class: Point,
66
66
  write: (p: Point) => {
67
- assert(!p.inf, 'Cannot serialize infinity');
68
- // TODO: should these be Frs?
67
+ // TODO: Now that we use a 2 elt point representation, we should be able to handle infs here.
68
+ // However this opens possible bad paths with public keys and requires sanitised conversion between
69
+ // BB's inf representation (see below), and ours/Noir's (0, 0), and empty points from BB, when inf
70
+ // does not actually pass through.
71
+ assert(!p.isInfinite, 'Cannot serialize infinity');
69
72
  return { x: new Fq(p.x.toBigInt()), y: new Fq(p.y.toBigInt()) };
70
73
  },
71
74
  read: (data: { x: Fq; y: Fq }) => {
75
+ // Note: BB encodes infinity as x == y == Buffer of all ones.
76
+ // Infinity should never pass through here, but for correctness:
77
+ const ALL_ONES = (1n << 256n) - 1n;
78
+ if (data.x.toBigInt() === ALL_ONES && data.y.toBigInt() === ALL_ONES) {
79
+ return Point.INFINITY;
80
+ }
72
81
  // Convert Fq back to Fr for Point constructor
73
- return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()), false);
82
+ return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()));
74
83
  },
75
84
  });
76
85
  // EthAddress is a class that has a buffer in TS, but is itself just a field in C++.