@aztec/stdlib 0.0.1-commit.3fd054f6 → 0.0.1-commit.431c48d

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