@aztec/stdlib 0.0.1-commit.f504929 → 0.0.1-commit.f5a9928

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 (1064) hide show
  1. package/dest/abi/abi.d.ts +149 -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 +19 -5
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +38 -5
  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/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 +7 -4
  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 +42 -12
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +40 -13
  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 +10 -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 +21 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block.js +12 -2
  80. package/dest/block/l2_block_info.d.ts +10 -29
  81. package/dest/block/l2_block_info.d.ts.map +1 -1
  82. package/dest/block/l2_block_info.js +6 -5
  83. package/dest/block/l2_block_source.d.ts +234 -355
  84. package/dest/block/l2_block_source.d.ts.map +1 -1
  85. package/dest/block/l2_block_source.js +85 -1
  86. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
  87. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  88. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +61 -0
  89. package/dest/block/l2_block_stream/index.d.ts +2 -1
  90. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  91. package/dest/block/l2_block_stream/index.js +1 -0
  92. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  93. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  94. package/dest/block/l2_block_stream/interfaces.js +25 -1
  95. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  96. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  97. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  99. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  100. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  101. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  102. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  103. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  104. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  105. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  106. package/dest/block/proposal/attestations_and_signers.js +73 -25
  107. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  108. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  109. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  110. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  111. package/dest/block/test/l2_tips_store_test_suite.js +301 -36
  112. package/dest/block/validate_block_result.d.ts +16 -1
  113. package/dest/block/validate_block_result.d.ts.map +1 -1
  114. package/dest/block/validate_block_result.js +18 -3
  115. package/dest/checkpoint/checkpoint.d.ts +31 -96
  116. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  117. package/dest/checkpoint/checkpoint.js +20 -7
  118. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  119. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  120. package/dest/checkpoint/checkpoint_data.js +12 -0
  121. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  122. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  123. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  124. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  125. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  126. package/dest/checkpoint/digest.d.ts +18 -0
  127. package/dest/checkpoint/digest.d.ts.map +1 -0
  128. package/dest/checkpoint/digest.js +12 -0
  129. package/dest/checkpoint/index.d.ts +6 -1
  130. package/dest/checkpoint/index.d.ts.map +1 -1
  131. package/dest/checkpoint/index.js +5 -0
  132. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  133. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  134. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  135. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  136. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  137. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  138. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  139. package/dest/checkpoint/simulation_overrides.js +98 -0
  140. package/dest/checkpoint/validate.d.ts +52 -0
  141. package/dest/checkpoint/validate.d.ts.map +1 -0
  142. package/dest/checkpoint/validate.js +132 -0
  143. package/dest/config/chain-config.d.ts +4 -9
  144. package/dest/config/chain-config.d.ts.map +1 -1
  145. package/dest/config/chain-config.js +13 -12
  146. package/dest/config/index.d.ts +2 -1
  147. package/dest/config/index.d.ts.map +1 -1
  148. package/dest/config/index.js +1 -0
  149. package/dest/config/network-consensus-config.d.ts +72 -0
  150. package/dest/config/network-consensus-config.d.ts.map +1 -0
  151. package/dest/config/network-consensus-config.js +227 -0
  152. package/dest/config/node-rpc-config.d.ts +13 -1
  153. package/dest/config/node-rpc-config.d.ts.map +1 -1
  154. package/dest/config/node-rpc-config.js +34 -1
  155. package/dest/config/sequencer-config.d.ts +6 -2
  156. package/dest/config/sequencer-config.d.ts.map +1 -1
  157. package/dest/config/sequencer-config.js +38 -6
  158. package/dest/contract/complete_address.d.ts +3 -2
  159. package/dest/contract/complete_address.d.ts.map +1 -1
  160. package/dest/contract/complete_address.js +6 -2
  161. package/dest/contract/contract_address.d.ts +10 -9
  162. package/dest/contract/contract_address.d.ts.map +1 -1
  163. package/dest/contract/contract_address.js +6 -5
  164. package/dest/contract/contract_class_id.d.ts +2 -2
  165. package/dest/contract/contract_class_id.js +2 -2
  166. package/dest/contract/contract_deployment_data.d.ts +15 -61
  167. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  168. package/dest/contract/contract_instance.d.ts +19 -3
  169. package/dest/contract/contract_instance.d.ts.map +1 -1
  170. package/dest/contract/contract_instance.js +55 -3
  171. package/dest/contract/index.d.ts +1 -3
  172. package/dest/contract/index.d.ts.map +1 -1
  173. package/dest/contract/index.js +0 -2
  174. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  175. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  176. package/dest/contract/interfaces/contract_class.js +1 -28
  177. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  178. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  179. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  180. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  181. package/dest/contract/interfaces/contract_instance.js +11 -4
  182. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  183. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  184. package/dest/contract/interfaces/node-info.d.ts +11 -1
  185. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  186. package/dest/contract/interfaces/node-info.js +7 -1
  187. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  188. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  189. package/dest/contract/partial_address.d.ts +9 -3
  190. package/dest/contract/partial_address.d.ts.map +1 -1
  191. package/dest/contract/partial_address.js +8 -2
  192. package/dest/contract/private_function.d.ts +1 -1
  193. package/dest/contract/private_function.d.ts.map +1 -1
  194. package/dest/contract/private_function.js +2 -4
  195. package/dest/database-version/database_version.d.ts +5 -11
  196. package/dest/database-version/database_version.d.ts.map +1 -1
  197. package/dest/database-version/version_manager.d.ts +22 -4
  198. package/dest/database-version/version_manager.d.ts.map +1 -1
  199. package/dest/database-version/version_manager.js +87 -6
  200. package/dest/deserialization/index.d.ts +35 -3
  201. package/dest/deserialization/index.d.ts.map +1 -1
  202. package/dest/deserialization/index.js +32 -1
  203. package/dest/epoch-helpers/index.d.ts +12 -20
  204. package/dest/epoch-helpers/index.d.ts.map +1 -1
  205. package/dest/epoch-helpers/index.js +16 -2
  206. package/dest/file-store/factory.d.ts +4 -3
  207. package/dest/file-store/factory.d.ts.map +1 -1
  208. package/dest/file-store/factory.js +9 -2
  209. package/dest/file-store/http.d.ts +9 -2
  210. package/dest/file-store/http.d.ts.map +1 -1
  211. package/dest/file-store/http.js +20 -9
  212. package/dest/file-store/index.d.ts +3 -1
  213. package/dest/file-store/index.d.ts.map +1 -1
  214. package/dest/file-store/index.js +1 -0
  215. package/dest/file-store/memory.d.ts +24 -0
  216. package/dest/file-store/memory.d.ts.map +1 -0
  217. package/dest/file-store/memory.js +80 -0
  218. package/dest/gas/fee_math.d.ts +49 -0
  219. package/dest/gas/fee_math.d.ts.map +1 -0
  220. package/dest/gas/fee_math.js +80 -0
  221. package/dest/gas/gas.d.ts +9 -14
  222. package/dest/gas/gas.d.ts.map +1 -1
  223. package/dest/gas/gas.js +6 -3
  224. package/dest/gas/gas_fees.d.ts +13 -14
  225. package/dest/gas/gas_fees.d.ts.map +1 -1
  226. package/dest/gas/gas_fees.js +17 -4
  227. package/dest/gas/gas_settings.d.ts +60 -86
  228. package/dest/gas/gas_settings.d.ts.map +1 -1
  229. package/dest/gas/gas_settings.js +49 -9
  230. package/dest/gas/index.d.ts +3 -1
  231. package/dest/gas/index.d.ts.map +1 -1
  232. package/dest/gas/index.js +2 -0
  233. package/dest/gas/tx_gas_limits.d.ts +72 -0
  234. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  235. package/dest/gas/tx_gas_limits.js +85 -0
  236. package/dest/ha-signing/config.d.ts +45 -60
  237. package/dest/ha-signing/config.d.ts.map +1 -1
  238. package/dest/ha-signing/config.js +32 -30
  239. package/dest/ha-signing/index.d.ts +4 -3
  240. package/dest/ha-signing/index.d.ts.map +1 -1
  241. package/dest/ha-signing/index.js +3 -2
  242. package/dest/ha-signing/local_config.d.ts +40 -0
  243. package/dest/ha-signing/local_config.d.ts.map +1 -0
  244. package/dest/ha-signing/local_config.js +30 -0
  245. package/dest/ha-signing/types.d.ts +37 -32
  246. package/dest/ha-signing/types.d.ts.map +1 -1
  247. package/dest/ha-signing/types.js +13 -6
  248. package/dest/hash/hash.d.ts +34 -2
  249. package/dest/hash/hash.d.ts.map +1 -1
  250. package/dest/hash/hash.js +63 -9
  251. package/dest/interfaces/allowed_element.d.ts +16 -16
  252. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  253. package/dest/interfaces/allowed_element.js +8 -2
  254. package/dest/interfaces/api_limit.d.ts +7 -2
  255. package/dest/interfaces/api_limit.d.ts.map +1 -1
  256. package/dest/interfaces/api_limit.js +4 -1
  257. package/dest/interfaces/archiver.d.ts +27 -32
  258. package/dest/interfaces/archiver.d.ts.map +1 -1
  259. package/dest/interfaces/archiver.js +216 -69
  260. package/dest/interfaces/aztec-node-admin.d.ts +91 -260
  261. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  262. package/dest/interfaces/aztec-node-admin.js +60 -17
  263. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  264. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  265. package/dest/interfaces/aztec-node-debug.js +49 -0
  266. package/dest/interfaces/aztec-node.d.ts +167 -116
  267. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  268. package/dest/interfaces/aztec-node.js +359 -78
  269. package/dest/interfaces/block-builder.d.ts +48 -12
  270. package/dest/interfaces/block-builder.d.ts.map +1 -1
  271. package/dest/interfaces/block-builder.js +12 -5
  272. package/dest/interfaces/block_response.d.ts +90 -0
  273. package/dest/interfaces/block_response.d.ts.map +1 -0
  274. package/dest/interfaces/block_response.js +30 -0
  275. package/dest/interfaces/chain_tips.d.ts +11 -0
  276. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  277. package/dest/interfaces/chain_tips.js +6 -0
  278. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  279. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  280. package/dest/interfaces/checkpoint_parameter.js +18 -0
  281. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  282. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  283. package/dest/interfaces/checkpoint_response.js +26 -0
  284. package/dest/interfaces/client.d.ts +9 -2
  285. package/dest/interfaces/client.d.ts.map +1 -1
  286. package/dest/interfaces/client.js +7 -1
  287. package/dest/interfaces/configs.d.ts +93 -109
  288. package/dest/interfaces/configs.d.ts.map +1 -1
  289. package/dest/interfaces/configs.js +19 -3
  290. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  291. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  292. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  293. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  294. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  295. package/dest/interfaces/l1_publish_info.js +26 -0
  296. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  297. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  298. package/dest/interfaces/l2_logs_source.js +5 -0
  299. package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
  300. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  301. package/dest/interfaces/p2p-bootstrap.js +8 -2
  302. package/dest/interfaces/p2p.d.ts +63 -7
  303. package/dest/interfaces/p2p.d.ts.map +1 -1
  304. package/dest/interfaces/p2p.js +49 -6
  305. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  306. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  307. package/dest/interfaces/prover-agent.d.ts +5 -23
  308. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  309. package/dest/interfaces/prover-agent.js +4 -1
  310. package/dest/interfaces/prover-client.d.ts +10 -27
  311. package/dest/interfaces/prover-client.d.ts.map +1 -1
  312. package/dest/interfaces/prover-client.js +7 -4
  313. package/dest/interfaces/prover-node.d.ts +12 -8
  314. package/dest/interfaces/prover-node.d.ts.map +1 -1
  315. package/dest/interfaces/prover-node.js +37 -16
  316. package/dest/interfaces/proving-job-source.js +24 -4
  317. package/dest/interfaces/proving-job.d.ts +757 -5795
  318. package/dest/interfaces/proving-job.d.ts.map +1 -1
  319. package/dest/interfaces/proving-job.js +14 -5
  320. package/dest/interfaces/public_storage_override.d.ts +22 -0
  321. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  322. package/dest/interfaces/public_storage_override.js +7 -0
  323. package/dest/interfaces/server.d.ts +6 -2
  324. package/dest/interfaces/server.d.ts.map +1 -1
  325. package/dest/interfaces/server.js +5 -1
  326. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  327. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  328. package/dest/interfaces/slasher.d.ts +25 -65
  329. package/dest/interfaces/slasher.d.ts.map +1 -1
  330. package/dest/interfaces/slasher.js +8 -4
  331. package/dest/interfaces/tx_provider.d.ts +10 -1
  332. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  333. package/dest/interfaces/validator.d.ts +87 -197
  334. package/dest/interfaces/validator.d.ts.map +1 -1
  335. package/dest/interfaces/validator.js +15 -6
  336. package/dest/interfaces/world_state.d.ts +19 -5
  337. package/dest/interfaces/world_state.d.ts.map +1 -1
  338. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  339. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  340. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  341. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  342. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  343. package/dest/kernel/hints/key_validation_request.js +20 -18
  344. package/dest/kernel/hints/read_request.js +1 -1
  345. package/dest/kernel/index.d.ts +6 -2
  346. package/dest/kernel/index.d.ts.map +1 -1
  347. package/dest/kernel/index.js +5 -1
  348. package/dest/kernel/log_hash.d.ts +6 -2
  349. package/dest/kernel/log_hash.d.ts.map +1 -1
  350. package/dest/kernel/log_hash.js +23 -11
  351. package/dest/kernel/note_hash.js +1 -1
  352. package/dest/kernel/nullifier.js +1 -1
  353. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  354. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  355. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  356. package/dest/kernel/private_context_inputs.d.ts +4 -3
  357. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  358. package/dest/kernel/private_context_inputs.js +7 -3
  359. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -2
  360. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  361. package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
  362. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  363. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  364. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  365. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  366. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  367. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  368. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  369. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  370. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  371. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  372. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  373. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  374. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  375. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  376. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  377. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  378. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  379. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  380. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  381. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  382. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  383. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  384. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
  385. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  387. package/dest/kernel/private_log_data.d.ts +1 -1
  388. package/dest/kernel/private_log_data.d.ts.map +1 -1
  389. package/dest/kernel/private_log_data.js +1 -1
  390. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  391. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  392. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  393. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  394. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  395. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  396. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  397. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  398. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  399. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  400. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  401. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  402. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  403. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  404. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  405. package/dest/kernel/public_call_request.d.ts +15 -30
  406. package/dest/kernel/public_call_request.d.ts.map +1 -1
  407. package/dest/kernel/public_call_request.js +16 -7
  408. package/dest/keys/derivation.d.ts +45 -6
  409. package/dest/keys/derivation.d.ts.map +1 -1
  410. package/dest/keys/derivation.js +55 -22
  411. package/dest/keys/public_key.d.ts +22 -3
  412. package/dest/keys/public_key.d.ts.map +1 -1
  413. package/dest/keys/public_key.js +20 -1
  414. package/dest/keys/public_keys.d.ts +55 -82
  415. package/dest/keys/public_keys.d.ts.map +1 -1
  416. package/dest/keys/public_keys.js +102 -74
  417. package/dest/kv-store/config.d.ts +14 -0
  418. package/dest/kv-store/config.d.ts.map +1 -0
  419. package/dest/kv-store/config.js +21 -0
  420. package/dest/kv-store/index.d.ts +2 -0
  421. package/dest/kv-store/index.d.ts.map +1 -0
  422. package/dest/kv-store/index.js +1 -0
  423. package/dest/l1-contracts/index.d.ts +2 -2
  424. package/dest/l1-contracts/index.d.ts.map +1 -1
  425. package/dest/l1-contracts/index.js +1 -1
  426. package/dest/logs/app_tagging_secret.d.ts +69 -0
  427. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  428. package/dest/logs/app_tagging_secret.js +116 -0
  429. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  430. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  431. package/dest/logs/app_tagging_secret_kind.js +17 -0
  432. package/dest/logs/contract_class_log.d.ts +16 -35
  433. package/dest/logs/contract_class_log.d.ts.map +1 -1
  434. package/dest/logs/contract_class_log.js +11 -13
  435. package/dest/logs/index.d.ts +8 -9
  436. package/dest/logs/index.d.ts.map +1 -1
  437. package/dest/logs/index.js +7 -8
  438. package/dest/logs/log_cursor.d.ts +51 -0
  439. package/dest/logs/log_cursor.d.ts.map +1 -0
  440. package/dest/logs/log_cursor.js +82 -0
  441. package/dest/logs/log_result.d.ts +54 -0
  442. package/dest/logs/log_result.d.ts.map +1 -0
  443. package/dest/logs/log_result.js +56 -0
  444. package/dest/logs/logs_query.d.ts +82 -0
  445. package/dest/logs/logs_query.d.ts.map +1 -0
  446. package/dest/logs/logs_query.js +50 -0
  447. package/dest/logs/pre_tag.d.ts +11 -24
  448. package/dest/logs/pre_tag.d.ts.map +1 -1
  449. package/dest/logs/pre_tag.js +2 -2
  450. package/dest/logs/private_log.d.ts +7 -12
  451. package/dest/logs/private_log.d.ts.map +1 -1
  452. package/dest/logs/private_log.js +6 -3
  453. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  454. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  455. package/dest/logs/query_all_logs_by_tags.js +64 -0
  456. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  457. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  458. package/dest/logs/shared_secret_derivation.js +49 -10
  459. package/dest/logs/siloed_tag.d.ts +8 -7
  460. package/dest/logs/siloed_tag.d.ts.map +1 -1
  461. package/dest/logs/siloed_tag.js +13 -3
  462. package/dest/logs/tag.d.ts +5 -6
  463. package/dest/logs/tag.d.ts.map +1 -1
  464. package/dest/logs/tag.js +4 -0
  465. package/dest/logs/tagging_index_range.d.ts +22 -0
  466. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  467. package/dest/logs/tagging_index_range.js +8 -0
  468. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  469. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  470. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  471. package/dest/messaging/index.d.ts +2 -1
  472. package/dest/messaging/index.d.ts.map +1 -1
  473. package/dest/messaging/index.js +1 -0
  474. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  475. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  476. package/dest/messaging/l1_to_l2_message.js +38 -15
  477. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  478. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  479. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  480. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  481. package/dest/messaging/l2_to_l1_membership.js +130 -27
  482. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  483. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  484. package/dest/messaging/l2_to_l1_message.js +21 -12
  485. package/dest/noir/index.d.ts +7 -5
  486. package/dest/noir/index.d.ts.map +1 -1
  487. package/dest/note/note.d.ts +2 -2
  488. package/dest/note/note.d.ts.map +1 -1
  489. package/dest/note/note_dao.d.ts +1 -1
  490. package/dest/note/note_dao.d.ts.map +1 -1
  491. package/dest/note/note_dao.js +1 -4
  492. package/dest/p2p/attestation_utils.d.ts +1 -1
  493. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  494. package/dest/p2p/attestation_utils.js +8 -1
  495. package/dest/p2p/block_proposal.d.ts +31 -14
  496. package/dest/p2p/block_proposal.d.ts.map +1 -1
  497. package/dest/p2p/block_proposal.js +57 -39
  498. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  499. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  500. package/dest/p2p/checkpoint_attestation.js +33 -24
  501. package/dest/p2p/checkpoint_proposal.d.ts +36 -21
  502. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  503. package/dest/p2p/checkpoint_proposal.js +59 -61
  504. package/dest/p2p/consensus_payload.d.ts +27 -20
  505. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  506. package/dest/p2p/consensus_payload.js +38 -19
  507. package/dest/p2p/gossipable.d.ts +4 -4
  508. package/dest/p2p/gossipable.d.ts.map +1 -1
  509. package/dest/p2p/index.d.ts +2 -1
  510. package/dest/p2p/index.d.ts.map +1 -1
  511. package/dest/p2p/index.js +1 -0
  512. package/dest/p2p/peer_error.d.ts +3 -1
  513. package/dest/p2p/peer_error.d.ts.map +1 -1
  514. package/dest/p2p/peer_error.js +5 -0
  515. package/dest/p2p/signature_utils.d.ts +35 -17
  516. package/dest/p2p/signature_utils.d.ts.map +1 -1
  517. package/dest/p2p/signature_utils.js +125 -20
  518. package/dest/p2p/signed_txs.d.ts +15 -13
  519. package/dest/p2p/signed_txs.d.ts.map +1 -1
  520. package/dest/p2p/signed_txs.js +26 -24
  521. package/dest/p2p/validated_proposal.d.ts +35 -0
  522. package/dest/p2p/validated_proposal.d.ts.map +1 -0
  523. package/dest/p2p/validated_proposal.js +17 -0
  524. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  525. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  526. package/dest/parity/parity_base_private_inputs.js +7 -5
  527. package/dest/parity/parity_public_inputs.d.ts +8 -4
  528. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  529. package/dest/parity/parity_public_inputs.js +6 -3
  530. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  531. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  532. package/dest/proofs/chonk_proof.d.ts +57 -7
  533. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  534. package/dest/proofs/chonk_proof.js +112 -15
  535. package/dest/proofs/recursive_proof.d.ts +2 -2
  536. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  537. package/dest/rollup/avm_proof_data.d.ts +3 -3
  538. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  539. package/dest/rollup/block_headers_hash.d.ts +1 -1
  540. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  541. package/dest/rollup/block_headers_hash.js +8 -2
  542. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  543. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  544. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  545. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  546. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  547. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  548. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  549. package/dest/rollup/checkpoint_header.d.ts +8 -3
  550. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  551. package/dest/rollup/checkpoint_header.js +20 -10
  552. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  553. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  554. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  555. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  556. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  557. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  558. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  559. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  560. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  561. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  562. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  563. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  564. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  565. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  566. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  567. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  568. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  569. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  570. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  571. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  572. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  573. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  574. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  575. package/dest/schemas/schemas.d.ts +32 -78
  576. package/dest/schemas/schemas.d.ts.map +1 -1
  577. package/dest/schemas/schemas.js +2 -2
  578. package/dest/slashing/helpers.d.ts +2 -2
  579. package/dest/slashing/helpers.d.ts.map +1 -1
  580. package/dest/slashing/helpers.js +10 -7
  581. package/dest/slashing/index.d.ts +2 -3
  582. package/dest/slashing/index.d.ts.map +1 -1
  583. package/dest/slashing/index.js +1 -2
  584. package/dest/slashing/serialization.d.ts +2 -6
  585. package/dest/slashing/serialization.d.ts.map +1 -1
  586. package/dest/slashing/serialization.js +0 -60
  587. package/dest/slashing/types.d.ts +18 -112
  588. package/dest/slashing/types.d.ts.map +1 -1
  589. package/dest/slashing/types.js +16 -24
  590. package/dest/slashing/{tally.d.ts → votes.d.ts} +5 -6
  591. package/dest/slashing/votes.d.ts.map +1 -0
  592. package/dest/slashing/{tally.js → votes.js} +19 -10
  593. package/dest/snapshots/types.d.ts +15 -78
  594. package/dest/snapshots/types.d.ts.map +1 -1
  595. package/dest/stats/stats.d.ts +2 -2
  596. package/dest/stats/stats.d.ts.map +1 -1
  597. package/dest/tests/factories.d.ts +25 -32
  598. package/dest/tests/factories.d.ts.map +1 -1
  599. package/dest/tests/factories.js +81 -86
  600. package/dest/tests/mocks.d.ts +11 -6
  601. package/dest/tests/mocks.d.ts.map +1 -1
  602. package/dest/tests/mocks.js +57 -63
  603. package/dest/timetable/budgets.d.ts +57 -0
  604. package/dest/timetable/budgets.d.ts.map +1 -0
  605. package/dest/timetable/budgets.js +56 -0
  606. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  607. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  608. package/dest/timetable/build_proposer_timetable.js +17 -0
  609. package/dest/timetable/consensus_timetable.d.ts +70 -0
  610. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  611. package/dest/timetable/consensus_timetable.js +89 -0
  612. package/dest/timetable/index.d.ts +5 -37
  613. package/dest/timetable/index.d.ts.map +1 -1
  614. package/dest/timetable/index.js +4 -39
  615. package/dest/timetable/proposer_timetable.d.ts +106 -0
  616. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  617. package/dest/timetable/proposer_timetable.js +132 -0
  618. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  619. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  620. package/dest/trees/append_only_tree_snapshot.js +6 -3
  621. package/dest/trees/nullifier_leaf.d.ts +19 -42
  622. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  623. package/dest/trees/nullifier_leaf.js +3 -0
  624. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  625. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  626. package/dest/trees/nullifier_membership_witness.js +0 -21
  627. package/dest/trees/public_data_leaf.d.ts +21 -53
  628. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  629. package/dest/trees/public_data_witness.d.ts +19 -71
  630. package/dest/trees/public_data_witness.d.ts.map +1 -1
  631. package/dest/trees/public_data_witness.js +0 -27
  632. package/dest/tx/block_header.d.ts +7 -4
  633. package/dest/tx/block_header.d.ts.map +1 -1
  634. package/dest/tx/block_header.js +11 -4
  635. package/dest/tx/call_context.d.ts +4 -14
  636. package/dest/tx/call_context.d.ts.map +1 -1
  637. package/dest/tx/capsule.d.ts +7 -3
  638. package/dest/tx/capsule.d.ts.map +1 -1
  639. package/dest/tx/capsule.js +9 -3
  640. package/dest/tx/execution_payload.d.ts +1 -1
  641. package/dest/tx/execution_payload.d.ts.map +1 -1
  642. package/dest/tx/execution_payload.js +1 -1
  643. package/dest/tx/fee_provider.d.ts +10 -0
  644. package/dest/tx/fee_provider.d.ts.map +1 -0
  645. package/dest/tx/fee_provider.js +1 -0
  646. package/dest/tx/function_data.d.ts +4 -10
  647. package/dest/tx/function_data.d.ts.map +1 -1
  648. package/dest/tx/global_variable_builder.d.ts +4 -15
  649. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  650. package/dest/tx/global_variables.d.ts +16 -49
  651. package/dest/tx/global_variables.d.ts.map +1 -1
  652. package/dest/tx/global_variables.js +10 -14
  653. package/dest/tx/hashed_values.d.ts +10 -3
  654. package/dest/tx/hashed_values.d.ts.map +1 -1
  655. package/dest/tx/hashed_values.js +15 -4
  656. package/dest/tx/in_tx.d.ts +5 -17
  657. package/dest/tx/in_tx.d.ts.map +1 -1
  658. package/dest/tx/index.d.ts +2 -1
  659. package/dest/tx/index.d.ts.map +1 -1
  660. package/dest/tx/index.js +1 -0
  661. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  662. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  663. package/dest/tx/indexed_tx_effect.js +9 -6
  664. package/dest/tx/partial_state_reference.d.ts +22 -65
  665. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  666. package/dest/tx/partial_state_reference.js +6 -3
  667. package/dest/tx/private_execution_result.d.ts +11 -21
  668. package/dest/tx/private_execution_result.d.ts.map +1 -1
  669. package/dest/tx/private_execution_result.js +6 -6
  670. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  671. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  672. package/dest/tx/private_tx_constant_data.js +13 -4
  673. package/dest/tx/profiling.d.ts +67 -353
  674. package/dest/tx/profiling.d.ts.map +1 -1
  675. package/dest/tx/profiling.js +17 -7
  676. package/dest/tx/protocol_contracts.d.ts +5 -9
  677. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  678. package/dest/tx/proven_tx.d.ts +30 -74
  679. package/dest/tx/proven_tx.d.ts.map +1 -1
  680. package/dest/tx/proven_tx.js +6 -0
  681. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  682. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  683. package/dest/tx/public_call_request_with_calldata.js +6 -3
  684. package/dest/tx/simulated_tx.d.ts +73 -1148
  685. package/dest/tx/simulated_tx.d.ts.map +1 -1
  686. package/dest/tx/simulated_tx.js +19 -12
  687. package/dest/tx/state_reference.d.ts +30 -117
  688. package/dest/tx/state_reference.d.ts.map +1 -1
  689. package/dest/tx/state_reference.js +6 -4
  690. package/dest/tx/tree_snapshots.d.ts +27 -84
  691. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  692. package/dest/tx/tree_snapshots.js +6 -4
  693. package/dest/tx/tx.d.ts +34 -17
  694. package/dest/tx/tx.d.ts.map +1 -1
  695. package/dest/tx/tx.js +70 -30
  696. package/dest/tx/tx_constant_data.d.ts +4 -3
  697. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  698. package/dest/tx/tx_constant_data.js +6 -3
  699. package/dest/tx/tx_context.d.ts +32 -131
  700. package/dest/tx/tx_context.d.ts.map +1 -1
  701. package/dest/tx/tx_context.js +6 -6
  702. package/dest/tx/tx_hash.d.ts +6 -4
  703. package/dest/tx/tx_hash.d.ts.map +1 -1
  704. package/dest/tx/tx_hash.js +13 -5
  705. package/dest/tx/tx_receipt.d.ts +145 -59
  706. package/dest/tx/tx_receipt.d.ts.map +1 -1
  707. package/dest/tx/tx_receipt.js +144 -58
  708. package/dest/tx/validator/error_texts.d.ts +9 -2
  709. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  710. package/dest/tx/validator/error_texts.js +10 -1
  711. package/dest/tx/validator/tx_validator.d.ts +5 -27
  712. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  713. package/dest/tx/validator/tx_validator.js +0 -4
  714. package/dest/types/shared.d.ts +4 -12
  715. package/dest/types/shared.d.ts.map +1 -1
  716. package/dest/types/shared.js +6 -12
  717. package/dest/update-checker/dev_version.d.ts +3 -0
  718. package/dest/update-checker/dev_version.d.ts.map +1 -0
  719. package/dest/update-checker/dev_version.js +1 -0
  720. package/dest/update-checker/index.d.ts +4 -2
  721. package/dest/update-checker/index.d.ts.map +1 -1
  722. package/dest/update-checker/index.js +3 -1
  723. package/dest/update-checker/package_version.d.ts +6 -0
  724. package/dest/update-checker/package_version.d.ts.map +1 -0
  725. package/dest/update-checker/package_version.js +13 -0
  726. package/dest/update-checker/version_checker.d.ts +25 -0
  727. package/dest/update-checker/version_checker.d.ts.map +1 -0
  728. package/dest/update-checker/version_checker.js +50 -0
  729. package/dest/validators/errors.d.ts +21 -1
  730. package/dest/validators/errors.d.ts.map +1 -1
  731. package/dest/validators/errors.js +19 -0
  732. package/dest/validators/schemas.d.ts +147 -614
  733. package/dest/validators/schemas.d.ts.map +1 -1
  734. package/dest/validators/schemas.js +6 -4
  735. package/dest/validators/types.d.ts +20 -3
  736. package/dest/validators/types.d.ts.map +1 -1
  737. package/dest/versioning/versioning.d.ts +4 -2
  738. package/dest/versioning/versioning.d.ts.map +1 -1
  739. package/dest/versioning/versioning.js +5 -2
  740. package/dest/vks/verification_key.d.ts +4 -139
  741. package/dest/vks/verification_key.d.ts.map +1 -1
  742. package/dest/vks/verification_key.js +5 -126
  743. package/dest/world-state/genesis_data.d.ts +21 -0
  744. package/dest/world-state/genesis_data.d.ts.map +1 -0
  745. package/dest/world-state/genesis_data.js +8 -0
  746. package/dest/world-state/index.d.ts +2 -1
  747. package/dest/world-state/index.d.ts.map +1 -1
  748. package/dest/world-state/index.js +1 -0
  749. package/dest/world-state/world_state_revision.d.ts +15 -26
  750. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  751. package/dest/world-state/world_state_revision.js +7 -1
  752. package/package.json +14 -12
  753. package/src/abi/abi.ts +86 -21
  754. package/src/abi/authorization_selector.ts +2 -8
  755. package/src/abi/buffer.ts +38 -5
  756. package/src/abi/contract_artifact.ts +63 -15
  757. package/src/abi/decoder.ts +23 -78
  758. package/src/abi/encoder.ts +42 -6
  759. package/src/abi/event_selector.ts +2 -8
  760. package/src/abi/function_selector.ts +4 -13
  761. package/src/abi/function_signature_decoder.ts +77 -0
  762. package/src/abi/index.ts +1 -0
  763. package/src/abi/note_selector.ts +3 -12
  764. package/src/abi/selector.ts +1 -1
  765. package/src/abi/utils.ts +6 -4
  766. package/src/avm/avm.ts +6 -1
  767. package/src/avm/message_pack.ts +12 -3
  768. package/src/avm/revert_code.ts +19 -39
  769. package/src/aztec-address/index.ts +50 -17
  770. package/src/block/attestation_info.ts +16 -11
  771. package/src/block/block_data.ts +3 -4
  772. package/src/block/block_hash.ts +21 -14
  773. package/src/block/block_parameter.ts +72 -4
  774. package/src/block/index.ts +0 -1
  775. package/src/block/l2_block.ts +13 -1
  776. package/src/block/l2_block_info.ts +8 -6
  777. package/src/block/l2_block_source.ts +275 -143
  778. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +81 -0
  779. package/src/block/l2_block_stream/index.ts +1 -0
  780. package/src/block/l2_block_stream/interfaces.ts +101 -9
  781. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  782. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  783. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  784. package/src/block/proposal/attestations_and_signers.ts +85 -24
  785. package/src/block/test/l2_tips_store_test_suite.ts +276 -22
  786. package/src/block/validate_block_result.ts +48 -2
  787. package/src/checkpoint/checkpoint.ts +25 -6
  788. package/src/checkpoint/checkpoint_data.ts +44 -4
  789. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  790. package/src/checkpoint/digest.ts +28 -0
  791. package/src/checkpoint/index.ts +5 -0
  792. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  793. package/src/checkpoint/simulation_overrides.ts +171 -0
  794. package/src/checkpoint/validate.ts +262 -0
  795. package/src/config/chain-config.ts +13 -16
  796. package/src/config/index.ts +1 -0
  797. package/src/config/network-consensus-config.ts +299 -0
  798. package/src/config/node-rpc-config.ts +51 -1
  799. package/src/config/sequencer-config.ts +68 -9
  800. package/src/contract/complete_address.ts +7 -3
  801. package/src/contract/contract_address.ts +11 -10
  802. package/src/contract/contract_class_id.ts +2 -2
  803. package/src/contract/contract_instance.ts +73 -3
  804. package/src/contract/index.ts +0 -2
  805. package/src/contract/interfaces/contract_class.ts +2 -82
  806. package/src/contract/interfaces/contract_data_source.ts +2 -4
  807. package/src/contract/interfaces/contract_instance.ts +32 -10
  808. package/src/contract/interfaces/node-info.ts +11 -0
  809. package/src/contract/partial_address.ts +8 -2
  810. package/src/contract/private_function.ts +3 -1
  811. package/src/database-version/version_manager.ts +113 -6
  812. package/src/deserialization/index.ts +35 -2
  813. package/src/epoch-helpers/index.ts +27 -0
  814. package/src/file-store/factory.ts +20 -4
  815. package/src/file-store/http.ts +29 -10
  816. package/src/file-store/index.ts +2 -0
  817. package/src/file-store/memory.ts +94 -0
  818. package/src/gas/README.md +318 -0
  819. package/src/gas/fee_math.ts +120 -0
  820. package/src/gas/gas.ts +8 -3
  821. package/src/gas/gas_fees.ts +26 -13
  822. package/src/gas/gas_settings.ts +63 -15
  823. package/src/gas/index.ts +2 -0
  824. package/src/gas/tx_gas_limits.ts +123 -0
  825. package/src/ha-signing/config.ts +78 -57
  826. package/src/ha-signing/index.ts +12 -1
  827. package/src/ha-signing/local_config.ts +65 -0
  828. package/src/ha-signing/types.ts +48 -34
  829. package/src/hash/hash.ts +63 -10
  830. package/src/interfaces/allowed_element.ts +28 -4
  831. package/src/interfaces/api_limit.ts +6 -1
  832. package/src/interfaces/archiver.ts +96 -92
  833. package/src/interfaces/aztec-node-admin.ts +36 -21
  834. package/src/interfaces/aztec-node-debug.ts +92 -0
  835. package/src/interfaces/aztec-node.ts +419 -263
  836. package/src/interfaces/block-builder.ts +66 -14
  837. package/src/interfaces/block_response.ts +92 -0
  838. package/src/interfaces/chain_tips.ts +16 -0
  839. package/src/interfaces/checkpoint_parameter.ts +20 -0
  840. package/src/interfaces/checkpoint_response.ts +84 -0
  841. package/src/interfaces/client.ts +8 -1
  842. package/src/interfaces/configs.ts +93 -10
  843. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  844. package/src/interfaces/l1_publish_info.ts +40 -0
  845. package/src/interfaces/l2_logs_source.ts +13 -39
  846. package/src/interfaces/merkle_tree_operations.ts +11 -20
  847. package/src/interfaces/p2p-bootstrap.ts +2 -2
  848. package/src/interfaces/p2p.ts +80 -19
  849. package/src/interfaces/private_kernel_prover.ts +98 -12
  850. package/src/interfaces/prover-agent.ts +1 -1
  851. package/src/interfaces/prover-client.ts +11 -8
  852. package/src/interfaces/prover-node.ts +36 -21
  853. package/src/interfaces/proving-job-source.ts +4 -4
  854. package/src/interfaces/proving-job.ts +18 -6
  855. package/src/interfaces/public_storage_override.ts +26 -0
  856. package/src/interfaces/server.ts +5 -1
  857. package/src/interfaces/server_circuit_prover.ts +2 -2
  858. package/src/interfaces/slasher.ts +17 -10
  859. package/src/interfaces/tx_provider.ts +10 -0
  860. package/src/interfaces/validator.ts +95 -42
  861. package/src/interfaces/world_state.ts +19 -4
  862. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  863. package/src/kernel/hints/key_validation_request.ts +18 -16
  864. package/src/kernel/hints/read_request.ts +1 -1
  865. package/src/kernel/index.ts +5 -1
  866. package/src/kernel/log_hash.ts +36 -13
  867. package/src/kernel/note_hash.ts +1 -1
  868. package/src/kernel/nullifier.ts +1 -1
  869. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  870. package/src/kernel/private_context_inputs.ts +10 -3
  871. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
  872. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  873. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  874. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  875. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  876. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  877. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  878. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  879. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  880. package/src/kernel/private_log_data.ts +4 -1
  881. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  882. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  883. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  884. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  885. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  886. package/src/kernel/public_call_request.ts +22 -7
  887. package/src/keys/derivation.ts +79 -22
  888. package/src/keys/public_key.ts +26 -2
  889. package/src/keys/public_keys.ts +124 -110
  890. package/src/kv-store/config.ts +29 -0
  891. package/src/kv-store/index.ts +1 -0
  892. package/src/l1-contracts/index.ts +1 -1
  893. package/src/logs/app_tagging_secret.ts +160 -0
  894. package/src/logs/app_tagging_secret_kind.ts +21 -0
  895. package/src/logs/contract_class_log.ts +15 -14
  896. package/src/logs/index.ts +7 -8
  897. package/src/logs/log_cursor.ts +110 -0
  898. package/src/logs/log_result.ts +104 -0
  899. package/src/logs/logs_query.ts +138 -0
  900. package/src/logs/pre_tag.ts +3 -6
  901. package/src/logs/private_log.ts +9 -3
  902. package/src/logs/query_all_logs_by_tags.ts +98 -0
  903. package/src/logs/shared_secret_derivation.ts +55 -11
  904. package/src/logs/siloed_tag.ts +20 -11
  905. package/src/logs/tag.ts +8 -8
  906. package/src/logs/tagging_index_range.ts +18 -0
  907. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  908. package/src/messaging/index.ts +1 -0
  909. package/src/messaging/l1_to_l2_message.ts +56 -15
  910. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  911. package/src/messaging/l2_to_l1_membership.ts +189 -35
  912. package/src/messaging/l2_to_l1_message.ts +29 -9
  913. package/src/noir/index.ts +6 -3
  914. package/src/note/note_dao.ts +1 -4
  915. package/src/p2p/attestation_utils.ts +8 -1
  916. package/src/p2p/block_proposal.ts +111 -36
  917. package/src/p2p/checkpoint_attestation.ts +38 -30
  918. package/src/p2p/checkpoint_proposal.ts +126 -85
  919. package/src/p2p/consensus_payload.ts +59 -28
  920. package/src/p2p/gossipable.ts +4 -4
  921. package/src/p2p/index.ts +1 -0
  922. package/src/p2p/peer_error.ts +7 -0
  923. package/src/p2p/signature_utils.ts +117 -23
  924. package/src/p2p/signed_txs.ts +46 -28
  925. package/src/p2p/validated_proposal.ts +43 -0
  926. package/src/parity/parity_base_private_inputs.ts +10 -4
  927. package/src/parity/parity_public_inputs.ts +9 -2
  928. package/src/proofs/chonk_proof.ts +132 -12
  929. package/src/rollup/avm_proof_data.ts +2 -2
  930. package/src/rollup/block_headers_hash.ts +11 -2
  931. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  932. package/src/rollup/checkpoint_header.ts +16 -2
  933. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  934. package/src/schemas/schemas.ts +6 -1
  935. package/src/slashing/helpers.ts +13 -9
  936. package/src/slashing/index.ts +1 -2
  937. package/src/slashing/serialization.ts +1 -81
  938. package/src/slashing/types.ts +24 -49
  939. package/src/slashing/{tally.ts → votes.ts} +22 -4
  940. package/src/stats/stats.ts +6 -2
  941. package/src/tests/factories.ts +111 -119
  942. package/src/tests/mocks.ts +88 -76
  943. package/src/timetable/README.md +609 -0
  944. package/src/timetable/budgets.ts +87 -0
  945. package/src/timetable/build_proposer_timetable.ts +42 -0
  946. package/src/timetable/consensus_timetable.ts +126 -0
  947. package/src/timetable/index.ts +4 -66
  948. package/src/timetable/proposer_timetable.ts +190 -0
  949. package/src/timetable/timetable-example.svg +108 -0
  950. package/src/trees/append_only_tree_snapshot.ts +8 -3
  951. package/src/trees/nullifier_leaf.ts +4 -0
  952. package/src/trees/nullifier_membership_witness.ts +0 -21
  953. package/src/trees/public_data_witness.ts +0 -31
  954. package/src/tx/block_header.ts +16 -5
  955. package/src/tx/capsule.ts +10 -2
  956. package/src/tx/execution_payload.ts +2 -1
  957. package/src/tx/fee_provider.ts +10 -0
  958. package/src/tx/global_variable_builder.ts +3 -20
  959. package/src/tx/global_variables.ts +12 -20
  960. package/src/tx/hashed_values.ts +19 -9
  961. package/src/tx/index.ts +1 -0
  962. package/src/tx/indexed_tx_effect.ts +18 -6
  963. package/src/tx/partial_state_reference.ts +8 -3
  964. package/src/tx/private_execution_result.ts +5 -5
  965. package/src/tx/private_tx_constant_data.ts +25 -2
  966. package/src/tx/profiling.ts +15 -6
  967. package/src/tx/proven_tx.ts +6 -0
  968. package/src/tx/public_call_request_with_calldata.ts +8 -3
  969. package/src/tx/simulated_tx.ts +31 -19
  970. package/src/tx/state_reference.ts +9 -4
  971. package/src/tx/tree_snapshots.ts +9 -4
  972. package/src/tx/tx.ts +98 -37
  973. package/src/tx/tx_constant_data.ts +8 -3
  974. package/src/tx/tx_context.ts +8 -3
  975. package/src/tx/tx_hash.ts +20 -5
  976. package/src/tx/tx_receipt.ts +267 -82
  977. package/src/tx/validator/error_texts.ts +13 -1
  978. package/src/tx/validator/tx_validator.ts +1 -5
  979. package/src/types/shared.ts +8 -13
  980. package/src/update-checker/dev_version.ts +2 -0
  981. package/src/update-checker/index.ts +3 -1
  982. package/src/update-checker/package_version.ts +17 -0
  983. package/src/update-checker/version_checker.ts +65 -0
  984. package/src/validators/errors.ts +26 -0
  985. package/src/validators/schemas.ts +6 -4
  986. package/src/validators/types.ts +21 -2
  987. package/src/versioning/versioning.ts +5 -2
  988. package/src/vks/verification_key.ts +5 -184
  989. package/src/world-state/genesis_data.ts +37 -0
  990. package/src/world-state/index.ts +1 -0
  991. package/src/world-state/world_state_revision.ts +9 -1
  992. package/dest/abi/mocked_keys.d.ts +0 -2
  993. package/dest/abi/mocked_keys.d.ts.map +0 -1
  994. package/dest/abi/mocked_keys.js +0 -1
  995. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  996. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  997. package/dest/block/checkpointed_l2_block.js +0 -46
  998. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  999. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1000. package/dest/contract/private_function_membership_proof.js +0 -124
  1001. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1002. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1003. package/dest/contract/utility_function_membership_proof.js +0 -87
  1004. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1005. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1006. package/dest/interfaces/epoch-prover.js +0 -1
  1007. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1008. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1009. package/dest/interfaces/get_logs_response.js +0 -12
  1010. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1011. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1012. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1013. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1014. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1015. package/dest/l1-contracts/slash_factory.js +0 -158
  1016. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1017. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1018. package/dest/logs/extended_contract_class_log.js +0 -67
  1019. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1020. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1021. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  1022. package/dest/logs/extended_public_log.d.ts +0 -106
  1023. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1024. package/dest/logs/extended_public_log.js +0 -73
  1025. package/dest/logs/log_filter.d.ts +0 -22
  1026. package/dest/logs/log_filter.d.ts.map +0 -1
  1027. package/dest/logs/log_filter.js +0 -11
  1028. package/dest/logs/log_id.d.ts +0 -85
  1029. package/dest/logs/log_id.d.ts.map +0 -1
  1030. package/dest/logs/log_id.js +0 -94
  1031. package/dest/logs/message_context.d.ts +0 -29
  1032. package/dest/logs/message_context.d.ts.map +0 -1
  1033. package/dest/logs/message_context.js +0 -56
  1034. package/dest/logs/pending_tagged_log.d.ts +0 -14
  1035. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  1036. package/dest/logs/pending_tagged_log.js +0 -34
  1037. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1038. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1039. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1040. package/dest/slashing/empire.d.ts +0 -31
  1041. package/dest/slashing/empire.d.ts.map +0 -1
  1042. package/dest/slashing/empire.js +0 -87
  1043. package/dest/slashing/tally.d.ts.map +0 -1
  1044. package/dest/update-checker/update-checker.d.ts +0 -49
  1045. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1046. package/dest/update-checker/update-checker.js +0 -130
  1047. package/src/abi/mocked_keys.ts +0 -2
  1048. package/src/block/checkpointed_l2_block.ts +0 -70
  1049. package/src/contract/private_function_membership_proof.ts +0 -167
  1050. package/src/contract/utility_function_membership_proof.ts +0 -118
  1051. package/src/interfaces/epoch-prover.ts +0 -72
  1052. package/src/interfaces/get_logs_response.ts +0 -35
  1053. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1054. package/src/l1-contracts/slash_factory.ts +0 -180
  1055. package/src/logs/extended_contract_class_log.ts +0 -87
  1056. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1057. package/src/logs/extended_public_log.ts +0 -94
  1058. package/src/logs/log_filter.ts +0 -31
  1059. package/src/logs/log_id.ts +0 -125
  1060. package/src/logs/message_context.ts +0 -62
  1061. package/src/logs/pending_tagged_log.ts +0 -41
  1062. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1063. package/src/slashing/empire.ts +0 -104
  1064. package/src/update-checker/update-checker.ts +0 -166
@@ -3,52 +3,41 @@ export declare class WorldStateRevision {
3
3
  readonly forkId: number;
4
4
  readonly blockNumber: number;
5
5
  readonly includeUncommitted: boolean;
6
+ /**
7
+ * Sentinel `blockNumber` meaning "not pinned to any historical block; use the latest committed
8
+ * state of the underlying tree". Mirrors the `WorldStateRevision::LATEST` constant on the C++
9
+ * side (defined as `std::numeric_limits<uint32_t>::max()`). Distinct from `blockNumber === 0`,
10
+ * which pins to the initial / genesis state.
11
+ */
12
+ static readonly LATEST = 4294967295;
6
13
  constructor(forkId: number, blockNumber: number, includeUncommitted: boolean);
7
14
  toString(): string;
8
15
  static empty(): WorldStateRevision;
9
- static get schema(): z.ZodEffects<z.ZodObject<{
16
+ static get schema(): z.ZodPipe<z.ZodObject<{
10
17
  forkId: z.ZodNumber;
11
18
  blockNumber: z.ZodNumber;
12
19
  includeUncommitted: z.ZodBoolean;
13
- }, "strip", z.ZodTypeAny, {
20
+ }, z.core.$strip>, z.ZodTransform<WorldStateRevision, {
14
21
  forkId: number;
15
22
  blockNumber: number;
16
23
  includeUncommitted: boolean;
17
- }, {
18
- forkId: number;
19
- blockNumber: number;
20
- includeUncommitted: boolean;
21
- }>, WorldStateRevision, {
22
- forkId: number;
23
- blockNumber: number;
24
- includeUncommitted: boolean;
25
- }>;
24
+ }>>;
26
25
  }
27
26
  export declare class WorldStateRevisionWithHandle extends WorldStateRevision {
28
27
  readonly handle: any;
29
28
  constructor(forkId: number, blockNumber: number, includeUncommitted: boolean, handle: any);
30
29
  toWorldStateRevision(): WorldStateRevision;
31
30
  static fromWorldStateRevision(revision: WorldStateRevision, handle: any): WorldStateRevisionWithHandle;
32
- static get schema(): z.ZodEffects<z.ZodObject<{
31
+ static get schema(): z.ZodPipe<z.ZodObject<{
33
32
  forkId: z.ZodNumber;
34
33
  blockNumber: z.ZodNumber;
35
34
  includeUncommitted: z.ZodBoolean;
36
35
  handle: z.ZodAny;
37
- }, "strip", z.ZodTypeAny, {
38
- forkId: number;
39
- blockNumber: number;
40
- includeUncommitted: boolean;
41
- handle?: any;
42
- }, {
43
- forkId: number;
44
- blockNumber: number;
45
- includeUncommitted: boolean;
46
- handle?: any;
47
- }>, WorldStateRevisionWithHandle, {
36
+ }, z.core.$strip>, z.ZodTransform<WorldStateRevisionWithHandle, {
48
37
  forkId: number;
49
38
  blockNumber: number;
50
39
  includeUncommitted: boolean;
51
- handle?: any;
52
- }>;
40
+ handle: any;
41
+ }>>;
53
42
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGRfc3RhdGVfcmV2aXNpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JsZC1zdGF0ZS93b3JsZF9zdGF0ZV9yZXZpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLHFCQUFhLGtCQUFrQjthQUVYLE1BQU0sRUFBRSxNQUFNO2FBQ2QsV0FBVyxFQUFFLE1BQU07YUFDbkIsa0JBQWtCLEVBQUUsT0FBTztJQUg3QyxZQUNrQixNQUFNLEVBQUUsTUFBTSxFQUNkLFdBQVcsRUFBRSxNQUFNLEVBQ25CLGtCQUFrQixFQUFFLE9BQU8sRUFDekM7SUFFRyxRQUFRLFdBRWQ7SUFFRCxNQUFNLENBQUMsS0FBSyx1QkFFWDtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7O09BV2hCO0NBQ0Y7QUFFRCxxQkFBYSw0QkFBNkIsU0FBUSxrQkFBa0I7YUFLaEQsTUFBTSxFQUFFLEdBQUc7SUFKN0IsWUFDRSxNQUFNLEVBQUUsTUFBTSxFQUNkLFdBQVcsRUFBRSxNQUFNLEVBQ25CLGtCQUFrQixFQUFFLE9BQU8sRUFDWCxNQUFNLEVBQUUsR0FBRyxFQUc1QjtJQUVNLG9CQUFvQix1QkFFMUI7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLGdDQUV0RTtJQUVELFdBQW9CLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BWXpCO0NBQ0YifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGRfc3RhdGVfcmV2aXNpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JsZC1zdGF0ZS93b3JsZF9zdGF0ZV9yZXZpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLHFCQUFhLGtCQUFrQjthQVVYLE1BQU0sRUFBRSxNQUFNO2FBQ2QsV0FBVyxFQUFFLE1BQU07YUFDbkIsa0JBQWtCLEVBQUUsT0FBTztJQVg3Qzs7Ozs7T0FLRztJQUNILGdCQUF1QixNQUFNLGNBQWM7SUFFM0MsWUFDa0IsTUFBTSxFQUFFLE1BQU0sRUFDZCxXQUFXLEVBQUUsTUFBTSxFQUNuQixrQkFBa0IsRUFBRSxPQUFPLEVBQ3pDO0lBRUcsUUFBUSxXQUVkO0lBRUQsTUFBTSxDQUFDLEtBQUssdUJBRVg7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7UUFXaEI7Q0FDRjtBQUVELHFCQUFhLDRCQUE2QixTQUFRLGtCQUFrQjthQUtoRCxNQUFNLEVBQUUsR0FBRztJQUo3QixZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLE1BQU0sRUFDbkIsa0JBQWtCLEVBQUUsT0FBTyxFQUNYLE1BQU0sRUFBRSxHQUFHLEVBRzVCO0lBRU0sb0JBQW9CLHVCQUUxQjtJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLEdBQUcsZ0NBRXRFO0lBRUQsV0FBb0IsTUFBTTs7Ozs7Ozs7OztRQVl6QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"world_state_revision.d.ts","sourceRoot":"","sources":["../../src/world-state/world_state_revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,kBAAkB;aAEX,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,kBAAkB,EAAE,OAAO;IAH7C,YACkB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,EACzC;IAEG,QAAQ,WAEd;IAED,MAAM,CAAC,KAAK,uBAEX;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;OAWhB;CACF;AAED,qBAAa,4BAA6B,SAAQ,kBAAkB;aAKhD,MAAM,EAAE,GAAG;IAJ7B,YACE,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,EACX,MAAM,EAAE,GAAG,EAG5B;IAEM,oBAAoB,uBAE1B;IAED,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,gCAEtE;IAED,WAAoB,MAAM;;;;;;;;;;;;;;;;;;;;OAYzB;CACF"}
1
+ {"version":3,"file":"world_state_revision.d.ts","sourceRoot":"","sources":["../../src/world-state/world_state_revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,kBAAkB;aAUX,MAAM,EAAE,MAAM;aACd,WAAW,EAAE,MAAM;aACnB,kBAAkB,EAAE,OAAO;IAX7C;;;;;OAKG;IACH,gBAAuB,MAAM,cAAc;IAE3C,YACkB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,EACzC;IAEG,QAAQ,WAEd;IAED,MAAM,CAAC,KAAK,uBAEX;IAED,MAAM,KAAK,MAAM;;;;;;;;QAWhB;CACF;AAED,qBAAa,4BAA6B,SAAQ,kBAAkB;aAKhD,MAAM,EAAE,GAAG;IAJ7B,YACE,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,OAAO,EACX,MAAM,EAAE,GAAG,EAG5B;IAEM,oBAAoB,uBAE1B;IAED,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,gCAEtE;IAED,WAAoB,MAAM;;;;;;;;;;QAYzB;CACF"}
@@ -3,6 +3,12 @@ export class WorldStateRevision {
3
3
  forkId;
4
4
  blockNumber;
5
5
  includeUncommitted;
6
+ /**
7
+ * Sentinel `blockNumber` meaning "not pinned to any historical block; use the latest committed
8
+ * state of the underlying tree". Mirrors the `WorldStateRevision::LATEST` constant on the C++
9
+ * side (defined as `std::numeric_limits<uint32_t>::max()`). Distinct from `blockNumber === 0`,
10
+ * which pins to the initial / genesis state.
11
+ */ static LATEST = 0xffffffff;
6
12
  constructor(forkId, blockNumber, includeUncommitted){
7
13
  this.forkId = forkId;
8
14
  this.blockNumber = blockNumber;
@@ -12,7 +18,7 @@ export class WorldStateRevision {
12
18
  return `WorldStateRevision(forkId: ${this.forkId}, blockNumber: ${this.blockNumber}, includeUncommitted: ${this.includeUncommitted})`;
13
19
  }
14
20
  static empty() {
15
- return new WorldStateRevision(0, 0, false);
21
+ return new WorldStateRevision(0, WorldStateRevision.LATEST, false);
16
22
  }
17
23
  static get schema() {
18
24
  return z.object({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "0.0.1-commit.f504929",
3
+ "version": "0.0.1-commit.f5a9928",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -63,7 +63,8 @@
63
63
  "./slashing": "./dest/slashing/index.js",
64
64
  "./l1-contracts": "./dest/l1-contracts/index.js",
65
65
  "./world-state": "./dest/world-state/index.js",
66
- "./timetable": "./dest/timetable/index.js"
66
+ "./timetable": "./dest/timetable/index.js",
67
+ "./kv-store": "./dest/kv-store/index.js"
67
68
  },
68
69
  "typedocOptions": {
69
70
  "entryPoints": [
@@ -91,15 +92,15 @@
91
92
  },
92
93
  "dependencies": {
93
94
  "@aws-sdk/client-s3": "^3.892.0",
94
- "@aztec/bb.js": "0.0.1-commit.f504929",
95
- "@aztec/blob-lib": "0.0.1-commit.f504929",
96
- "@aztec/constants": "0.0.1-commit.f504929",
97
- "@aztec/ethereum": "0.0.1-commit.f504929",
98
- "@aztec/foundation": "0.0.1-commit.f504929",
99
- "@aztec/l1-artifacts": "0.0.1-commit.f504929",
100
- "@aztec/noir-noirc_abi": "0.0.1-commit.f504929",
95
+ "@aztec/bb.js": "0.0.1-commit.f5a9928",
96
+ "@aztec/blob-lib": "0.0.1-commit.f5a9928",
97
+ "@aztec/constants": "0.0.1-commit.f5a9928",
98
+ "@aztec/ethereum": "0.0.1-commit.f5a9928",
99
+ "@aztec/foundation": "0.0.1-commit.f5a9928",
100
+ "@aztec/l1-artifacts": "0.0.1-commit.f5a9928",
101
+ "@aztec/noir-noirc_abi": "0.0.1-commit.f5a9928",
101
102
  "@google-cloud/storage": "^7.15.0",
102
- "axios": "^1.13.5",
103
+ "axios": "^1.15.1",
103
104
  "json-stringify-deterministic": "1.0.12",
104
105
  "lodash.chunk": "^4.2.0",
105
106
  "lodash.isequal": "^4.5.0",
@@ -109,7 +110,7 @@
109
110
  "pako": "^2.1.0",
110
111
  "tslib": "^2.4.0",
111
112
  "viem": "npm:@aztec/viem@2.38.2",
112
- "zod": "^3.23.8"
113
+ "zod": "^4"
113
114
  },
114
115
  "devDependencies": {
115
116
  "@jest/expect": "^30.0.0",
@@ -128,7 +129,8 @@
128
129
  "jest-mock-extended": "^4.0.0",
129
130
  "prettier": "^3.5.3",
130
131
  "ts-node": "^10.9.1",
131
- "typescript": "^5.3.3"
132
+ "typescript": "^5.3.3",
133
+ "vitest": "^4.0.0"
132
134
  },
133
135
  "files": [
134
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,17 @@ 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
- files: z.record(z.object({ source: z.string(), path: z.string() })),
236
+ files: z.record(
237
+ z.string(),
238
+ z.object({
239
+ source: z.string(),
240
+ path: z.string(),
241
+ function_locations: z.array(z.object({ start: z.number(), name: z.string() })),
242
+ }),
243
+ ),
228
244
  }) satisfies z.ZodType<FunctionDebugMetadata>;
229
245
 
230
246
  /** The artifact entry of a function. */
@@ -305,6 +321,14 @@ export interface ProgramDebugInfo {
305
321
  debug_infos: Array<DebugInfo>;
306
322
  }
307
323
 
324
+ /** The range a function occupies in a file. */
325
+ export type FunctionLocation = {
326
+ /** The byte where the function starts. */
327
+ start: number;
328
+ /** The name of the function. */
329
+ name: string;
330
+ };
331
+
308
332
  /** Maps a file ID to its metadata for debugging purposes. */
309
333
  export type DebugFileMap = Record<
310
334
  FileId,
@@ -313,6 +337,8 @@ export type DebugFileMap = Record<
313
337
  source: string;
314
338
  /** The path of the file. */
315
339
  path: string;
340
+ /** The range each function occupies in the file. */
341
+ function_locations: FunctionLocation[];
316
342
  }
317
343
  >;
318
344
 
@@ -322,11 +348,17 @@ export type FieldLayout = {
322
348
  slot: Fr;
323
349
  };
324
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
+
325
354
  /** Defines artifact of a contract. */
326
355
  export interface ContractArtifact {
327
356
  /** The name of the contract. */
328
357
  name: string;
329
358
 
359
+ /** The version of the Aztec stack that compiled this artifact. */
360
+ aztecVersion: string;
361
+
330
362
  /** The functions of the contract. Includes private and utility functions, plus the public dispatch function. */
331
363
  functions: FunctionArtifact[];
332
364
 
@@ -349,10 +381,11 @@ export interface ContractArtifact {
349
381
  export const ContractArtifactSchema = zodFor<ContractArtifact>()(
350
382
  z.object({
351
383
  name: z.string(),
384
+ aztecVersion: z.string().default(ARTIFACT_VERSION_BEFORE_INJECTION), // TODO(F-557): Remove default.
352
385
  functions: z.array(FunctionArtifactSchema),
353
386
  nonDispatchPublicFunctions: z.array(FunctionAbiSchema),
354
387
  outputs: z.object({
355
- structs: z.record(z.array(AbiTypeSchema)).transform(structs => {
388
+ structs: z.record(z.string(), z.array(AbiTypeSchema)).transform(structs => {
356
389
  for (const [key, value] of Object.entries(structs)) {
357
390
  // We are manually ordering events and functions in the abi by path.
358
391
  // The path ordering is arbitrary, and only needed to ensure deterministic order.
@@ -364,10 +397,17 @@ export const ContractArtifactSchema = zodFor<ContractArtifact>()(
364
397
  }
365
398
  return structs;
366
399
  }),
367
- globals: z.record(z.array(AbiValueSchema)),
400
+ globals: z.record(z.string(), z.array(AbiValueSchema)),
368
401
  }),
369
- storageLayout: z.record(z.object({ slot: schemas.Fr })),
370
- fileMap: z.record(z.coerce.number(), z.object({ source: z.string(), path: z.string() })),
402
+ storageLayout: z.record(z.string(), z.object({ slot: schemas.Fr })),
403
+ fileMap: z.record(
404
+ z.coerce.number(),
405
+ z.object({
406
+ source: z.string(),
407
+ path: z.string(),
408
+ function_locations: z.array(z.object({ start: z.number(), name: z.string() })),
409
+ }),
410
+ ),
371
411
  }),
372
412
  );
373
413
 
@@ -387,20 +427,10 @@ export async function getFunctionArtifact(
387
427
  artifact: ContractArtifact,
388
428
  functionNameOrSelector: string | FunctionSelector,
389
429
  ): Promise<FunctionArtifactWithContractName> {
390
- let functionArtifact;
391
- if (typeof functionNameOrSelector === 'string') {
392
- functionArtifact = artifact.functions.find(f => f.name === functionNameOrSelector);
393
- } else {
394
- const functionsAndSelectors = await Promise.all(
395
- artifact.functions.map(async fn => ({
396
- fn,
397
- selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
398
- })),
399
- );
400
- functionArtifact = functionsAndSelectors.find(fnAndSelector =>
401
- functionNameOrSelector.equals(fnAndSelector.selector),
402
- )?.fn;
403
- }
430
+ const functionArtifact =
431
+ typeof functionNameOrSelector === 'string'
432
+ ? artifact.functions.find(f => f.name === functionNameOrSelector)
433
+ : await findFunctionArtifactBySelector(artifact, functionNameOrSelector);
404
434
  if (!functionArtifact) {
405
435
  throw new Error(`Unknown function ${functionNameOrSelector}`);
406
436
  }
@@ -410,6 +440,40 @@ export async function getFunctionArtifact(
410
440
  return { ...functionArtifact, debug: debugMetadata, contractName: artifact.name };
411
441
  }
412
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
+
413
477
  /** Gets all function abis */
414
478
  export function getAllFunctionAbis(artifact: ContractArtifact): FunctionAbi[] {
415
479
  return artifact.functions.map(f => f as FunctionAbi).concat(artifact.nonDispatchPublicFunctions || []);
@@ -528,6 +592,7 @@ export function emptyFunctionArtifact(): FunctionArtifact {
528
592
  export function emptyContractArtifact(): ContractArtifact {
529
593
  return {
530
594
  name: '',
595
+ aztecVersion: DEV_VERSION,
531
596
  functions: [emptyFunctionArtifact()],
532
597
  nonDispatchPublicFunctions: [emptyFunctionAbi()],
533
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
@@ -26,11 +26,44 @@ export function bufferAsFields(input: Buffer, targetLength: number): Fr[] {
26
26
  }
27
27
 
28
28
  /**
29
- * Recovers a buffer from an array of fields.
30
- * @param fields - An output from bufferAsFields.
31
- * @returns The recovered buffer.
29
+ * Recovers a buffer from an array of fields previously encoded with bufferAsFields.
30
+ *
31
+ * The first field encodes the byte length of the original buffer. The remaining fields
32
+ * each carry 31 bytes of payload (the leading byte of each 32-byte field element is skipped).
33
+ *
34
+ * If the declared byte length exceeds the bytes available from the payload fields, the result
35
+ * is zero-padded to the full declared length. This is important for correctness when the field
36
+ * array has been truncated (e.g. contract class logs reconstructed from blobs using a short
37
+ * emittedLength): without padding, the resulting buffer would be shorter than declared, causing
38
+ * bytecode commitment computations to diverge from what the circuit produced.
39
+ *
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.
45
+ * @returns A buffer of exactly `byteLength` bytes.
32
46
  */
33
- 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
+ }
34
53
  const [length, ...payload] = fields;
35
- return Buffer.concat(payload.map(f => f.toBuffer().subarray(1))).subarray(0, length.toNumber());
54
+ const byteLength = length.toNumber();
55
+ if (maxByteLength !== undefined && byteLength > maxByteLength) {
56
+ throw new Error(`Declared byte length ${byteLength} exceeds maximum ${maxByteLength}`);
57
+ }
58
+ const raw = Buffer.concat(payload.map(f => f.toBuffer().subarray(1)));
59
+ if (raw.length >= byteLength) {
60
+ return raw.subarray(0, byteLength);
61
+ }
62
+ // Pad with zeros if the declared length exceeds the available payload bytes.
63
+ // This ensures the returned buffer always matches the declared length, so that
64
+ // downstream bytecode commitment computations are consistent even when the
65
+ // source field array was truncated (e.g. reconstructed from blob with a short emittedLength).
66
+ const result = Buffer.alloc(byteLength);
67
+ raw.copy(result);
68
+ return result;
36
69
  }
@@ -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) {