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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1162) hide show
  1. package/dest/abi/abi.d.ts +169 -1083
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +52 -20
  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 +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +49 -26
  12. package/dest/abi/decoder.d.ts +15 -47
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +33 -86
  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 +60 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +21 -30
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +28 -9
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/avm/avm.d.ts +2228 -10934
  47. package/dest/avm/avm.d.ts.map +1 -1
  48. package/dest/avm/avm.js +10 -5
  49. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  50. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  51. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  52. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  53. package/dest/avm/avm_proving_request.d.ts +653 -5446
  54. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  55. package/dest/avm/index.d.ts +1 -6
  56. package/dest/avm/index.d.ts.map +1 -1
  57. package/dest/avm/index.js +0 -5
  58. package/dest/avm/message_pack.js +12 -3
  59. package/dest/avm/public_data_write.d.ts +6 -12
  60. package/dest/avm/public_data_write.d.ts.map +1 -1
  61. package/dest/avm/revert_code.d.ts +5 -21
  62. package/dest/avm/revert_code.d.ts.map +1 -1
  63. package/dest/avm/revert_code.js +12 -30
  64. package/dest/aztec-address/index.d.ts +42 -12
  65. package/dest/aztec-address/index.d.ts.map +1 -1
  66. package/dest/aztec-address/index.js +40 -13
  67. package/dest/block/attestation_info.d.ts +3 -2
  68. package/dest/block/attestation_info.d.ts.map +1 -1
  69. package/dest/block/attestation_info.js +10 -5
  70. package/dest/block/block_data.d.ts +13 -38
  71. package/dest/block/block_data.d.ts.map +1 -1
  72. package/dest/block/block_data.js +2 -2
  73. package/dest/block/block_hash.d.ts +11 -10
  74. package/dest/block/block_hash.d.ts.map +1 -1
  75. package/dest/block/block_hash.js +10 -9
  76. package/dest/block/block_parameter.d.ts +37 -4
  77. package/dest/block/block_parameter.d.ts.map +1 -1
  78. package/dest/block/block_parameter.js +53 -2
  79. package/dest/block/in_block.d.ts +5 -24
  80. package/dest/block/in_block.d.ts.map +1 -1
  81. package/dest/block/index.d.ts +1 -2
  82. package/dest/block/index.d.ts.map +1 -1
  83. package/dest/block/index.js +0 -1
  84. package/dest/block/l2_block.d.ts +21 -41
  85. package/dest/block/l2_block.d.ts.map +1 -1
  86. package/dest/block/l2_block.js +12 -2
  87. package/dest/block/l2_block_info.d.ts +10 -29
  88. package/dest/block/l2_block_info.d.ts.map +1 -1
  89. package/dest/block/l2_block_info.js +6 -5
  90. package/dest/block/l2_block_source.d.ts +237 -355
  91. package/dest/block/l2_block_source.d.ts.map +1 -1
  92. package/dest/block/l2_block_source.js +85 -1
  93. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  94. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  95. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  96. package/dest/block/l2_block_stream/index.d.ts +2 -1
  97. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/index.js +1 -0
  99. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  100. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  101. package/dest/block/l2_block_stream/interfaces.js +25 -1
  102. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  103. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  104. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  105. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  106. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  107. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  108. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  109. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  110. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  111. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  112. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  113. package/dest/block/proposal/attestations_and_signers.js +73 -25
  114. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  115. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  116. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  117. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  118. package/dest/block/test/l2_tips_store_test_suite.js +301 -36
  119. package/dest/block/validate_block_result.d.ts +16 -1
  120. package/dest/block/validate_block_result.d.ts.map +1 -1
  121. package/dest/block/validate_block_result.js +18 -3
  122. package/dest/checkpoint/checkpoint.d.ts +31 -96
  123. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  124. package/dest/checkpoint/checkpoint.js +20 -7
  125. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  126. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  127. package/dest/checkpoint/checkpoint_data.js +12 -0
  128. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  129. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  130. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  131. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  132. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  133. package/dest/checkpoint/digest.d.ts +18 -0
  134. package/dest/checkpoint/digest.d.ts.map +1 -0
  135. package/dest/checkpoint/digest.js +12 -0
  136. package/dest/checkpoint/index.d.ts +6 -1
  137. package/dest/checkpoint/index.d.ts.map +1 -1
  138. package/dest/checkpoint/index.js +5 -0
  139. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  140. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  141. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  142. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  143. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  144. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  145. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  146. package/dest/checkpoint/simulation_overrides.js +98 -0
  147. package/dest/checkpoint/validate.d.ts +44 -0
  148. package/dest/checkpoint/validate.d.ts.map +1 -0
  149. package/dest/checkpoint/validate.js +123 -0
  150. package/dest/config/chain-config.d.ts +4 -9
  151. package/dest/config/chain-config.d.ts.map +1 -1
  152. package/dest/config/chain-config.js +13 -12
  153. package/dest/config/index.d.ts +2 -1
  154. package/dest/config/index.d.ts.map +1 -1
  155. package/dest/config/index.js +1 -0
  156. package/dest/config/network-consensus-config.d.ts +72 -0
  157. package/dest/config/network-consensus-config.d.ts.map +1 -0
  158. package/dest/config/network-consensus-config.js +223 -0
  159. package/dest/config/node-rpc-config.d.ts +1 -1
  160. package/dest/config/node-rpc-config.d.ts.map +1 -1
  161. package/dest/config/node-rpc-config.js +1 -1
  162. package/dest/config/sequencer-config.d.ts +6 -2
  163. package/dest/config/sequencer-config.d.ts.map +1 -1
  164. package/dest/config/sequencer-config.js +38 -6
  165. package/dest/contract/artifact_hash.d.ts +2 -2
  166. package/dest/contract/artifact_hash.d.ts.map +1 -1
  167. package/dest/contract/artifact_hash.js +10 -2
  168. package/dest/contract/complete_address.d.ts +3 -2
  169. package/dest/contract/complete_address.d.ts.map +1 -1
  170. package/dest/contract/complete_address.js +6 -2
  171. package/dest/contract/contract_address.d.ts +10 -9
  172. package/dest/contract/contract_address.d.ts.map +1 -1
  173. package/dest/contract/contract_address.js +6 -5
  174. package/dest/contract/contract_class.d.ts +1 -1
  175. package/dest/contract/contract_class.d.ts.map +1 -1
  176. package/dest/contract/contract_class.js +3 -2
  177. package/dest/contract/contract_class_id.d.ts +2 -2
  178. package/dest/contract/contract_class_id.js +2 -2
  179. package/dest/contract/contract_deployment_data.d.ts +15 -61
  180. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  181. package/dest/contract/contract_instance.d.ts +19 -3
  182. package/dest/contract/contract_instance.d.ts.map +1 -1
  183. package/dest/contract/contract_instance.js +55 -3
  184. package/dest/contract/index.d.ts +1 -4
  185. package/dest/contract/index.d.ts.map +1 -1
  186. package/dest/contract/index.js +0 -3
  187. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  188. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_class.js +1 -28
  190. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  191. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  192. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  193. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  194. package/dest/contract/interfaces/contract_instance.js +11 -4
  195. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  196. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  197. package/dest/contract/interfaces/node-info.d.ts +11 -1
  198. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  199. package/dest/contract/interfaces/node-info.js +7 -1
  200. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  201. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  202. package/dest/contract/partial_address.d.ts +9 -3
  203. package/dest/contract/partial_address.d.ts.map +1 -1
  204. package/dest/contract/partial_address.js +8 -2
  205. package/dest/contract/private_function.d.ts +1 -1
  206. package/dest/contract/private_function.d.ts.map +1 -1
  207. package/dest/contract/private_function.js +2 -4
  208. package/dest/database-version/database_version.d.ts +5 -11
  209. package/dest/database-version/database_version.d.ts.map +1 -1
  210. package/dest/database-version/version_manager.d.ts +22 -4
  211. package/dest/database-version/version_manager.d.ts.map +1 -1
  212. package/dest/database-version/version_manager.js +87 -6
  213. package/dest/deserialization/index.d.ts +35 -3
  214. package/dest/deserialization/index.d.ts.map +1 -1
  215. package/dest/deserialization/index.js +32 -1
  216. package/dest/epoch-helpers/index.d.ts +12 -20
  217. package/dest/epoch-helpers/index.d.ts.map +1 -1
  218. package/dest/epoch-helpers/index.js +16 -2
  219. package/dest/file-store/factory.d.ts +4 -3
  220. package/dest/file-store/factory.d.ts.map +1 -1
  221. package/dest/file-store/factory.js +9 -2
  222. package/dest/file-store/http.d.ts +9 -2
  223. package/dest/file-store/http.d.ts.map +1 -1
  224. package/dest/file-store/http.js +20 -9
  225. package/dest/file-store/index.d.ts +3 -1
  226. package/dest/file-store/index.d.ts.map +1 -1
  227. package/dest/file-store/index.js +1 -0
  228. package/dest/file-store/memory.d.ts +24 -0
  229. package/dest/file-store/memory.d.ts.map +1 -0
  230. package/dest/file-store/memory.js +80 -0
  231. package/dest/gas/fee_math.d.ts +49 -0
  232. package/dest/gas/fee_math.d.ts.map +1 -0
  233. package/dest/gas/fee_math.js +80 -0
  234. package/dest/gas/gas.d.ts +9 -14
  235. package/dest/gas/gas.d.ts.map +1 -1
  236. package/dest/gas/gas.js +6 -3
  237. package/dest/gas/gas_fees.d.ts +13 -14
  238. package/dest/gas/gas_fees.d.ts.map +1 -1
  239. package/dest/gas/gas_fees.js +20 -4
  240. package/dest/gas/gas_settings.d.ts +60 -86
  241. package/dest/gas/gas_settings.d.ts.map +1 -1
  242. package/dest/gas/gas_settings.js +49 -9
  243. package/dest/gas/index.d.ts +3 -1
  244. package/dest/gas/index.d.ts.map +1 -1
  245. package/dest/gas/index.js +2 -0
  246. package/dest/gas/tx_gas_limits.d.ts +72 -0
  247. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  248. package/dest/gas/tx_gas_limits.js +85 -0
  249. package/dest/ha-signing/config.d.ts +86 -0
  250. package/dest/ha-signing/config.d.ts.map +1 -0
  251. package/dest/ha-signing/config.js +94 -0
  252. package/dest/ha-signing/index.d.ts +4 -0
  253. package/dest/ha-signing/index.d.ts.map +1 -0
  254. package/dest/ha-signing/index.js +3 -0
  255. package/dest/ha-signing/local_config.d.ts +40 -0
  256. package/dest/ha-signing/local_config.d.ts.map +1 -0
  257. package/dest/ha-signing/local_config.js +30 -0
  258. package/dest/ha-signing/types.d.ts +90 -0
  259. package/dest/ha-signing/types.d.ts.map +1 -0
  260. package/dest/ha-signing/types.js +39 -0
  261. package/dest/hash/hash.d.ts +34 -2
  262. package/dest/hash/hash.d.ts.map +1 -1
  263. package/dest/hash/hash.js +63 -9
  264. package/dest/interfaces/allowed_element.d.ts +17 -35
  265. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  266. package/dest/interfaces/allowed_element.js +8 -8
  267. package/dest/interfaces/api_limit.d.ts +7 -2
  268. package/dest/interfaces/api_limit.d.ts.map +1 -1
  269. package/dest/interfaces/api_limit.js +4 -1
  270. package/dest/interfaces/archiver.d.ts +27 -32
  271. package/dest/interfaces/archiver.d.ts.map +1 -1
  272. package/dest/interfaces/archiver.js +216 -69
  273. package/dest/interfaces/aztec-node-admin.d.ts +90 -280
  274. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  275. package/dest/interfaces/aztec-node-admin.js +60 -17
  276. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  277. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  278. package/dest/interfaces/aztec-node-debug.js +49 -0
  279. package/dest/interfaces/aztec-node.d.ts +165 -115
  280. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  281. package/dest/interfaces/aztec-node.js +351 -72
  282. package/dest/interfaces/block-builder.d.ts +48 -12
  283. package/dest/interfaces/block-builder.d.ts.map +1 -1
  284. package/dest/interfaces/block-builder.js +13 -6
  285. package/dest/interfaces/block_response.d.ts +90 -0
  286. package/dest/interfaces/block_response.d.ts.map +1 -0
  287. package/dest/interfaces/block_response.js +30 -0
  288. package/dest/interfaces/chain_tips.d.ts +11 -0
  289. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  290. package/dest/interfaces/chain_tips.js +6 -0
  291. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  292. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  293. package/dest/interfaces/checkpoint_parameter.js +18 -0
  294. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  295. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  296. package/dest/interfaces/checkpoint_response.js +26 -0
  297. package/dest/interfaces/client.d.ts +9 -2
  298. package/dest/interfaces/client.d.ts.map +1 -1
  299. package/dest/interfaces/client.js +7 -1
  300. package/dest/interfaces/configs.d.ts +89 -131
  301. package/dest/interfaces/configs.d.ts.map +1 -1
  302. package/dest/interfaces/configs.js +19 -4
  303. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  304. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  305. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  306. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  307. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  308. package/dest/interfaces/l1_publish_info.js +26 -0
  309. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  310. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  311. package/dest/interfaces/l2_logs_source.js +5 -0
  312. package/dest/interfaces/merkle_tree_operations.d.ts +19 -23
  313. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  314. package/dest/interfaces/p2p-bootstrap.js +8 -2
  315. package/dest/interfaces/p2p.d.ts +46 -7
  316. package/dest/interfaces/p2p.d.ts.map +1 -1
  317. package/dest/interfaces/p2p.js +41 -6
  318. package/dest/interfaces/private_kernel_prover.d.ts +131 -12
  319. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  320. package/dest/interfaces/prover-agent.d.ts +5 -23
  321. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  322. package/dest/interfaces/prover-agent.js +4 -1
  323. package/dest/interfaces/prover-client.d.ts +10 -27
  324. package/dest/interfaces/prover-client.d.ts.map +1 -1
  325. package/dest/interfaces/prover-client.js +7 -4
  326. package/dest/interfaces/prover-node.d.ts +12 -8
  327. package/dest/interfaces/prover-node.d.ts.map +1 -1
  328. package/dest/interfaces/prover-node.js +37 -16
  329. package/dest/interfaces/proving-job-source.js +24 -4
  330. package/dest/interfaces/proving-job.d.ts +757 -5795
  331. package/dest/interfaces/proving-job.d.ts.map +1 -1
  332. package/dest/interfaces/proving-job.js +14 -5
  333. package/dest/interfaces/public_storage_override.d.ts +22 -0
  334. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  335. package/dest/interfaces/public_storage_override.js +7 -0
  336. package/dest/interfaces/server.d.ts +6 -3
  337. package/dest/interfaces/server.d.ts.map +1 -1
  338. package/dest/interfaces/server.js +5 -2
  339. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  340. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  341. package/dest/interfaces/slasher.d.ts +25 -65
  342. package/dest/interfaces/slasher.d.ts.map +1 -1
  343. package/dest/interfaces/slasher.js +8 -4
  344. package/dest/interfaces/tx_provider.d.ts +10 -1
  345. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  346. package/dest/interfaces/validator.d.ts +83 -213
  347. package/dest/interfaces/validator.d.ts.map +1 -1
  348. package/dest/interfaces/validator.js +16 -7
  349. package/dest/interfaces/world_state.d.ts +19 -5
  350. package/dest/interfaces/world_state.d.ts.map +1 -1
  351. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  352. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  353. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  354. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  355. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  356. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  357. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  358. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  359. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  360. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  361. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  362. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  363. package/dest/kernel/hints/index.d.ts +1 -2
  364. package/dest/kernel/hints/index.d.ts.map +1 -1
  365. package/dest/kernel/hints/index.js +0 -1
  366. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  367. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  368. package/dest/kernel/hints/key_validation_request.js +20 -18
  369. package/dest/kernel/hints/read_request.js +1 -1
  370. package/dest/kernel/index.d.ts +10 -2
  371. package/dest/kernel/index.d.ts.map +1 -1
  372. package/dest/kernel/index.js +9 -1
  373. package/dest/kernel/log_hash.d.ts +6 -2
  374. package/dest/kernel/log_hash.d.ts.map +1 -1
  375. package/dest/kernel/log_hash.js +23 -11
  376. package/dest/kernel/note_hash.js +1 -1
  377. package/dest/kernel/nullifier.js +1 -1
  378. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  379. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  380. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  381. package/dest/kernel/private_context_inputs.d.ts +4 -3
  382. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  383. package/dest/kernel/private_context_inputs.js +7 -3
  384. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -10
  385. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  387. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  388. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  389. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  390. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  391. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  392. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  393. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  394. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  395. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  396. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  397. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  398. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  399. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  400. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  401. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  402. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  403. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  404. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  405. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  406. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  407. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  408. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  409. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  410. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  411. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  412. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  413. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  414. package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
  415. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  416. package/dest/kernel/private_kernel_prover_output.js +4 -1
  417. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  418. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  419. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  420. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  421. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  422. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  423. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  424. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  425. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +10 -6
  426. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  427. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  428. package/dest/kernel/private_log_data.d.ts +1 -1
  429. package/dest/kernel/private_log_data.d.ts.map +1 -1
  430. package/dest/kernel/private_log_data.js +1 -1
  431. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  432. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  433. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  434. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  435. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  436. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  437. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  438. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  439. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  440. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  441. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  442. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  443. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  444. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  445. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  446. package/dest/kernel/public_call_request.d.ts +15 -30
  447. package/dest/kernel/public_call_request.d.ts.map +1 -1
  448. package/dest/kernel/public_call_request.js +16 -7
  449. package/dest/kernel/utils/index.d.ts +1 -2
  450. package/dest/kernel/utils/index.d.ts.map +1 -1
  451. package/dest/kernel/utils/index.js +0 -1
  452. package/dest/keys/derivation.d.ts +45 -6
  453. package/dest/keys/derivation.d.ts.map +1 -1
  454. package/dest/keys/derivation.js +55 -22
  455. package/dest/keys/public_key.d.ts +22 -3
  456. package/dest/keys/public_key.d.ts.map +1 -1
  457. package/dest/keys/public_key.js +20 -1
  458. package/dest/keys/public_keys.d.ts +55 -82
  459. package/dest/keys/public_keys.d.ts.map +1 -1
  460. package/dest/keys/public_keys.js +102 -74
  461. package/dest/kv-store/config.d.ts +14 -0
  462. package/dest/kv-store/config.d.ts.map +1 -0
  463. package/dest/kv-store/config.js +21 -0
  464. package/dest/kv-store/index.d.ts +2 -0
  465. package/dest/kv-store/index.d.ts.map +1 -0
  466. package/dest/kv-store/index.js +1 -0
  467. package/dest/l1-contracts/index.d.ts +2 -2
  468. package/dest/l1-contracts/index.d.ts.map +1 -1
  469. package/dest/l1-contracts/index.js +1 -1
  470. package/dest/logs/app_tagging_secret.d.ts +69 -0
  471. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  472. package/dest/logs/app_tagging_secret.js +116 -0
  473. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  474. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  475. package/dest/logs/app_tagging_secret_kind.js +17 -0
  476. package/dest/logs/contract_class_log.d.ts +16 -35
  477. package/dest/logs/contract_class_log.d.ts.map +1 -1
  478. package/dest/logs/contract_class_log.js +11 -13
  479. package/dest/logs/index.d.ts +8 -7
  480. package/dest/logs/index.d.ts.map +1 -1
  481. package/dest/logs/index.js +7 -6
  482. package/dest/logs/log_cursor.d.ts +51 -0
  483. package/dest/logs/log_cursor.d.ts.map +1 -0
  484. package/dest/logs/log_cursor.js +82 -0
  485. package/dest/logs/log_result.d.ts +54 -0
  486. package/dest/logs/log_result.d.ts.map +1 -0
  487. package/dest/logs/log_result.js +56 -0
  488. package/dest/logs/logs_query.d.ts +82 -0
  489. package/dest/logs/logs_query.d.ts.map +1 -0
  490. package/dest/logs/logs_query.js +50 -0
  491. package/dest/logs/message_context.d.ts +4 -16
  492. package/dest/logs/message_context.d.ts.map +1 -1
  493. package/dest/logs/message_context.js +1 -48
  494. package/dest/logs/pending_tagged_log.d.ts +6 -9
  495. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  496. package/dest/logs/pending_tagged_log.js +1 -31
  497. package/dest/logs/pre_tag.d.ts +11 -24
  498. package/dest/logs/pre_tag.d.ts.map +1 -1
  499. package/dest/logs/pre_tag.js +2 -2
  500. package/dest/logs/private_log.d.ts +7 -12
  501. package/dest/logs/private_log.d.ts.map +1 -1
  502. package/dest/logs/private_log.js +6 -3
  503. package/dest/logs/public_log.d.ts +4 -3
  504. package/dest/logs/public_log.d.ts.map +1 -1
  505. package/dest/logs/public_log.js +2 -1
  506. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  507. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  508. package/dest/logs/query_all_logs_by_tags.js +64 -0
  509. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  510. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  511. package/dest/logs/shared_secret_derivation.js +49 -10
  512. package/dest/logs/siloed_tag.d.ts +8 -7
  513. package/dest/logs/siloed_tag.d.ts.map +1 -1
  514. package/dest/logs/siloed_tag.js +13 -3
  515. package/dest/logs/tag.d.ts +5 -6
  516. package/dest/logs/tag.d.ts.map +1 -1
  517. package/dest/logs/tag.js +4 -0
  518. package/dest/logs/tagging_index_range.d.ts +22 -0
  519. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  520. package/dest/logs/tagging_index_range.js +8 -0
  521. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  522. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  523. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  524. package/dest/messaging/index.d.ts +2 -1
  525. package/dest/messaging/index.d.ts.map +1 -1
  526. package/dest/messaging/index.js +1 -0
  527. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  528. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  529. package/dest/messaging/l1_to_l2_message.js +38 -15
  530. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  531. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  532. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  533. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  534. package/dest/messaging/l2_to_l1_membership.js +130 -27
  535. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  536. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  537. package/dest/messaging/l2_to_l1_message.js +21 -12
  538. package/dest/noir/index.d.ts +7 -5
  539. package/dest/noir/index.d.ts.map +1 -1
  540. package/dest/note/note.d.ts +2 -2
  541. package/dest/note/note.d.ts.map +1 -1
  542. package/dest/note/note_dao.d.ts +1 -1
  543. package/dest/note/note_dao.d.ts.map +1 -1
  544. package/dest/note/note_dao.js +1 -4
  545. package/dest/p2p/attestation_utils.d.ts +1 -1
  546. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  547. package/dest/p2p/attestation_utils.js +8 -1
  548. package/dest/p2p/block_proposal.d.ts +32 -15
  549. package/dest/p2p/block_proposal.d.ts.map +1 -1
  550. package/dest/p2p/block_proposal.js +58 -40
  551. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  552. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  553. package/dest/p2p/checkpoint_attestation.js +33 -24
  554. package/dest/p2p/checkpoint_proposal.d.ts +37 -22
  555. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  556. package/dest/p2p/checkpoint_proposal.js +60 -62
  557. package/dest/p2p/consensus_payload.d.ts +27 -20
  558. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  559. package/dest/p2p/consensus_payload.js +38 -19
  560. package/dest/p2p/gossipable.d.ts +4 -4
  561. package/dest/p2p/gossipable.d.ts.map +1 -1
  562. package/dest/p2p/index.d.ts +1 -2
  563. package/dest/p2p/index.d.ts.map +1 -1
  564. package/dest/p2p/index.js +0 -1
  565. package/dest/p2p/peer_error.d.ts +3 -1
  566. package/dest/p2p/peer_error.d.ts.map +1 -1
  567. package/dest/p2p/peer_error.js +5 -0
  568. package/dest/p2p/signature_utils.d.ts +35 -17
  569. package/dest/p2p/signature_utils.d.ts.map +1 -1
  570. package/dest/p2p/signature_utils.js +125 -20
  571. package/dest/p2p/signed_txs.d.ts +15 -13
  572. package/dest/p2p/signed_txs.d.ts.map +1 -1
  573. package/dest/p2p/signed_txs.js +26 -24
  574. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  575. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  576. package/dest/parity/parity_base_private_inputs.js +7 -5
  577. package/dest/parity/parity_public_inputs.d.ts +8 -4
  578. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  579. package/dest/parity/parity_public_inputs.js +6 -3
  580. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  581. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  582. package/dest/proofs/chonk_proof.d.ts +57 -7
  583. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  584. package/dest/proofs/chonk_proof.js +112 -15
  585. package/dest/proofs/recursive_proof.d.ts +2 -2
  586. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  587. package/dest/rollup/avm_proof_data.d.ts +3 -3
  588. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  589. package/dest/rollup/block_headers_hash.d.ts +1 -1
  590. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  591. package/dest/rollup/block_headers_hash.js +8 -2
  592. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  593. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  594. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  595. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  596. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  597. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  598. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  599. package/dest/rollup/checkpoint_header.d.ts +8 -3
  600. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  601. package/dest/rollup/checkpoint_header.js +20 -10
  602. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  603. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  604. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  605. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  606. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  607. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  608. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  609. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  610. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  611. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  612. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  613. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  614. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  615. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  616. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  617. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  618. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  619. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  620. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  621. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  622. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  623. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  624. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  625. package/dest/schemas/schemas.d.ts +32 -78
  626. package/dest/schemas/schemas.d.ts.map +1 -1
  627. package/dest/schemas/schemas.js +2 -2
  628. package/dest/slashing/helpers.d.ts +2 -2
  629. package/dest/slashing/helpers.d.ts.map +1 -1
  630. package/dest/slashing/helpers.js +10 -7
  631. package/dest/slashing/index.d.ts +2 -3
  632. package/dest/slashing/index.d.ts.map +1 -1
  633. package/dest/slashing/index.js +1 -2
  634. package/dest/slashing/serialization.d.ts +2 -6
  635. package/dest/slashing/serialization.d.ts.map +1 -1
  636. package/dest/slashing/serialization.js +0 -60
  637. package/dest/slashing/types.d.ts +18 -112
  638. package/dest/slashing/types.d.ts.map +1 -1
  639. package/dest/slashing/types.js +16 -24
  640. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  641. package/dest/slashing/votes.d.ts.map +1 -0
  642. package/dest/slashing/{tally.js → votes.js} +30 -2
  643. package/dest/snapshots/types.d.ts +15 -78
  644. package/dest/snapshots/types.d.ts.map +1 -1
  645. package/dest/stats/stats.d.ts +2 -2
  646. package/dest/stats/stats.d.ts.map +1 -1
  647. package/dest/tests/factories.d.ts +25 -58
  648. package/dest/tests/factories.d.ts.map +1 -1
  649. package/dest/tests/factories.js +81 -116
  650. package/dest/tests/mocks.d.ts +11 -6
  651. package/dest/tests/mocks.d.ts.map +1 -1
  652. package/dest/tests/mocks.js +57 -63
  653. package/dest/timetable/budgets.d.ts +57 -0
  654. package/dest/timetable/budgets.d.ts.map +1 -0
  655. package/dest/timetable/budgets.js +56 -0
  656. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  657. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  658. package/dest/timetable/build_proposer_timetable.js +17 -0
  659. package/dest/timetable/consensus_timetable.d.ts +70 -0
  660. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  661. package/dest/timetable/consensus_timetable.js +89 -0
  662. package/dest/timetable/index.d.ts +5 -37
  663. package/dest/timetable/index.d.ts.map +1 -1
  664. package/dest/timetable/index.js +4 -39
  665. package/dest/timetable/proposer_timetable.d.ts +106 -0
  666. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  667. package/dest/timetable/proposer_timetable.js +132 -0
  668. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  669. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  670. package/dest/trees/append_only_tree_snapshot.js +6 -3
  671. package/dest/trees/nullifier_leaf.d.ts +19 -42
  672. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  673. package/dest/trees/nullifier_leaf.js +3 -0
  674. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  675. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  676. package/dest/trees/nullifier_membership_witness.js +0 -21
  677. package/dest/trees/public_data_leaf.d.ts +21 -53
  678. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  679. package/dest/trees/public_data_witness.d.ts +19 -71
  680. package/dest/trees/public_data_witness.d.ts.map +1 -1
  681. package/dest/trees/public_data_witness.js +0 -27
  682. package/dest/tx/block_header.d.ts +7 -4
  683. package/dest/tx/block_header.d.ts.map +1 -1
  684. package/dest/tx/block_header.js +11 -4
  685. package/dest/tx/call_context.d.ts +4 -14
  686. package/dest/tx/call_context.d.ts.map +1 -1
  687. package/dest/tx/capsule.d.ts +7 -3
  688. package/dest/tx/capsule.d.ts.map +1 -1
  689. package/dest/tx/capsule.js +9 -3
  690. package/dest/tx/execution_payload.d.ts +1 -1
  691. package/dest/tx/execution_payload.d.ts.map +1 -1
  692. package/dest/tx/execution_payload.js +1 -1
  693. package/dest/tx/fee_provider.d.ts +10 -0
  694. package/dest/tx/fee_provider.d.ts.map +1 -0
  695. package/dest/tx/fee_provider.js +1 -0
  696. package/dest/tx/function_data.d.ts +4 -10
  697. package/dest/tx/function_data.d.ts.map +1 -1
  698. package/dest/tx/global_variable_builder.d.ts +4 -15
  699. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  700. package/dest/tx/global_variables.d.ts +16 -49
  701. package/dest/tx/global_variables.d.ts.map +1 -1
  702. package/dest/tx/global_variables.js +10 -14
  703. package/dest/tx/hashed_values.d.ts +10 -3
  704. package/dest/tx/hashed_values.d.ts.map +1 -1
  705. package/dest/tx/hashed_values.js +15 -4
  706. package/dest/tx/in_tx.d.ts +5 -17
  707. package/dest/tx/in_tx.d.ts.map +1 -1
  708. package/dest/tx/index.d.ts +2 -2
  709. package/dest/tx/index.d.ts.map +1 -1
  710. package/dest/tx/index.js +1 -1
  711. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  712. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  713. package/dest/tx/indexed_tx_effect.js +9 -6
  714. package/dest/tx/offchain_effect.js +1 -1
  715. package/dest/tx/partial_state_reference.d.ts +22 -65
  716. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  717. package/dest/tx/partial_state_reference.js +6 -3
  718. package/dest/tx/private_execution_result.d.ts +11 -21
  719. package/dest/tx/private_execution_result.d.ts.map +1 -1
  720. package/dest/tx/private_execution_result.js +6 -6
  721. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  722. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  723. package/dest/tx/private_tx_constant_data.js +13 -4
  724. package/dest/tx/profiling.d.ts +67 -353
  725. package/dest/tx/profiling.d.ts.map +1 -1
  726. package/dest/tx/profiling.js +19 -7
  727. package/dest/tx/protocol_contracts.d.ts +5 -9
  728. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  729. package/dest/tx/proven_tx.d.ts +30 -74
  730. package/dest/tx/proven_tx.d.ts.map +1 -1
  731. package/dest/tx/proven_tx.js +6 -0
  732. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  733. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  734. package/dest/tx/public_call_request_with_calldata.js +6 -3
  735. package/dest/tx/simulated_tx.d.ts +77 -1149
  736. package/dest/tx/simulated_tx.d.ts.map +1 -1
  737. package/dest/tx/simulated_tx.js +23 -13
  738. package/dest/tx/state_reference.d.ts +30 -117
  739. package/dest/tx/state_reference.d.ts.map +1 -1
  740. package/dest/tx/state_reference.js +6 -4
  741. package/dest/tx/tree_snapshots.d.ts +27 -84
  742. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  743. package/dest/tx/tree_snapshots.js +6 -4
  744. package/dest/tx/tx.d.ts +34 -17
  745. package/dest/tx/tx.d.ts.map +1 -1
  746. package/dest/tx/tx.js +70 -30
  747. package/dest/tx/tx_constant_data.d.ts +4 -3
  748. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  749. package/dest/tx/tx_constant_data.js +6 -3
  750. package/dest/tx/tx_context.d.ts +32 -131
  751. package/dest/tx/tx_context.d.ts.map +1 -1
  752. package/dest/tx/tx_context.js +6 -6
  753. package/dest/tx/tx_hash.d.ts +6 -4
  754. package/dest/tx/tx_hash.d.ts.map +1 -1
  755. package/dest/tx/tx_hash.js +13 -5
  756. package/dest/tx/tx_receipt.d.ts +145 -59
  757. package/dest/tx/tx_receipt.d.ts.map +1 -1
  758. package/dest/tx/tx_receipt.js +144 -58
  759. package/dest/tx/validator/error_texts.d.ts +10 -2
  760. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  761. package/dest/tx/validator/error_texts.js +11 -1
  762. package/dest/tx/validator/tx_validator.d.ts +5 -27
  763. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  764. package/dest/tx/validator/tx_validator.js +0 -4
  765. package/dest/types/shared.d.ts +4 -12
  766. package/dest/types/shared.d.ts.map +1 -1
  767. package/dest/types/shared.js +6 -12
  768. package/dest/update-checker/dev_version.d.ts +3 -0
  769. package/dest/update-checker/dev_version.d.ts.map +1 -0
  770. package/dest/update-checker/dev_version.js +1 -0
  771. package/dest/update-checker/index.d.ts +2 -1
  772. package/dest/update-checker/index.d.ts.map +1 -1
  773. package/dest/update-checker/index.js +1 -0
  774. package/dest/update-checker/package_version.d.ts +6 -3
  775. package/dest/update-checker/package_version.d.ts.map +1 -1
  776. package/dest/update-checker/package_version.js +9 -7
  777. package/dest/validators/errors.d.ts +21 -1
  778. package/dest/validators/errors.d.ts.map +1 -1
  779. package/dest/validators/errors.js +19 -0
  780. package/dest/validators/schemas.d.ts +147 -614
  781. package/dest/validators/schemas.d.ts.map +1 -1
  782. package/dest/validators/schemas.js +6 -4
  783. package/dest/validators/types.d.ts +20 -3
  784. package/dest/validators/types.d.ts.map +1 -1
  785. package/dest/versioning/versioning.d.ts +4 -2
  786. package/dest/versioning/versioning.d.ts.map +1 -1
  787. package/dest/versioning/versioning.js +5 -2
  788. package/dest/vks/verification_key.d.ts +4 -139
  789. package/dest/vks/verification_key.d.ts.map +1 -1
  790. package/dest/vks/verification_key.js +5 -126
  791. package/dest/world-state/genesis_data.d.ts +21 -0
  792. package/dest/world-state/genesis_data.d.ts.map +1 -0
  793. package/dest/world-state/genesis_data.js +8 -0
  794. package/dest/world-state/index.d.ts +2 -1
  795. package/dest/world-state/index.d.ts.map +1 -1
  796. package/dest/world-state/index.js +1 -0
  797. package/dest/world-state/world_state_revision.d.ts +11 -39
  798. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  799. package/dest/world-state/world_state_revision.js +7 -21
  800. package/package.json +15 -13
  801. package/src/abi/abi.ts +110 -25
  802. package/src/abi/authorization_selector.ts +2 -8
  803. package/src/abi/buffer.ts +38 -5
  804. package/src/abi/contract_artifact.ts +51 -22
  805. package/src/abi/decoder.ts +53 -100
  806. package/src/abi/encoder.ts +83 -7
  807. package/src/abi/event_metadata_definition.ts +2 -0
  808. package/src/abi/event_selector.ts +2 -8
  809. package/src/abi/function_call.ts +19 -7
  810. package/src/abi/function_selector.ts +4 -13
  811. package/src/abi/function_signature_decoder.ts +77 -0
  812. package/src/abi/index.ts +1 -0
  813. package/src/abi/note_selector.ts +3 -12
  814. package/src/abi/selector.ts +1 -1
  815. package/src/abi/utils.ts +31 -4
  816. package/src/avm/avm.ts +10 -2
  817. package/src/avm/index.ts +0 -5
  818. package/src/avm/message_pack.ts +12 -3
  819. package/src/avm/revert_code.ts +19 -39
  820. package/src/aztec-address/index.ts +50 -17
  821. package/src/block/attestation_info.ts +16 -11
  822. package/src/block/block_data.ts +3 -4
  823. package/src/block/block_hash.ts +21 -14
  824. package/src/block/block_parameter.ts +72 -4
  825. package/src/block/index.ts +0 -1
  826. package/src/block/l2_block.ts +13 -1
  827. package/src/block/l2_block_info.ts +8 -6
  828. package/src/block/l2_block_source.ts +278 -143
  829. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  830. package/src/block/l2_block_stream/index.ts +1 -0
  831. package/src/block/l2_block_stream/interfaces.ts +101 -9
  832. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  833. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  834. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  835. package/src/block/proposal/attestations_and_signers.ts +85 -24
  836. package/src/block/test/l2_tips_store_test_suite.ts +276 -22
  837. package/src/block/validate_block_result.ts +48 -2
  838. package/src/checkpoint/checkpoint.ts +25 -6
  839. package/src/checkpoint/checkpoint_data.ts +44 -4
  840. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  841. package/src/checkpoint/digest.ts +28 -0
  842. package/src/checkpoint/index.ts +5 -0
  843. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  844. package/src/checkpoint/simulation_overrides.ts +171 -0
  845. package/src/checkpoint/validate.ts +240 -0
  846. package/src/config/chain-config.ts +13 -16
  847. package/src/config/index.ts +1 -0
  848. package/src/config/network-consensus-config.ts +291 -0
  849. package/src/config/node-rpc-config.ts +2 -1
  850. package/src/config/sequencer-config.ts +68 -9
  851. package/src/contract/artifact_hash.ts +15 -3
  852. package/src/contract/complete_address.ts +7 -3
  853. package/src/contract/contract_address.ts +11 -10
  854. package/src/contract/contract_class.ts +3 -2
  855. package/src/contract/contract_class_id.ts +2 -2
  856. package/src/contract/contract_instance.ts +73 -3
  857. package/src/contract/index.ts +0 -3
  858. package/src/contract/interfaces/contract_class.ts +2 -82
  859. package/src/contract/interfaces/contract_data_source.ts +2 -4
  860. package/src/contract/interfaces/contract_instance.ts +32 -10
  861. package/src/contract/interfaces/node-info.ts +11 -0
  862. package/src/contract/partial_address.ts +8 -2
  863. package/src/contract/private_function.ts +3 -1
  864. package/src/database-version/version_manager.ts +113 -6
  865. package/src/deserialization/index.ts +35 -2
  866. package/src/epoch-helpers/index.ts +27 -0
  867. package/src/file-store/factory.ts +20 -4
  868. package/src/file-store/http.ts +29 -10
  869. package/src/file-store/index.ts +2 -0
  870. package/src/file-store/memory.ts +94 -0
  871. package/src/gas/README.md +318 -0
  872. package/src/gas/fee_math.ts +120 -0
  873. package/src/gas/gas.ts +8 -3
  874. package/src/gas/gas_fees.ts +29 -10
  875. package/src/gas/gas_settings.ts +63 -15
  876. package/src/gas/index.ts +2 -0
  877. package/src/gas/tx_gas_limits.ts +123 -0
  878. package/src/ha-signing/config.ts +170 -0
  879. package/src/ha-signing/index.ts +29 -0
  880. package/src/ha-signing/local_config.ts +65 -0
  881. package/src/ha-signing/types.ts +126 -0
  882. package/src/hash/hash.ts +63 -10
  883. package/src/interfaces/allowed_element.ts +29 -9
  884. package/src/interfaces/api_limit.ts +6 -1
  885. package/src/interfaces/archiver.ts +96 -92
  886. package/src/interfaces/aztec-node-admin.ts +36 -21
  887. package/src/interfaces/aztec-node-debug.ts +92 -0
  888. package/src/interfaces/aztec-node.ts +406 -260
  889. package/src/interfaces/block-builder.ts +70 -15
  890. package/src/interfaces/block_response.ts +92 -0
  891. package/src/interfaces/chain_tips.ts +16 -0
  892. package/src/interfaces/checkpoint_parameter.ts +20 -0
  893. package/src/interfaces/checkpoint_response.ts +84 -0
  894. package/src/interfaces/client.ts +8 -1
  895. package/src/interfaces/configs.ts +91 -14
  896. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  897. package/src/interfaces/l1_publish_info.ts +40 -0
  898. package/src/interfaces/l2_logs_source.ts +13 -39
  899. package/src/interfaces/merkle_tree_operations.ts +19 -22
  900. package/src/interfaces/p2p-bootstrap.ts +2 -2
  901. package/src/interfaces/p2p.ts +59 -19
  902. package/src/interfaces/private_kernel_prover.ts +192 -13
  903. package/src/interfaces/prover-agent.ts +1 -1
  904. package/src/interfaces/prover-client.ts +11 -8
  905. package/src/interfaces/prover-node.ts +36 -21
  906. package/src/interfaces/proving-job-source.ts +4 -4
  907. package/src/interfaces/proving-job.ts +18 -6
  908. package/src/interfaces/public_storage_override.ts +26 -0
  909. package/src/interfaces/server.ts +5 -2
  910. package/src/interfaces/server_circuit_prover.ts +2 -2
  911. package/src/interfaces/slasher.ts +17 -10
  912. package/src/interfaces/tx_provider.ts +10 -0
  913. package/src/interfaces/validator.ts +90 -39
  914. package/src/interfaces/world_state.ts +19 -4
  915. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  916. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  917. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  918. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  919. package/src/kernel/hints/index.ts +0 -1
  920. package/src/kernel/hints/key_validation_request.ts +18 -16
  921. package/src/kernel/hints/read_request.ts +1 -1
  922. package/src/kernel/index.ts +9 -1
  923. package/src/kernel/log_hash.ts +36 -13
  924. package/src/kernel/note_hash.ts +1 -1
  925. package/src/kernel/nullifier.ts +1 -1
  926. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  927. package/src/kernel/private_context_inputs.ts +10 -3
  928. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  929. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  930. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  931. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  932. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  933. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  934. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  935. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  936. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  937. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  938. package/src/kernel/private_kernel_prover_output.ts +4 -0
  939. package/src/kernel/private_kernel_reset_dimensions.ts +16 -6
  940. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  941. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  942. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  943. package/src/kernel/private_log_data.ts +4 -1
  944. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  945. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  946. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  947. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  948. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  949. package/src/kernel/public_call_request.ts +22 -7
  950. package/src/kernel/utils/index.ts +0 -1
  951. package/src/keys/derivation.ts +79 -22
  952. package/src/keys/public_key.ts +26 -2
  953. package/src/keys/public_keys.ts +124 -110
  954. package/src/kv-store/config.ts +29 -0
  955. package/src/kv-store/index.ts +1 -0
  956. package/src/l1-contracts/index.ts +1 -1
  957. package/src/logs/app_tagging_secret.ts +160 -0
  958. package/src/logs/app_tagging_secret_kind.ts +21 -0
  959. package/src/logs/contract_class_log.ts +15 -14
  960. package/src/logs/index.ts +7 -6
  961. package/src/logs/log_cursor.ts +110 -0
  962. package/src/logs/log_result.ts +104 -0
  963. package/src/logs/logs_query.ts +138 -0
  964. package/src/logs/message_context.ts +6 -50
  965. package/src/logs/pending_tagged_log.ts +6 -35
  966. package/src/logs/pre_tag.ts +3 -6
  967. package/src/logs/private_log.ts +9 -3
  968. package/src/logs/public_log.ts +4 -2
  969. package/src/logs/query_all_logs_by_tags.ts +98 -0
  970. package/src/logs/shared_secret_derivation.ts +55 -11
  971. package/src/logs/siloed_tag.ts +20 -11
  972. package/src/logs/tag.ts +8 -8
  973. package/src/logs/tagging_index_range.ts +18 -0
  974. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  975. package/src/messaging/index.ts +1 -0
  976. package/src/messaging/l1_to_l2_message.ts +56 -15
  977. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  978. package/src/messaging/l2_to_l1_membership.ts +189 -35
  979. package/src/messaging/l2_to_l1_message.ts +29 -9
  980. package/src/noir/index.ts +6 -3
  981. package/src/note/note_dao.ts +1 -4
  982. package/src/p2p/attestation_utils.ts +8 -1
  983. package/src/p2p/block_proposal.ts +112 -37
  984. package/src/p2p/checkpoint_attestation.ts +38 -30
  985. package/src/p2p/checkpoint_proposal.ts +127 -86
  986. package/src/p2p/consensus_payload.ts +59 -28
  987. package/src/p2p/gossipable.ts +4 -4
  988. package/src/p2p/index.ts +0 -1
  989. package/src/p2p/peer_error.ts +7 -0
  990. package/src/p2p/signature_utils.ts +117 -23
  991. package/src/p2p/signed_txs.ts +46 -28
  992. package/src/parity/parity_base_private_inputs.ts +10 -4
  993. package/src/parity/parity_public_inputs.ts +9 -2
  994. package/src/proofs/chonk_proof.ts +132 -12
  995. package/src/rollup/avm_proof_data.ts +2 -2
  996. package/src/rollup/block_headers_hash.ts +11 -2
  997. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  998. package/src/rollup/checkpoint_header.ts +16 -2
  999. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  1000. package/src/schemas/schemas.ts +6 -1
  1001. package/src/slashing/helpers.ts +13 -9
  1002. package/src/slashing/index.ts +1 -2
  1003. package/src/slashing/serialization.ts +1 -81
  1004. package/src/slashing/types.ts +24 -49
  1005. package/src/slashing/{tally.ts → votes.ts} +34 -1
  1006. package/src/stats/stats.ts +10 -2
  1007. package/src/tests/factories.ts +111 -157
  1008. package/src/tests/mocks.ts +88 -76
  1009. package/src/timetable/README.md +609 -0
  1010. package/src/timetable/budgets.ts +87 -0
  1011. package/src/timetable/build_proposer_timetable.ts +42 -0
  1012. package/src/timetable/consensus_timetable.ts +126 -0
  1013. package/src/timetable/index.ts +4 -66
  1014. package/src/timetable/proposer_timetable.ts +190 -0
  1015. package/src/timetable/timetable-example.svg +108 -0
  1016. package/src/trees/append_only_tree_snapshot.ts +8 -3
  1017. package/src/trees/nullifier_leaf.ts +4 -0
  1018. package/src/trees/nullifier_membership_witness.ts +0 -21
  1019. package/src/trees/public_data_witness.ts +0 -31
  1020. package/src/tx/block_header.ts +16 -5
  1021. package/src/tx/capsule.ts +10 -2
  1022. package/src/tx/execution_payload.ts +2 -1
  1023. package/src/tx/fee_provider.ts +10 -0
  1024. package/src/tx/global_variable_builder.ts +3 -20
  1025. package/src/tx/global_variables.ts +12 -20
  1026. package/src/tx/hashed_values.ts +19 -9
  1027. package/src/tx/index.ts +1 -1
  1028. package/src/tx/indexed_tx_effect.ts +18 -6
  1029. package/src/tx/offchain_effect.ts +1 -1
  1030. package/src/tx/partial_state_reference.ts +8 -3
  1031. package/src/tx/private_execution_result.ts +5 -5
  1032. package/src/tx/private_tx_constant_data.ts +25 -2
  1033. package/src/tx/profiling.ts +17 -6
  1034. package/src/tx/proven_tx.ts +6 -0
  1035. package/src/tx/public_call_request_with_calldata.ts +8 -3
  1036. package/src/tx/simulated_tx.ts +39 -20
  1037. package/src/tx/state_reference.ts +9 -4
  1038. package/src/tx/tree_snapshots.ts +9 -4
  1039. package/src/tx/tx.ts +98 -37
  1040. package/src/tx/tx_constant_data.ts +8 -3
  1041. package/src/tx/tx_context.ts +8 -3
  1042. package/src/tx/tx_hash.ts +20 -5
  1043. package/src/tx/tx_receipt.ts +267 -82
  1044. package/src/tx/validator/error_texts.ts +14 -1
  1045. package/src/tx/validator/tx_validator.ts +1 -5
  1046. package/src/types/shared.ts +8 -13
  1047. package/src/update-checker/dev_version.ts +2 -0
  1048. package/src/update-checker/index.ts +1 -0
  1049. package/src/update-checker/package_version.ts +11 -11
  1050. package/src/validators/errors.ts +26 -0
  1051. package/src/validators/schemas.ts +6 -4
  1052. package/src/validators/types.ts +21 -2
  1053. package/src/versioning/versioning.ts +5 -2
  1054. package/src/vks/verification_key.ts +5 -184
  1055. package/src/world-state/genesis_data.ts +37 -0
  1056. package/src/world-state/index.ts +1 -0
  1057. package/src/world-state/world_state_revision.ts +9 -34
  1058. package/dest/abi/mocked_keys.d.ts +0 -2
  1059. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1060. package/dest/abi/mocked_keys.js +0 -1
  1061. package/dest/avm/contract_storage_read.d.ts +0 -58
  1062. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  1063. package/dest/avm/contract_storage_read.js +0 -65
  1064. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  1065. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  1066. package/dest/avm/contract_storage_update_request.js +0 -80
  1067. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  1068. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  1069. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  1070. package/dest/avm/public_data_update_request.d.ts +0 -62
  1071. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  1072. package/dest/avm/public_data_update_request.js +0 -67
  1073. package/dest/avm/public_inner_call_request.d.ts +0 -50
  1074. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  1075. package/dest/avm/public_inner_call_request.js +0 -74
  1076. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1077. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1078. package/dest/block/checkpointed_l2_block.js +0 -46
  1079. package/dest/contract/deployment_info.d.ts +0 -24
  1080. package/dest/contract/deployment_info.d.ts.map +0 -1
  1081. package/dest/contract/deployment_info.js +0 -3
  1082. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1083. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1084. package/dest/contract/private_function_membership_proof.js +0 -124
  1085. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1086. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1087. package/dest/contract/utility_function_membership_proof.js +0 -87
  1088. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1089. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1090. package/dest/interfaces/epoch-prover.js +0 -1
  1091. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1092. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1093. package/dest/interfaces/get_logs_response.js +0 -12
  1094. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1095. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1096. package/dest/interfaces/prover-coordination.js +0 -1
  1097. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1098. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1099. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1100. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1101. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1102. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1103. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1104. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1105. package/dest/kernel/utils/optional_number.js +0 -42
  1106. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1107. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1108. package/dest/l1-contracts/slash_factory.js +0 -158
  1109. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1110. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1111. package/dest/logs/extended_contract_class_log.js +0 -67
  1112. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1113. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1114. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  1115. package/dest/logs/extended_public_log.d.ts +0 -106
  1116. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1117. package/dest/logs/extended_public_log.js +0 -73
  1118. package/dest/logs/log_filter.d.ts +0 -22
  1119. package/dest/logs/log_filter.d.ts.map +0 -1
  1120. package/dest/logs/log_filter.js +0 -11
  1121. package/dest/logs/log_id.d.ts +0 -85
  1122. package/dest/logs/log_id.d.ts.map +0 -1
  1123. package/dest/logs/log_id.js +0 -94
  1124. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1125. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1126. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1127. package/dest/p2p/interface.d.ts +0 -5
  1128. package/dest/p2p/interface.d.ts.map +0 -1
  1129. package/dest/p2p/interface.js +0 -1
  1130. package/dest/slashing/empire.d.ts +0 -31
  1131. package/dest/slashing/empire.d.ts.map +0 -1
  1132. package/dest/slashing/empire.js +0 -87
  1133. package/dest/slashing/tally.d.ts.map +0 -1
  1134. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1135. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1136. package/dest/tx/validator/empty_validator.js +0 -7
  1137. package/src/abi/mocked_keys.ts +0 -2
  1138. package/src/avm/contract_storage_read.ts +0 -77
  1139. package/src/avm/contract_storage_update_request.ts +0 -93
  1140. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1141. package/src/avm/public_data_update_request.ts +0 -106
  1142. package/src/avm/public_inner_call_request.ts +0 -85
  1143. package/src/block/checkpointed_l2_block.ts +0 -70
  1144. package/src/contract/deployment_info.ts +0 -25
  1145. package/src/contract/private_function_membership_proof.ts +0 -167
  1146. package/src/contract/utility_function_membership_proof.ts +0 -118
  1147. package/src/interfaces/epoch-prover.ts +0 -72
  1148. package/src/interfaces/get_logs_response.ts +0 -35
  1149. package/src/interfaces/prover-coordination.ts +0 -17
  1150. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1151. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1152. package/src/kernel/utils/optional_number.ts +0 -50
  1153. package/src/l1-contracts/slash_factory.ts +0 -180
  1154. package/src/logs/extended_contract_class_log.ts +0 -87
  1155. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1156. package/src/logs/extended_public_log.ts +0 -94
  1157. package/src/logs/log_filter.ts +0 -31
  1158. package/src/logs/log_id.ts +0 -125
  1159. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1160. package/src/p2p/interface.ts +0 -4
  1161. package/src/slashing/empire.ts +0 -104
  1162. package/src/tx/validator/empty_validator.ts +0 -7
@@ -1,29 +1,45 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { EthAddress } from '@aztec/foundation/eth-address';
2
3
 
3
4
  import { AztecAddress } from '../aztec-address/index.js';
4
- import type { ABIParameter, ABIVariable, AbiType } from './abi.js';
5
- import { isAztecAddressStruct, parseSignedInt } from './utils.js';
5
+ import type { AbiType } from './abi.js';
6
+ import { FunctionSelector } from './function_selector.js';
7
+ import {
8
+ isAztecAddressStruct,
9
+ isEthAddressStruct,
10
+ isFunctionSelectorStruct,
11
+ isOptionStruct,
12
+ isWrappedFieldStruct,
13
+ parseSignedInt,
14
+ } from './utils.js';
6
15
 
7
16
  /**
8
17
  * The type of our decoded ABI.
9
18
  */
10
- export type AbiDecoded = bigint | boolean | string | AztecAddress | AbiDecoded[] | { [key: string]: AbiDecoded };
19
+ export type AbiDecoded =
20
+ | bigint
21
+ | boolean
22
+ | string
23
+ | AztecAddress
24
+ | EthAddress
25
+ | FunctionSelector
26
+ | Fr
27
+ | AbiDecoded[]
28
+ | { [key: string]: AbiDecoded }
29
+ | undefined;
11
30
 
12
31
  /**
13
32
  * Decodes values using a provided ABI.
14
33
  */
15
34
  class AbiDecoder {
16
- constructor(
17
- private types: AbiType[],
18
- private flattened: Fr[],
19
- ) {}
35
+ constructor(private flattened: Fr[]) {}
20
36
 
21
37
  /**
22
- * Decodes a single return value from field to the given type.
23
- * @param abiType - The type of the return value.
24
- * @returns The decoded return value.
38
+ * Decodes a single value from field to the given type.
39
+ * @param abiType - The type of the value.
40
+ * @returns The decoded value.
25
41
  */
26
- private decodeNext(abiType: AbiType): AbiDecoded {
42
+ public decodeNext(abiType: AbiType): AbiDecoded {
27
43
  switch (abiType.kind) {
28
44
  case 'field':
29
45
  return this.getNextField().toBigInt();
@@ -51,6 +67,20 @@ class AbiDecoder {
51
67
  if (isAztecAddressStruct(abiType)) {
52
68
  return new AztecAddress(this.getNextField().toBuffer());
53
69
  }
70
+ if (isEthAddressStruct(abiType)) {
71
+ return EthAddress.fromField(this.getNextField());
72
+ }
73
+ if (isFunctionSelectorStruct(abiType)) {
74
+ return FunctionSelector.fromField(this.getNextField());
75
+ }
76
+ if (isWrappedFieldStruct(abiType)) {
77
+ return this.getNextField();
78
+ }
79
+ if (isOptionStruct(abiType)) {
80
+ const isSome = this.decodeNext(abiType.fields[0].type);
81
+ const value = this.decodeNext(abiType.fields[1].type);
82
+ return isSome ? value : undefined;
83
+ }
54
84
 
55
85
  for (const field of abiType.fields) {
56
86
  struct[field.name] = this.decodeNext(field.type);
@@ -88,102 +118,25 @@ class AbiDecoder {
88
118
  }
89
119
  return field;
90
120
  }
91
-
92
- /**
93
- * Decodes all the values for the given ABI.
94
- * The decided value can be simple types, structs or arrays
95
- * @returns The decoded return values.
96
- */
97
- public decode(): AbiDecoded {
98
- if (this.types.length === 1) {
99
- return this.decodeNext(this.types[0]);
100
- }
101
- return this.types.map(type => this.decodeNext(type));
102
- }
103
121
  }
104
122
 
105
123
  /**
106
- * Decodes values in a flattened Field array using a provided ABI.
107
- * @param abi - The ABI to use as reference.
124
+ * Decodes the single value a function returns, or undefined if it returns nothing. Multiple return values are expressed
125
+ * as one `tuple` type, so they decode through here too.
126
+ * @param type - The type the function returns.
108
127
  * @param buffer - The flattened Field array to decode.
109
- * @returns
110
128
  */
111
- export function decodeFromAbi(typ: AbiType[], buffer: Fr[]) {
112
- return new AbiDecoder(typ, buffer.slice()).decode();
129
+ export function decodeFromAbi(type: AbiType | undefined, buffer: Fr[]): AbiDecoded {
130
+ return type === undefined ? undefined : new AbiDecoder(buffer.slice()).decodeNext(type);
113
131
  }
114
132
 
115
133
  /**
116
- * Decodes the signature of a function from the name and parameters.
117
- */
118
- export class FunctionSignatureDecoder {
119
- private separator: string;
120
- constructor(
121
- private name: string,
122
- private parameters: ABIParameter[],
123
- private includeNames = false,
124
- ) {
125
- this.separator = includeNames ? ', ' : ',';
126
- }
127
-
128
- /**
129
- * Decodes a single function parameter type for the function signature.
130
- * @param param - The parameter type to decode.
131
- * @returns A string representing the parameter type.
132
- */
133
- private getParameterType(param: AbiType): string {
134
- switch (param.kind) {
135
- case 'field':
136
- return 'Field';
137
- case 'integer':
138
- return param.sign === 'signed' ? `i${param.width}` : `u${param.width}`;
139
- case 'boolean':
140
- return 'bool';
141
- case 'array':
142
- return `[${this.getParameterType(param.type)};${param.length}]`;
143
- case 'string':
144
- return `str<${param.length}>`;
145
- case 'struct':
146
- return `(${param.fields.map(field => `${this.decodeParameter(field)}`).join(this.separator)})`;
147
- default:
148
- throw new Error(`Unsupported type: ${param.kind}`);
149
- }
150
- }
151
-
152
- /**
153
- * Decodes a single function parameter for the function signature.
154
- * @param param - The parameter to decode.
155
- * @returns A string representing the parameter type and optionally its name.
156
- */
157
- private decodeParameter(param: ABIVariable): string {
158
- const type = this.getParameterType(param.type);
159
- return this.includeNames ? `${param.name}: ${type}` : type;
160
- }
161
-
162
- /**
163
- * Decodes all the parameters and build the function signature
164
- * @returns The function signature.
165
- */
166
- public decode(): string {
167
- return `${this.name}(${this.parameters.map(param => this.decodeParameter(param)).join(this.separator)})`;
168
- }
169
- }
170
-
171
- /**
172
- * Decodes a function signature from the name and parameters.
173
- * @param name - The name of the function.
174
- * @param parameters - The parameters of the function.
175
- * @returns - The function signature.
176
- */
177
- export function decodeFunctionSignature(name: string, parameters: ABIParameter[]) {
178
- return new FunctionSignatureDecoder(name, parameters).decode();
179
- }
180
-
181
- /**
182
- * Decodes a function signature from the name and parameters including parameter names.
183
- * @param name - The name of the function.
184
- * @param parameters - The parameters of the function.
185
- * @returns - The user-friendly function signature.
134
+ * Decodes one value per given type, consumed from the buffer in order. Always returns one decoded value per type, so
135
+ * callers can index the result positionally. A function's arguments are encoded this way.
136
+ * @param types - The type of each value, in order.
137
+ * @param buffer - The flattened Field array to decode.
186
138
  */
187
- export function decodeFunctionSignatureWithParameterNames(name: string, parameters: ABIParameter[]) {
188
- return new FunctionSignatureDecoder(name, parameters, true).decode();
139
+ export function decodeEachFromAbi(types: AbiType[], buffer: Fr[]): AbiDecoded[] {
140
+ const decoder = new AbiDecoder(buffer.slice());
141
+ return types.map(type => decoder.decodeNext(type));
189
142
  }
@@ -1,7 +1,13 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
 
3
3
  import type { AbiType, FunctionAbi } from './abi.js';
4
- import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isWrappedFieldStruct } from './utils.js';
4
+ import {
5
+ isAddressStruct,
6
+ isBoundedVecStruct,
7
+ isFunctionSelectorStruct,
8
+ isOptionStruct,
9
+ isWrappedFieldStruct,
10
+ } from './utils.js';
5
11
 
6
12
  /**
7
13
  * Encodes arguments for a function call.
@@ -43,6 +49,32 @@ class ArgumentEncoder {
43
49
  * @param name - Name.
44
50
  */
45
51
  private encodeArgument(abiType: AbiType, arg: any, name?: string) {
52
+ if (isOptionStruct(abiType)) {
53
+ const optionType = abiType as Extract<AbiType, { kind: 'struct' }>;
54
+ const [isSomeField, valueField] = optionType.fields;
55
+
56
+ if (arg === undefined || arg === null) {
57
+ this.encodeArgument(isSomeField.type, false, `${name}._is_some`);
58
+ this.#encodeDefaultValue(valueField.type);
59
+ return;
60
+ }
61
+
62
+ if (typeof arg === 'object' && '_is_some' in arg) {
63
+ this.encodeArgument(isSomeField.type, arg._is_some, `${name}._is_some`);
64
+
65
+ if (arg._is_some) {
66
+ this.encodeArgument(valueField.type, arg._value, `${name}._value`);
67
+ } else {
68
+ this.#encodeDefaultValue(valueField.type);
69
+ }
70
+ return;
71
+ }
72
+
73
+ this.encodeArgument(isSomeField.type, true, `${name}._is_some`);
74
+ this.encodeArgument(valueField.type, arg, `${name}._value`);
75
+ return;
76
+ }
77
+
46
78
  if (arg === undefined || arg == null) {
47
79
  throw new Error(`Undefined argument ${name ?? 'unnamed'} of type ${abiType.kind}`);
48
80
  }
@@ -74,13 +106,28 @@ class ArgumentEncoder {
74
106
  this.flattened.push(new Fr(arg ? 1n : 0n));
75
107
  break;
76
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
+ }
77
117
  for (let i = 0; i < abiType.length; i += 1) {
78
118
  this.encodeArgument(abiType.type, arg[i], `${name}[${i}]`);
79
119
  }
80
120
  break;
81
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
+ }
82
130
  for (let i = 0; i < abiType.length; i += 1) {
83
- // If the string is shorter than the defined length, pad it with 0s.
84
131
  const toInsert = i < arg.length ? BigInt((arg as string).charCodeAt(i)) : 0n;
85
132
  this.flattened.push(new Fr(toInsert));
86
133
  }
@@ -125,12 +172,28 @@ class ArgumentEncoder {
125
172
  }
126
173
  case 'integer': {
127
174
  const value = BigInt(arg);
128
- if (abiType.sign === 'signed' && value < 0n) {
129
- // Convert negative values to two's complement representation
130
- const twosComplement = value + (1n << BigInt(abiType.width));
131
- this.flattened.push(new Fr(twosComplement));
132
- } 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
+ }
133
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
+ }
134
197
  }
135
198
  break;
136
199
  }
@@ -144,6 +207,11 @@ class ArgumentEncoder {
144
207
  * @returns The encoded arguments.
145
208
  */
146
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
+ }
147
215
  for (let i = 0; i < this.abi.parameters.length; i += 1) {
148
216
  const parameterAbi = this.abi.parameters[i];
149
217
  this.encodeArgument(parameterAbi.type, this.args[i], parameterAbi.name);
@@ -227,6 +295,14 @@ class ArgumentEncoder {
227
295
  this.encodeArgument(lenField.type, arg.length, 'len');
228
296
  }
229
297
  }
298
+
299
+ /**
300
+ * Appends the flattened zero value for an ABI type.
301
+ * Option::None still serializes the wrapped value, so we need to zero-fill its footprint.
302
+ */
303
+ #encodeDefaultValue(abiType: AbiType) {
304
+ this.flattened.push(...new Array(ArgumentEncoder.typeSize(abiType)).fill(Fr.ZERO));
305
+ }
230
306
  }
231
307
 
232
308
  /**
@@ -1,8 +1,10 @@
1
1
  import type { AbiType } from './abi.js';
2
2
  import type { EventSelector } from './event_selector.js';
3
3
 
4
+ /** Metadata for a contract event, used to decode emitted event logs back into structured data. */
4
5
  export type EventMetadataDefinition = {
5
6
  eventSelector: EventSelector;
6
7
  abiType: AbiType;
8
+ /** Names of the event's struct members (not serialized Noir Field elements). */
7
9
  fieldNames: string[];
8
10
  };
@@ -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.
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
5
 
6
6
  import { AztecAddress } from '../aztec-address/index.js';
7
7
  import { schemas } from '../schemas/index.js';
8
- import { type AbiType, AbiTypeSchema, FunctionType } from './abi.js';
8
+ import { type AbiType, AbiTypeSchema, FunctionType, getFunctionReturnType } from './abi.js';
9
9
  import { FunctionSelector } from './function_selector.js';
10
10
 
11
11
  /** A request to call a function on a contract. */
@@ -25,8 +25,8 @@ export class FunctionCall {
25
25
  public isStatic: boolean,
26
26
  /** The encoded args */
27
27
  public args: Fr[],
28
- /** The return type for decoding */
29
- public returnTypes: AbiType[],
28
+ /** The type the call returns, for decoding, or undefined if it returns nothing */
29
+ public returnType?: AbiType,
30
30
  ) {}
31
31
 
32
32
  static getFields(fields: FieldsOf<FunctionCall>) {
@@ -38,7 +38,7 @@ export class FunctionCall {
38
38
  fields.hideMsgSender,
39
39
  fields.isStatic,
40
40
  fields.args,
41
- fields.returnTypes,
41
+ fields.returnType,
42
42
  ] as const;
43
43
  }
44
44
 
@@ -56,9 +56,22 @@ export class FunctionCall {
56
56
  isStatic: z.boolean(),
57
57
  hideMsgSender: z.boolean(),
58
58
  args: z.array(schemas.Fr),
59
- returnTypes: z.array(AbiTypeSchema),
59
+ returnType: AbiTypeSchema.optional(),
60
+ // Old consumers send `returnTypes`, not `returnType`. So we accept both for now, until we can safely remove
61
+ // the old version.
62
+ returnTypes: z.array(AbiTypeSchema).optional(),
60
63
  })
61
- .transform(FunctionCall.from);
64
+ .transform(({ returnType, returnTypes, ...fields }) =>
65
+ FunctionCall.from({ ...fields, returnType: getFunctionReturnType({ returnType, returnTypes }) }),
66
+ );
67
+ }
68
+
69
+ /**
70
+ * Serializes the deprecated `returnTypes` alongside `returnType`, so that peers that still require the old field can
71
+ * parse calls sent by this version.
72
+ */
73
+ public toJSON() {
74
+ return { ...this, returnTypes: this.returnType ? [this.returnType] : [] };
62
75
  }
63
76
 
64
77
  public isPublicStatic(): boolean {
@@ -78,7 +91,6 @@ export class FunctionCall {
78
91
  hideMsgSender: false,
79
92
  isStatic: false,
80
93
  args: [],
81
- returnTypes: [],
82
94
  });
83
95
  }
84
96
  }
@@ -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
- import { decodeFunctionSignature } from './decoder.js';
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);
@@ -0,0 +1,77 @@
1
+ import type { ABIParameter, ABIVariable, AbiType } from './abi.js';
2
+
3
+ /**
4
+ * Decodes the signature of a function from the name and parameters.
5
+ */
6
+ export class FunctionSignatureDecoder {
7
+ private separator: string;
8
+ constructor(
9
+ private name: string,
10
+ private parameters: ABIParameter[],
11
+ private includeNames = false,
12
+ ) {
13
+ this.separator = includeNames ? ', ' : ',';
14
+ }
15
+
16
+ /**
17
+ * Decodes a single function parameter type for the function signature.
18
+ * @param param - The parameter type to decode.
19
+ * @returns A string representing the parameter type.
20
+ */
21
+ private getParameterType(param: AbiType): string {
22
+ switch (param.kind) {
23
+ case 'field':
24
+ return 'Field';
25
+ case 'integer':
26
+ return param.sign === 'signed' ? `i${param.width}` : `u${param.width}`;
27
+ case 'boolean':
28
+ return 'bool';
29
+ case 'array':
30
+ return `[${this.getParameterType(param.type)};${param.length}]`;
31
+ case 'string':
32
+ return `str<${param.length}>`;
33
+ case 'struct':
34
+ return `(${param.fields.map(field => `${this.decodeParameter(field)}`).join(this.separator)})`;
35
+ default:
36
+ throw new Error(`Unsupported type: ${param.kind}`);
37
+ }
38
+ }
39
+
40
+ /**
41
+ * Decodes a single function parameter for the function signature.
42
+ * @param param - The parameter to decode.
43
+ * @returns A string representing the parameter type and optionally its name.
44
+ */
45
+ private decodeParameter(param: ABIVariable): string {
46
+ const type = this.getParameterType(param.type);
47
+ return this.includeNames ? `${param.name}: ${type}` : type;
48
+ }
49
+
50
+ /**
51
+ * Decodes all the parameters and build the function signature
52
+ * @returns The function signature.
53
+ */
54
+ public decode(): string {
55
+ return `${this.name}(${this.parameters.map(param => this.decodeParameter(param)).join(this.separator)})`;
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Decodes a function signature from the name and parameters.
61
+ * @param name - The name of the function.
62
+ * @param parameters - The parameters of the function.
63
+ * @returns - The function signature.
64
+ */
65
+ export function decodeFunctionSignature(name: string, parameters: ABIParameter[]) {
66
+ return new FunctionSignatureDecoder(name, parameters).decode();
67
+ }
68
+
69
+ /**
70
+ * Decodes a function signature from the name and parameters including parameter names.
71
+ * @param name - The name of the function.
72
+ * @param parameters - The parameters of the function.
73
+ * @returns - The user-friendly function signature.
74
+ */
75
+ export function decodeFunctionSignatureWithParameterNames(name: string, parameters: ABIParameter[]) {
76
+ return new FunctionSignatureDecoder(name, parameters, true).decode();
77
+ }
package/src/abi/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './abi.js';
2
2
  export * from './buffer.js';
3
3
  export * from './decoder.js';
4
+ export * from './function_signature_decoder.js';
4
5
  export * from './encoder.js';
5
6
  export * from './authorization_selector.js';
6
7
  export * from './event_metadata_definition.js';
@@ -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
 
@@ -81,6 +83,31 @@ export function isBoundedVecStruct(abiType: AbiType) {
81
83
  );
82
84
  }
83
85
 
86
+ /**
87
+ * Returns whether the ABI type is Noir's std::option::Option lowered to a struct.
88
+ * @param abiType - Type to check.
89
+ * @returns A boolean indicating whether the ABI type is an Option struct.
90
+ */
91
+ export function isOptionStruct(abiType: AbiType) {
92
+ return (
93
+ abiType.kind === 'struct' &&
94
+ abiType.path === 'std::option::Option' &&
95
+ abiType.fields.length === 2 &&
96
+ abiType.fields[0].name === '_is_some' &&
97
+ abiType.fields[1].name === '_value'
98
+ );
99
+ }
100
+
101
+ /**
102
+ * Returns whether `null` or `undefined` can be mapped to a valid ABI value for this type.
103
+ *
104
+ * @param abiType - Type to check.
105
+ * @returns A boolean indicating whether nullish values are valid shorthand for this ABI type.
106
+ */
107
+ export function canBeMappedFromNullOrUndefined(abiType: AbiType) {
108
+ return isOptionStruct(abiType);
109
+ }
110
+
84
111
  /**
85
112
  * Returns a bigint by parsing a serialized 2's complement signed int.
86
113
  * @param b - The signed int as a buffer