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

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 (961) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +19 -5
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +38 -5
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +31 -7
  12. package/dest/abi/decoder.d.ts +5 -44
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +12 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +32 -6
  18. package/dest/abi/event_selector.d.ts +4 -7
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +7 -25
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_selector.d.ts +3 -6
  23. package/dest/abi/function_selector.d.ts.map +1 -1
  24. package/dest/abi/function_selector.js +2 -4
  25. package/dest/abi/function_signature_decoder.d.ts +43 -0
  26. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  27. package/dest/abi/function_signature_decoder.js +66 -0
  28. package/dest/abi/index.d.ts +2 -1
  29. package/dest/abi/index.d.ts.map +1 -1
  30. package/dest/abi/index.js +1 -0
  31. package/dest/abi/note_selector.d.ts +4 -7
  32. package/dest/abi/note_selector.d.ts.map +1 -1
  33. package/dest/abi/note_selector.js +1 -3
  34. package/dest/abi/selector.d.ts +2 -2
  35. package/dest/abi/selector.d.ts.map +1 -1
  36. package/dest/abi/selector.js +1 -1
  37. package/dest/abi/utils.d.ts +1 -1
  38. package/dest/abi/utils.d.ts.map +1 -1
  39. package/dest/abi/utils.js +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -2
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/avm/avm.d.ts +1756 -10463
  43. package/dest/avm/avm.d.ts.map +1 -1
  44. package/dest/avm/avm.js +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 +7 -5
  63. package/dest/block/block_data.d.ts +13 -38
  64. package/dest/block/block_data.d.ts.map +1 -1
  65. package/dest/block/block_data.js +2 -2
  66. package/dest/block/block_hash.d.ts +11 -10
  67. package/dest/block/block_hash.d.ts.map +1 -1
  68. package/dest/block/block_hash.js +10 -9
  69. package/dest/block/block_parameter.d.ts +37 -4
  70. package/dest/block/block_parameter.d.ts.map +1 -1
  71. package/dest/block/block_parameter.js +53 -2
  72. package/dest/block/in_block.d.ts +5 -24
  73. package/dest/block/in_block.d.ts.map +1 -1
  74. package/dest/block/index.d.ts +1 -2
  75. package/dest/block/index.d.ts.map +1 -1
  76. package/dest/block/index.js +0 -1
  77. package/dest/block/l2_block.d.ts +13 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block_info.d.ts +10 -29
  80. package/dest/block/l2_block_info.d.ts.map +1 -1
  81. package/dest/block/l2_block_info.js +6 -5
  82. package/dest/block/l2_block_source.d.ts +201 -356
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +66 -1
  85. package/dest/block/l2_block_stream/interfaces.d.ts +69 -10
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/l2_block_stream.d.ts +29 -7
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  89. package/dest/block/l2_block_stream/l2_block_stream.js +184 -135
  90. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  93. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  96. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  97. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  98. package/dest/block/proposal/attestations_and_signers.js +26 -18
  99. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  100. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  101. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.js +296 -36
  104. package/dest/checkpoint/checkpoint.d.ts +30 -96
  105. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  106. package/dest/checkpoint/checkpoint.js +11 -3
  107. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  108. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  109. package/dest/checkpoint/checkpoint_data.js +12 -0
  110. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  111. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  112. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  113. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  114. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  115. package/dest/checkpoint/digest.d.ts +18 -0
  116. package/dest/checkpoint/digest.d.ts.map +1 -0
  117. package/dest/checkpoint/digest.js +12 -0
  118. package/dest/checkpoint/index.d.ts +5 -1
  119. package/dest/checkpoint/index.d.ts.map +1 -1
  120. package/dest/checkpoint/index.js +4 -0
  121. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  122. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  123. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  124. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  125. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  126. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  127. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  128. package/dest/checkpoint/simulation_overrides.js +98 -0
  129. package/dest/checkpoint/validate.d.ts +11 -3
  130. package/dest/checkpoint/validate.d.ts.map +1 -1
  131. package/dest/checkpoint/validate.js +9 -6
  132. package/dest/config/chain-config.d.ts +4 -9
  133. package/dest/config/chain-config.d.ts.map +1 -1
  134. package/dest/config/chain-config.js +13 -12
  135. package/dest/config/index.d.ts +2 -2
  136. package/dest/config/index.d.ts.map +1 -1
  137. package/dest/config/index.js +1 -1
  138. package/dest/config/network-consensus-config.d.ts +72 -0
  139. package/dest/config/network-consensus-config.d.ts.map +1 -0
  140. package/dest/config/network-consensus-config.js +231 -0
  141. package/dest/config/sequencer-config.d.ts +7 -3
  142. package/dest/config/sequencer-config.d.ts.map +1 -1
  143. package/dest/config/sequencer-config.js +38 -5
  144. package/dest/contract/complete_address.d.ts +3 -2
  145. package/dest/contract/complete_address.d.ts.map +1 -1
  146. package/dest/contract/complete_address.js +6 -2
  147. package/dest/contract/contract_address.d.ts +5 -5
  148. package/dest/contract/contract_address.d.ts.map +1 -1
  149. package/dest/contract/contract_address.js +5 -4
  150. package/dest/contract/contract_deployment_data.d.ts +15 -61
  151. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  152. package/dest/contract/contract_instance.d.ts +4 -2
  153. package/dest/contract/contract_instance.d.ts.map +1 -1
  154. package/dest/contract/contract_instance.js +10 -3
  155. package/dest/contract/index.d.ts +1 -3
  156. package/dest/contract/index.d.ts.map +1 -1
  157. package/dest/contract/index.js +0 -2
  158. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  159. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  160. package/dest/contract/interfaces/contract_class.js +1 -28
  161. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  162. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  163. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  164. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  165. package/dest/contract/interfaces/contract_instance.js +4 -2
  166. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  167. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  168. package/dest/contract/interfaces/node-info.d.ts +11 -1
  169. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  170. package/dest/contract/interfaces/node-info.js +7 -1
  171. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  172. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  173. package/dest/contract/private_function.d.ts +1 -1
  174. package/dest/contract/private_function.d.ts.map +1 -1
  175. package/dest/contract/private_function.js +2 -4
  176. package/dest/database-version/database_version.d.ts +5 -11
  177. package/dest/database-version/database_version.d.ts.map +1 -1
  178. package/dest/database-version/version_manager.d.ts +6 -2
  179. package/dest/database-version/version_manager.d.ts.map +1 -1
  180. package/dest/database-version/version_manager.js +12 -1
  181. package/dest/deserialization/index.d.ts +35 -3
  182. package/dest/deserialization/index.d.ts.map +1 -1
  183. package/dest/deserialization/index.js +32 -1
  184. package/dest/epoch-helpers/index.d.ts +10 -22
  185. package/dest/epoch-helpers/index.d.ts.map +1 -1
  186. package/dest/epoch-helpers/index.js +12 -0
  187. package/dest/file-store/factory.d.ts +4 -3
  188. package/dest/file-store/factory.d.ts.map +1 -1
  189. package/dest/file-store/factory.js +9 -2
  190. package/dest/file-store/http.d.ts +9 -2
  191. package/dest/file-store/http.d.ts.map +1 -1
  192. package/dest/file-store/http.js +20 -9
  193. package/dest/file-store/index.d.ts +3 -1
  194. package/dest/file-store/index.d.ts.map +1 -1
  195. package/dest/file-store/index.js +1 -0
  196. package/dest/file-store/memory.d.ts +24 -0
  197. package/dest/file-store/memory.d.ts.map +1 -0
  198. package/dest/file-store/memory.js +80 -0
  199. package/dest/gas/fee_math.d.ts +49 -0
  200. package/dest/gas/fee_math.d.ts.map +1 -0
  201. package/dest/gas/fee_math.js +80 -0
  202. package/dest/gas/gas.d.ts +9 -14
  203. package/dest/gas/gas.d.ts.map +1 -1
  204. package/dest/gas/gas.js +6 -3
  205. package/dest/gas/gas_fees.d.ts +13 -14
  206. package/dest/gas/gas_fees.d.ts.map +1 -1
  207. package/dest/gas/gas_fees.js +17 -4
  208. package/dest/gas/gas_settings.d.ts +60 -86
  209. package/dest/gas/gas_settings.d.ts.map +1 -1
  210. package/dest/gas/gas_settings.js +49 -9
  211. package/dest/gas/index.d.ts +3 -1
  212. package/dest/gas/index.d.ts.map +1 -1
  213. package/dest/gas/index.js +2 -0
  214. package/dest/gas/tx_gas_limits.d.ts +72 -0
  215. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  216. package/dest/gas/tx_gas_limits.js +85 -0
  217. package/dest/ha-signing/config.d.ts +11 -75
  218. package/dest/ha-signing/config.d.ts.map +1 -1
  219. package/dest/ha-signing/config.js +9 -18
  220. package/dest/ha-signing/index.d.ts +2 -2
  221. package/dest/ha-signing/index.d.ts.map +1 -1
  222. package/dest/ha-signing/index.js +1 -1
  223. package/dest/ha-signing/local_config.d.ts +3 -34
  224. package/dest/ha-signing/local_config.d.ts.map +1 -1
  225. package/dest/ha-signing/local_config.js +2 -2
  226. package/dest/ha-signing/types.d.ts +37 -32
  227. package/dest/ha-signing/types.d.ts.map +1 -1
  228. package/dest/ha-signing/types.js +13 -6
  229. package/dest/hash/hash.d.ts +19 -1
  230. package/dest/hash/hash.d.ts.map +1 -1
  231. package/dest/hash/hash.js +39 -2
  232. package/dest/interfaces/allowed_element.d.ts +4 -28
  233. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  234. package/dest/interfaces/api_limit.d.ts +1 -1
  235. package/dest/interfaces/api_limit.js +1 -1
  236. package/dest/interfaces/archiver.d.ts +20 -32
  237. package/dest/interfaces/archiver.d.ts.map +1 -1
  238. package/dest/interfaces/archiver.js +215 -70
  239. package/dest/interfaces/aztec-node-admin.d.ts +71 -305
  240. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  241. package/dest/interfaces/aztec-node-admin.js +60 -17
  242. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  243. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  244. package/dest/interfaces/aztec-node-debug.js +49 -0
  245. package/dest/interfaces/aztec-node.d.ts +160 -116
  246. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  247. package/dest/interfaces/aztec-node.js +350 -74
  248. package/dest/interfaces/block-builder.d.ts +5 -1
  249. package/dest/interfaces/block-builder.d.ts.map +1 -1
  250. package/dest/interfaces/block_response.d.ts +90 -0
  251. package/dest/interfaces/block_response.d.ts.map +1 -0
  252. package/dest/interfaces/block_response.js +30 -0
  253. package/dest/interfaces/chain_tips.d.ts +11 -0
  254. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  255. package/dest/interfaces/chain_tips.js +6 -0
  256. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  257. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  258. package/dest/interfaces/checkpoint_parameter.js +18 -0
  259. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  260. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  261. package/dest/interfaces/checkpoint_response.js +26 -0
  262. package/dest/interfaces/client.d.ts +9 -2
  263. package/dest/interfaces/client.d.ts.map +1 -1
  264. package/dest/interfaces/client.js +7 -1
  265. package/dest/interfaces/configs.d.ts +63 -134
  266. package/dest/interfaces/configs.d.ts.map +1 -1
  267. package/dest/interfaces/configs.js +13 -2
  268. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  269. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  270. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  271. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  272. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  273. package/dest/interfaces/l1_publish_info.js +26 -0
  274. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  275. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  276. package/dest/interfaces/l2_logs_source.js +5 -0
  277. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  278. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  279. package/dest/interfaces/p2p-bootstrap.js +8 -2
  280. package/dest/interfaces/p2p.d.ts +46 -7
  281. package/dest/interfaces/p2p.d.ts.map +1 -1
  282. package/dest/interfaces/p2p.js +41 -6
  283. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  284. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  285. package/dest/interfaces/prover-agent.d.ts +5 -23
  286. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  287. package/dest/interfaces/prover-agent.js +4 -1
  288. package/dest/interfaces/prover-client.d.ts +7 -29
  289. package/dest/interfaces/prover-client.d.ts.map +1 -1
  290. package/dest/interfaces/prover-client.js +0 -3
  291. package/dest/interfaces/prover-node.d.ts +12 -8
  292. package/dest/interfaces/prover-node.d.ts.map +1 -1
  293. package/dest/interfaces/prover-node.js +37 -16
  294. package/dest/interfaces/proving-job-source.js +24 -4
  295. package/dest/interfaces/proving-job.d.ts +763 -5814
  296. package/dest/interfaces/proving-job.d.ts.map +1 -1
  297. package/dest/interfaces/proving-job.js +1 -1
  298. package/dest/interfaces/public_storage_override.d.ts +22 -0
  299. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  300. package/dest/interfaces/public_storage_override.js +7 -0
  301. package/dest/interfaces/server.d.ts +6 -2
  302. package/dest/interfaces/server.d.ts.map +1 -1
  303. package/dest/interfaces/server.js +5 -1
  304. package/dest/interfaces/slasher.d.ts +25 -65
  305. package/dest/interfaces/slasher.d.ts.map +1 -1
  306. package/dest/interfaces/slasher.js +8 -4
  307. package/dest/interfaces/tx_provider.d.ts +6 -1
  308. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  309. package/dest/interfaces/validator.d.ts +55 -248
  310. package/dest/interfaces/validator.d.ts.map +1 -1
  311. package/dest/interfaces/validator.js +8 -2
  312. package/dest/interfaces/world_state.d.ts +2 -2
  313. package/dest/interfaces/world_state.d.ts.map +1 -1
  314. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  315. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  316. package/dest/kernel/hints/key_validation_request.js +20 -18
  317. package/dest/kernel/hints/read_request.js +1 -1
  318. package/dest/kernel/index.d.ts +5 -1
  319. package/dest/kernel/index.d.ts.map +1 -1
  320. package/dest/kernel/index.js +4 -0
  321. package/dest/kernel/log_hash.d.ts +6 -2
  322. package/dest/kernel/log_hash.d.ts.map +1 -1
  323. package/dest/kernel/log_hash.js +23 -11
  324. package/dest/kernel/note_hash.js +1 -1
  325. package/dest/kernel/nullifier.js +1 -1
  326. package/dest/kernel/private_circuit_public_inputs.d.ts +2 -2
  327. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  328. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +2 -2
  329. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  330. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  331. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  332. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  333. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  334. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  335. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  336. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  337. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  338. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  339. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  340. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  341. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  342. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  343. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  344. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  345. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  347. package/dest/kernel/private_log_data.d.ts +1 -1
  348. package/dest/kernel/private_log_data.d.ts.map +1 -1
  349. package/dest/kernel/private_log_data.js +1 -1
  350. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  351. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  352. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  353. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  354. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  355. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  356. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  357. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  358. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  359. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  360. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  361. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  362. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  363. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  364. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  365. package/dest/kernel/public_call_request.d.ts +15 -30
  366. package/dest/kernel/public_call_request.d.ts.map +1 -1
  367. package/dest/kernel/public_call_request.js +16 -7
  368. package/dest/keys/derivation.d.ts +6 -2
  369. package/dest/keys/derivation.d.ts.map +1 -1
  370. package/dest/keys/derivation.js +16 -6
  371. package/dest/keys/public_key.d.ts +22 -3
  372. package/dest/keys/public_key.d.ts.map +1 -1
  373. package/dest/keys/public_key.js +20 -1
  374. package/dest/keys/public_keys.d.ts +55 -82
  375. package/dest/keys/public_keys.d.ts.map +1 -1
  376. package/dest/keys/public_keys.js +102 -74
  377. package/dest/kv-store/config.d.ts +3 -6
  378. package/dest/kv-store/config.d.ts.map +1 -1
  379. package/dest/kv-store/config.js +2 -7
  380. package/dest/l1-contracts/index.d.ts +2 -2
  381. package/dest/l1-contracts/index.d.ts.map +1 -1
  382. package/dest/l1-contracts/index.js +1 -1
  383. package/dest/logs/app_tagging_secret.d.ts +61 -0
  384. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  385. package/dest/logs/app_tagging_secret.js +119 -0
  386. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  387. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  388. package/dest/logs/app_tagging_secret_kind.js +17 -0
  389. package/dest/logs/contract_class_log.d.ts +16 -35
  390. package/dest/logs/contract_class_log.d.ts.map +1 -1
  391. package/dest/logs/contract_class_log.js +11 -13
  392. package/dest/logs/index.d.ts +7 -7
  393. package/dest/logs/index.d.ts.map +1 -1
  394. package/dest/logs/index.js +6 -6
  395. package/dest/logs/log_cursor.d.ts +51 -0
  396. package/dest/logs/log_cursor.d.ts.map +1 -0
  397. package/dest/logs/log_cursor.js +82 -0
  398. package/dest/logs/log_result.d.ts +54 -0
  399. package/dest/logs/log_result.d.ts.map +1 -0
  400. package/dest/logs/log_result.js +56 -0
  401. package/dest/logs/logs_query.d.ts +82 -0
  402. package/dest/logs/logs_query.d.ts.map +1 -0
  403. package/dest/logs/logs_query.js +50 -0
  404. package/dest/logs/message_context.d.ts +4 -16
  405. package/dest/logs/message_context.d.ts.map +1 -1
  406. package/dest/logs/message_context.js +1 -48
  407. package/dest/logs/pending_tagged_log.d.ts +6 -9
  408. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  409. package/dest/logs/pending_tagged_log.js +1 -31
  410. package/dest/logs/pre_tag.d.ts +11 -24
  411. package/dest/logs/pre_tag.d.ts.map +1 -1
  412. package/dest/logs/pre_tag.js +2 -2
  413. package/dest/logs/private_log.d.ts +7 -12
  414. package/dest/logs/private_log.d.ts.map +1 -1
  415. package/dest/logs/private_log.js +6 -3
  416. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  417. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  418. package/dest/logs/query_all_logs_by_tags.js +64 -0
  419. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  420. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  421. package/dest/logs/shared_secret_derivation.js +15 -9
  422. package/dest/logs/siloed_tag.d.ts +8 -7
  423. package/dest/logs/siloed_tag.d.ts.map +1 -1
  424. package/dest/logs/siloed_tag.js +13 -3
  425. package/dest/logs/tag.d.ts +5 -6
  426. package/dest/logs/tag.d.ts.map +1 -1
  427. package/dest/logs/tag.js +4 -0
  428. package/dest/logs/tagging_index_range.d.ts +13 -31
  429. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  430. package/dest/logs/tagging_index_range.js +2 -2
  431. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  432. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  433. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  434. package/dest/messaging/index.d.ts +2 -1
  435. package/dest/messaging/index.d.ts.map +1 -1
  436. package/dest/messaging/index.js +1 -0
  437. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  438. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  439. package/dest/messaging/l1_to_l2_message.js +11 -13
  440. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  441. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  442. package/dest/messaging/l2_to_l1_membership.js +72 -12
  443. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  444. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  445. package/dest/messaging/l2_to_l1_message.js +21 -12
  446. package/dest/noir/index.d.ts +3 -1
  447. package/dest/noir/index.d.ts.map +1 -1
  448. package/dest/note/note.d.ts +2 -2
  449. package/dest/note/note.d.ts.map +1 -1
  450. package/dest/note/note_dao.d.ts +1 -1
  451. package/dest/note/note_dao.d.ts.map +1 -1
  452. package/dest/note/note_dao.js +1 -4
  453. package/dest/p2p/block_proposal.d.ts +31 -14
  454. package/dest/p2p/block_proposal.d.ts.map +1 -1
  455. package/dest/p2p/block_proposal.js +57 -39
  456. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  457. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  458. package/dest/p2p/checkpoint_attestation.js +23 -24
  459. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  460. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  461. package/dest/p2p/checkpoint_proposal.js +59 -51
  462. package/dest/p2p/consensus_payload.d.ts +27 -20
  463. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  464. package/dest/p2p/consensus_payload.js +38 -19
  465. package/dest/p2p/gossipable.d.ts +4 -4
  466. package/dest/p2p/gossipable.d.ts.map +1 -1
  467. package/dest/p2p/signature_utils.d.ts +28 -19
  468. package/dest/p2p/signature_utils.d.ts.map +1 -1
  469. package/dest/p2p/signature_utils.js +118 -21
  470. package/dest/p2p/signed_txs.d.ts +15 -13
  471. package/dest/p2p/signed_txs.d.ts.map +1 -1
  472. package/dest/p2p/signed_txs.js +26 -24
  473. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  474. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  475. package/dest/parity/parity_base_private_inputs.js +7 -5
  476. package/dest/parity/parity_public_inputs.d.ts +8 -4
  477. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  478. package/dest/parity/parity_public_inputs.js +6 -3
  479. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  480. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  481. package/dest/proofs/chonk_proof.d.ts +57 -7
  482. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  483. package/dest/proofs/chonk_proof.js +112 -15
  484. package/dest/proofs/recursive_proof.d.ts +2 -2
  485. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  486. package/dest/rollup/block_headers_hash.d.ts +1 -1
  487. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  488. package/dest/rollup/block_headers_hash.js +8 -2
  489. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  490. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  491. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  492. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  493. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  494. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  495. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  496. package/dest/rollup/checkpoint_header.d.ts +8 -3
  497. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  498. package/dest/rollup/checkpoint_header.js +20 -10
  499. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  500. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  501. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  502. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  503. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  504. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  505. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  506. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  507. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  508. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  509. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  510. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  511. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  512. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  513. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  514. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  515. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  516. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  517. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  518. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  519. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  520. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  521. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  522. package/dest/schemas/schemas.d.ts +32 -78
  523. package/dest/schemas/schemas.d.ts.map +1 -1
  524. package/dest/schemas/schemas.js +2 -2
  525. package/dest/slashing/helpers.d.ts +2 -2
  526. package/dest/slashing/helpers.d.ts.map +1 -1
  527. package/dest/slashing/helpers.js +10 -7
  528. package/dest/slashing/index.d.ts +2 -3
  529. package/dest/slashing/index.d.ts.map +1 -1
  530. package/dest/slashing/index.js +1 -2
  531. package/dest/slashing/serialization.d.ts +2 -6
  532. package/dest/slashing/serialization.d.ts.map +1 -1
  533. package/dest/slashing/serialization.js +0 -60
  534. package/dest/slashing/types.d.ts +18 -112
  535. package/dest/slashing/types.d.ts.map +1 -1
  536. package/dest/slashing/types.js +16 -24
  537. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  538. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  539. package/dest/slashing/{tally.js → votes.js} +1 -1
  540. package/dest/snapshots/types.d.ts +15 -78
  541. package/dest/snapshots/types.d.ts.map +1 -1
  542. package/dest/stats/stats.d.ts +2 -2
  543. package/dest/stats/stats.d.ts.map +1 -1
  544. package/dest/tests/factories.d.ts +25 -32
  545. package/dest/tests/factories.d.ts.map +1 -1
  546. package/dest/tests/factories.js +78 -84
  547. package/dest/tests/mocks.d.ts +8 -5
  548. package/dest/tests/mocks.d.ts.map +1 -1
  549. package/dest/tests/mocks.js +45 -56
  550. package/dest/timetable/budgets.d.ts +57 -0
  551. package/dest/timetable/budgets.d.ts.map +1 -0
  552. package/dest/timetable/budgets.js +56 -0
  553. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  554. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  555. package/dest/timetable/build_proposer_timetable.js +17 -0
  556. package/dest/timetable/consensus_timetable.d.ts +70 -0
  557. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  558. package/dest/timetable/consensus_timetable.js +89 -0
  559. package/dest/timetable/index.d.ts +5 -37
  560. package/dest/timetable/index.d.ts.map +1 -1
  561. package/dest/timetable/index.js +4 -39
  562. package/dest/timetable/proposer_timetable.d.ts +106 -0
  563. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  564. package/dest/timetable/proposer_timetable.js +132 -0
  565. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  566. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  567. package/dest/trees/append_only_tree_snapshot.js +6 -3
  568. package/dest/trees/nullifier_leaf.d.ts +19 -42
  569. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  570. package/dest/trees/nullifier_leaf.js +3 -0
  571. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  572. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  573. package/dest/trees/nullifier_membership_witness.js +0 -21
  574. package/dest/trees/public_data_leaf.d.ts +21 -53
  575. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  576. package/dest/trees/public_data_witness.d.ts +19 -71
  577. package/dest/trees/public_data_witness.d.ts.map +1 -1
  578. package/dest/trees/public_data_witness.js +0 -27
  579. package/dest/tx/block_header.d.ts +5 -4
  580. package/dest/tx/block_header.d.ts.map +1 -1
  581. package/dest/tx/block_header.js +7 -4
  582. package/dest/tx/call_context.d.ts +4 -14
  583. package/dest/tx/call_context.d.ts.map +1 -1
  584. package/dest/tx/capsule.d.ts +7 -3
  585. package/dest/tx/capsule.d.ts.map +1 -1
  586. package/dest/tx/capsule.js +9 -3
  587. package/dest/tx/execution_payload.d.ts +1 -1
  588. package/dest/tx/execution_payload.d.ts.map +1 -1
  589. package/dest/tx/execution_payload.js +1 -1
  590. package/dest/tx/fee_provider.d.ts +10 -0
  591. package/dest/tx/fee_provider.d.ts.map +1 -0
  592. package/dest/tx/fee_provider.js +1 -0
  593. package/dest/tx/function_data.d.ts +4 -10
  594. package/dest/tx/function_data.d.ts.map +1 -1
  595. package/dest/tx/global_variable_builder.d.ts +4 -15
  596. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  597. package/dest/tx/global_variables.d.ts +16 -49
  598. package/dest/tx/global_variables.d.ts.map +1 -1
  599. package/dest/tx/global_variables.js +10 -14
  600. package/dest/tx/hashed_values.d.ts +4 -3
  601. package/dest/tx/hashed_values.d.ts.map +1 -1
  602. package/dest/tx/hashed_values.js +6 -3
  603. package/dest/tx/in_tx.d.ts +5 -17
  604. package/dest/tx/in_tx.d.ts.map +1 -1
  605. package/dest/tx/index.d.ts +2 -1
  606. package/dest/tx/index.d.ts.map +1 -1
  607. package/dest/tx/index.js +1 -0
  608. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  609. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  610. package/dest/tx/indexed_tx_effect.js +9 -6
  611. package/dest/tx/partial_state_reference.d.ts +22 -65
  612. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  613. package/dest/tx/partial_state_reference.js +6 -3
  614. package/dest/tx/private_execution_result.d.ts +6 -16
  615. package/dest/tx/private_execution_result.d.ts.map +1 -1
  616. package/dest/tx/profiling.d.ts +54 -352
  617. package/dest/tx/profiling.d.ts.map +1 -1
  618. package/dest/tx/profiling.js +4 -4
  619. package/dest/tx/protocol_contracts.d.ts +5 -9
  620. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  621. package/dest/tx/proven_tx.d.ts +30 -74
  622. package/dest/tx/proven_tx.d.ts.map +1 -1
  623. package/dest/tx/proven_tx.js +6 -0
  624. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  625. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  626. package/dest/tx/public_call_request_with_calldata.js +6 -3
  627. package/dest/tx/simulated_tx.d.ts +64 -1143
  628. package/dest/tx/simulated_tx.d.ts.map +1 -1
  629. package/dest/tx/simulated_tx.js +13 -11
  630. package/dest/tx/state_reference.d.ts +30 -117
  631. package/dest/tx/state_reference.d.ts.map +1 -1
  632. package/dest/tx/state_reference.js +6 -4
  633. package/dest/tx/tree_snapshots.d.ts +27 -84
  634. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  635. package/dest/tx/tree_snapshots.js +6 -4
  636. package/dest/tx/tx.d.ts +22 -13
  637. package/dest/tx/tx.d.ts.map +1 -1
  638. package/dest/tx/tx.js +44 -22
  639. package/dest/tx/tx_constant_data.d.ts +4 -3
  640. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  641. package/dest/tx/tx_constant_data.js +6 -3
  642. package/dest/tx/tx_context.d.ts +32 -131
  643. package/dest/tx/tx_context.d.ts.map +1 -1
  644. package/dest/tx/tx_context.js +6 -6
  645. package/dest/tx/tx_hash.d.ts +6 -4
  646. package/dest/tx/tx_hash.d.ts.map +1 -1
  647. package/dest/tx/tx_hash.js +13 -5
  648. package/dest/tx/tx_receipt.d.ts +144 -63
  649. package/dest/tx/tx_receipt.d.ts.map +1 -1
  650. package/dest/tx/tx_receipt.js +143 -60
  651. package/dest/tx/validator/error_texts.d.ts +6 -2
  652. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  653. package/dest/tx/validator/error_texts.js +7 -1
  654. package/dest/tx/validator/tx_validator.d.ts +5 -27
  655. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  656. package/dest/tx/validator/tx_validator.js +0 -4
  657. package/dest/types/shared.d.ts +4 -12
  658. package/dest/types/shared.d.ts.map +1 -1
  659. package/dest/types/shared.js +6 -12
  660. package/dest/update-checker/dev_version.d.ts +3 -0
  661. package/dest/update-checker/dev_version.d.ts.map +1 -0
  662. package/dest/update-checker/dev_version.js +1 -0
  663. package/dest/update-checker/index.d.ts +2 -1
  664. package/dest/update-checker/index.d.ts.map +1 -1
  665. package/dest/update-checker/index.js +1 -0
  666. package/dest/update-checker/package_version.d.ts +6 -3
  667. package/dest/update-checker/package_version.d.ts.map +1 -1
  668. package/dest/update-checker/package_version.js +8 -19
  669. package/dest/validators/schemas.d.ts +147 -614
  670. package/dest/validators/schemas.d.ts.map +1 -1
  671. package/dest/validators/schemas.js +6 -4
  672. package/dest/validators/types.d.ts +20 -3
  673. package/dest/validators/types.d.ts.map +1 -1
  674. package/dest/versioning/versioning.js +1 -1
  675. package/dest/vks/verification_key.d.ts +4 -139
  676. package/dest/vks/verification_key.d.ts.map +1 -1
  677. package/dest/vks/verification_key.js +5 -126
  678. package/dest/world-state/genesis_data.d.ts +13 -0
  679. package/dest/world-state/genesis_data.d.ts.map +1 -0
  680. package/dest/world-state/genesis_data.js +7 -0
  681. package/dest/world-state/index.d.ts +2 -1
  682. package/dest/world-state/index.d.ts.map +1 -1
  683. package/dest/world-state/index.js +1 -0
  684. package/dest/world-state/world_state_revision.d.ts +15 -26
  685. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  686. package/dest/world-state/world_state_revision.js +7 -1
  687. package/package.json +12 -11
  688. package/src/abi/abi.ts +78 -21
  689. package/src/abi/authorization_selector.ts +2 -8
  690. package/src/abi/buffer.ts +38 -5
  691. package/src/abi/contract_artifact.ts +30 -6
  692. package/src/abi/decoder.ts +23 -78
  693. package/src/abi/encoder.ts +42 -6
  694. package/src/abi/event_selector.ts +2 -8
  695. package/src/abi/function_selector.ts +4 -13
  696. package/src/abi/function_signature_decoder.ts +77 -0
  697. package/src/abi/index.ts +1 -0
  698. package/src/abi/note_selector.ts +3 -12
  699. package/src/abi/selector.ts +1 -1
  700. package/src/abi/utils.ts +6 -4
  701. package/src/avm/avm.ts +6 -1
  702. package/src/avm/message_pack.ts +12 -3
  703. package/src/avm/revert_code.ts +19 -39
  704. package/src/aztec-address/index.ts +50 -17
  705. package/src/block/attestation_info.ts +11 -11
  706. package/src/block/block_data.ts +3 -4
  707. package/src/block/block_hash.ts +21 -14
  708. package/src/block/block_parameter.ts +72 -4
  709. package/src/block/index.ts +0 -1
  710. package/src/block/l2_block_info.ts +8 -6
  711. package/src/block/l2_block_source.ts +210 -146
  712. package/src/block/l2_block_stream/interfaces.ts +65 -9
  713. package/src/block/l2_block_stream/l2_block_stream.ts +250 -171
  714. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  715. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  716. package/src/block/proposal/attestations_and_signers.ts +32 -17
  717. package/src/block/test/l2_tips_store_test_suite.ts +271 -22
  718. package/src/checkpoint/checkpoint.ts +13 -3
  719. package/src/checkpoint/checkpoint_data.ts +44 -4
  720. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  721. package/src/checkpoint/digest.ts +28 -0
  722. package/src/checkpoint/index.ts +4 -0
  723. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  724. package/src/checkpoint/simulation_overrides.ts +171 -0
  725. package/src/checkpoint/validate.ts +16 -6
  726. package/src/config/chain-config.ts +13 -16
  727. package/src/config/index.ts +1 -1
  728. package/src/config/network-consensus-config.ts +302 -0
  729. package/src/config/sequencer-config.ts +68 -9
  730. package/src/contract/complete_address.ts +7 -3
  731. package/src/contract/contract_address.ts +6 -6
  732. package/src/contract/contract_instance.ts +11 -2
  733. package/src/contract/index.ts +0 -2
  734. package/src/contract/interfaces/contract_class.ts +2 -82
  735. package/src/contract/interfaces/contract_data_source.ts +2 -4
  736. package/src/contract/interfaces/contract_instance.ts +6 -2
  737. package/src/contract/interfaces/node-info.ts +11 -0
  738. package/src/contract/private_function.ts +3 -1
  739. package/src/database-version/version_manager.ts +17 -0
  740. package/src/deserialization/index.ts +35 -2
  741. package/src/epoch-helpers/index.ts +24 -0
  742. package/src/file-store/factory.ts +20 -4
  743. package/src/file-store/http.ts +29 -10
  744. package/src/file-store/index.ts +2 -0
  745. package/src/file-store/memory.ts +94 -0
  746. package/src/gas/README.md +123 -0
  747. package/src/gas/fee_math.ts +120 -0
  748. package/src/gas/gas.ts +8 -3
  749. package/src/gas/gas_fees.ts +26 -13
  750. package/src/gas/gas_settings.ts +63 -15
  751. package/src/gas/index.ts +2 -0
  752. package/src/gas/tx_gas_limits.ts +123 -0
  753. package/src/ha-signing/config.ts +14 -18
  754. package/src/ha-signing/index.ts +3 -1
  755. package/src/ha-signing/local_config.ts +2 -2
  756. package/src/ha-signing/types.ts +48 -34
  757. package/src/hash/hash.ts +34 -2
  758. package/src/interfaces/api_limit.ts +1 -1
  759. package/src/interfaces/archiver.ts +88 -93
  760. package/src/interfaces/aztec-node-admin.ts +36 -21
  761. package/src/interfaces/aztec-node-debug.ts +92 -0
  762. package/src/interfaces/aztec-node.ts +398 -271
  763. package/src/interfaces/block-builder.ts +4 -0
  764. package/src/interfaces/block_response.ts +92 -0
  765. package/src/interfaces/chain_tips.ts +16 -0
  766. package/src/interfaces/checkpoint_parameter.ts +20 -0
  767. package/src/interfaces/checkpoint_response.ts +84 -0
  768. package/src/interfaces/client.ts +8 -1
  769. package/src/interfaces/configs.ts +64 -7
  770. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  771. package/src/interfaces/l1_publish_info.ts +40 -0
  772. package/src/interfaces/l2_logs_source.ts +13 -42
  773. package/src/interfaces/merkle_tree_operations.ts +3 -2
  774. package/src/interfaces/p2p-bootstrap.ts +2 -2
  775. package/src/interfaces/p2p.ts +59 -19
  776. package/src/interfaces/private_kernel_prover.ts +88 -0
  777. package/src/interfaces/prover-agent.ts +1 -1
  778. package/src/interfaces/prover-client.ts +3 -8
  779. package/src/interfaces/prover-node.ts +36 -21
  780. package/src/interfaces/proving-job-source.ts +4 -4
  781. package/src/interfaces/proving-job.ts +3 -3
  782. package/src/interfaces/public_storage_override.ts +26 -0
  783. package/src/interfaces/server.ts +5 -1
  784. package/src/interfaces/slasher.ts +17 -10
  785. package/src/interfaces/tx_provider.ts +6 -0
  786. package/src/interfaces/validator.ts +45 -15
  787. package/src/interfaces/world_state.ts +1 -1
  788. package/src/kernel/hints/key_validation_request.ts +18 -16
  789. package/src/kernel/hints/read_request.ts +1 -1
  790. package/src/kernel/index.ts +4 -0
  791. package/src/kernel/log_hash.ts +36 -13
  792. package/src/kernel/note_hash.ts +1 -1
  793. package/src/kernel/nullifier.ts +1 -1
  794. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  795. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  796. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  797. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  798. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  799. package/src/kernel/private_log_data.ts +4 -1
  800. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  801. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  802. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  803. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  804. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  805. package/src/kernel/public_call_request.ts +22 -7
  806. package/src/keys/derivation.ts +21 -9
  807. package/src/keys/public_key.ts +26 -2
  808. package/src/keys/public_keys.ts +124 -110
  809. package/src/kv-store/config.ts +3 -10
  810. package/src/l1-contracts/index.ts +1 -1
  811. package/src/logs/app_tagging_secret.ts +153 -0
  812. package/src/logs/app_tagging_secret_kind.ts +21 -0
  813. package/src/logs/contract_class_log.ts +15 -14
  814. package/src/logs/index.ts +6 -6
  815. package/src/logs/log_cursor.ts +110 -0
  816. package/src/logs/log_result.ts +104 -0
  817. package/src/logs/logs_query.ts +138 -0
  818. package/src/logs/message_context.ts +6 -50
  819. package/src/logs/pending_tagged_log.ts +6 -35
  820. package/src/logs/pre_tag.ts +3 -6
  821. package/src/logs/private_log.ts +9 -3
  822. package/src/logs/query_all_logs_by_tags.ts +98 -0
  823. package/src/logs/shared_secret_derivation.ts +21 -10
  824. package/src/logs/siloed_tag.ts +20 -11
  825. package/src/logs/tag.ts +8 -8
  826. package/src/logs/tagging_index_range.ts +4 -10
  827. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  828. package/src/messaging/index.ts +1 -0
  829. package/src/messaging/l1_to_l2_message.ts +12 -9
  830. package/src/messaging/l2_to_l1_membership.ts +108 -19
  831. package/src/messaging/l2_to_l1_message.ts +29 -9
  832. package/src/noir/index.ts +2 -0
  833. package/src/note/note_dao.ts +1 -4
  834. package/src/p2p/block_proposal.ts +111 -36
  835. package/src/p2p/checkpoint_attestation.ts +27 -31
  836. package/src/p2p/checkpoint_proposal.ts +128 -73
  837. package/src/p2p/consensus_payload.ts +59 -28
  838. package/src/p2p/gossipable.ts +4 -4
  839. package/src/p2p/signature_utils.ts +110 -25
  840. package/src/p2p/signed_txs.ts +46 -28
  841. package/src/parity/parity_base_private_inputs.ts +10 -4
  842. package/src/parity/parity_public_inputs.ts +9 -2
  843. package/src/proofs/chonk_proof.ts +132 -12
  844. package/src/rollup/block_headers_hash.ts +11 -2
  845. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  846. package/src/rollup/checkpoint_header.ts +16 -2
  847. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  848. package/src/schemas/schemas.ts +6 -1
  849. package/src/slashing/helpers.ts +13 -9
  850. package/src/slashing/index.ts +1 -2
  851. package/src/slashing/serialization.ts +1 -81
  852. package/src/slashing/types.ts +24 -49
  853. package/src/slashing/{tally.ts → votes.ts} +1 -1
  854. package/src/stats/stats.ts +4 -0
  855. package/src/tests/factories.ts +108 -113
  856. package/src/tests/mocks.ts +72 -71
  857. package/src/timetable/README.md +609 -0
  858. package/src/timetable/budgets.ts +87 -0
  859. package/src/timetable/build_proposer_timetable.ts +42 -0
  860. package/src/timetable/consensus_timetable.ts +126 -0
  861. package/src/timetable/index.ts +4 -66
  862. package/src/timetable/proposer_timetable.ts +190 -0
  863. package/src/timetable/timetable-example.svg +108 -0
  864. package/src/trees/append_only_tree_snapshot.ts +8 -3
  865. package/src/trees/nullifier_leaf.ts +4 -0
  866. package/src/trees/nullifier_membership_witness.ts +0 -21
  867. package/src/trees/public_data_witness.ts +0 -31
  868. package/src/tx/block_header.ts +10 -5
  869. package/src/tx/capsule.ts +10 -2
  870. package/src/tx/execution_payload.ts +2 -1
  871. package/src/tx/fee_provider.ts +10 -0
  872. package/src/tx/global_variable_builder.ts +3 -20
  873. package/src/tx/global_variables.ts +12 -20
  874. package/src/tx/hashed_values.ts +8 -3
  875. package/src/tx/index.ts +1 -0
  876. package/src/tx/indexed_tx_effect.ts +18 -6
  877. package/src/tx/partial_state_reference.ts +8 -3
  878. package/src/tx/profiling.ts +4 -4
  879. package/src/tx/proven_tx.ts +6 -0
  880. package/src/tx/public_call_request_with_calldata.ts +8 -3
  881. package/src/tx/simulated_tx.ts +22 -21
  882. package/src/tx/state_reference.ts +9 -4
  883. package/src/tx/tree_snapshots.ts +9 -4
  884. package/src/tx/tx.ts +60 -24
  885. package/src/tx/tx_constant_data.ts +8 -3
  886. package/src/tx/tx_context.ts +8 -3
  887. package/src/tx/tx_hash.ts +20 -5
  888. package/src/tx/tx_receipt.ts +265 -85
  889. package/src/tx/validator/error_texts.ts +10 -1
  890. package/src/tx/validator/tx_validator.ts +1 -5
  891. package/src/types/shared.ts +8 -13
  892. package/src/update-checker/dev_version.ts +2 -0
  893. package/src/update-checker/index.ts +1 -0
  894. package/src/update-checker/package_version.ts +10 -23
  895. package/src/validators/schemas.ts +6 -4
  896. package/src/validators/types.ts +21 -2
  897. package/src/versioning/versioning.ts +1 -1
  898. package/src/vks/verification_key.ts +5 -184
  899. package/src/world-state/genesis_data.ts +27 -0
  900. package/src/world-state/index.ts +1 -0
  901. package/src/world-state/world_state_revision.ts +9 -1
  902. package/dest/abi/mocked_keys.d.ts +0 -2
  903. package/dest/abi/mocked_keys.d.ts.map +0 -1
  904. package/dest/abi/mocked_keys.js +0 -1
  905. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  906. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  907. package/dest/block/checkpointed_l2_block.js +0 -46
  908. package/dest/config/pipelining-config.d.ts +0 -19
  909. package/dest/config/pipelining-config.d.ts.map +0 -1
  910. package/dest/config/pipelining-config.js +0 -18
  911. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  912. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  913. package/dest/contract/private_function_membership_proof.js +0 -124
  914. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  915. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  916. package/dest/contract/utility_function_membership_proof.js +0 -87
  917. package/dest/interfaces/epoch-prover.d.ts +0 -57
  918. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  919. package/dest/interfaces/epoch-prover.js +0 -1
  920. package/dest/interfaces/get_logs_response.d.ts +0 -97
  921. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  922. package/dest/interfaces/get_logs_response.js +0 -12
  923. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  924. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  925. package/dest/l1-contracts/slash_factory.js +0 -158
  926. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  927. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  928. package/dest/logs/extended_contract_class_log.js +0 -67
  929. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  930. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  931. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  932. package/dest/logs/extended_public_log.d.ts +0 -106
  933. package/dest/logs/extended_public_log.d.ts.map +0 -1
  934. package/dest/logs/extended_public_log.js +0 -73
  935. package/dest/logs/log_filter.d.ts +0 -25
  936. package/dest/logs/log_filter.d.ts.map +0 -1
  937. package/dest/logs/log_filter.js +0 -12
  938. package/dest/logs/log_id.d.ts +0 -85
  939. package/dest/logs/log_id.d.ts.map +0 -1
  940. package/dest/logs/log_id.js +0 -94
  941. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  942. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  943. package/dest/logs/tx_scoped_l2_log.js +0 -77
  944. package/dest/slashing/empire.d.ts +0 -31
  945. package/dest/slashing/empire.d.ts.map +0 -1
  946. package/dest/slashing/empire.js +0 -87
  947. package/src/abi/mocked_keys.ts +0 -2
  948. package/src/block/checkpointed_l2_block.ts +0 -70
  949. package/src/config/pipelining-config.ts +0 -31
  950. package/src/contract/private_function_membership_proof.ts +0 -167
  951. package/src/contract/utility_function_membership_proof.ts +0 -118
  952. package/src/interfaces/epoch-prover.ts +0 -72
  953. package/src/interfaces/get_logs_response.ts +0 -35
  954. package/src/l1-contracts/slash_factory.ts +0 -180
  955. package/src/logs/extended_contract_class_log.ts +0 -87
  956. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  957. package/src/logs/extended_public_log.ts +0 -94
  958. package/src/logs/log_filter.ts +0 -36
  959. package/src/logs/log_id.ts +0 -125
  960. package/src/logs/tx_scoped_l2_log.ts +0 -114
  961. package/src/slashing/empire.ts +0 -104
@@ -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
 
package/src/avm/avm.ts CHANGED
@@ -130,6 +130,7 @@ export class AvmContractInstanceHint {
130
130
  public readonly currentContractClassId: Fr,
131
131
  public readonly originalContractClassId: Fr,
132
132
  public readonly initializationHash: Fr,
133
+ public readonly immutablesHash: Fr,
133
134
  public readonly publicKeys: PublicKeys,
134
135
  ) {}
135
136
 
@@ -143,6 +144,7 @@ export class AvmContractInstanceHint {
143
144
  currentContractClassId: schemas.Fr,
144
145
  originalContractClassId: schemas.Fr,
145
146
  initializationHash: schemas.Fr,
147
+ immutablesHash: schemas.Fr,
146
148
  publicKeys: PublicKeys.schema,
147
149
  })
148
150
  .transform(
@@ -154,6 +156,7 @@ export class AvmContractInstanceHint {
154
156
  currentContractClassId,
155
157
  originalContractClassId,
156
158
  initializationHash,
159
+ immutablesHash,
157
160
  publicKeys,
158
161
  }) =>
159
162
  new AvmContractInstanceHint(
@@ -164,6 +167,7 @@ export class AvmContractInstanceHint {
164
167
  currentContractClassId,
165
168
  originalContractClassId,
166
169
  initializationHash,
170
+ immutablesHash,
167
171
  publicKeys,
168
172
  ),
169
173
  );
@@ -188,6 +192,7 @@ export class AvmContractInstanceHint {
188
192
  Fr.fromPlainObject(obj.currentContractClassId),
189
193
  Fr.fromPlainObject(obj.originalContractClassId),
190
194
  Fr.fromPlainObject(obj.initializationHash),
195
+ Fr.fromPlainObject(obj.immutablesHash),
191
196
  PublicKeys.fromPlainObject(obj.publicKeys),
192
197
  );
193
198
  }
@@ -1147,7 +1152,7 @@ export class CallStackMetadata {
1147
1152
 
1148
1153
  const { stack, leaf } = failingCall;
1149
1154
  const aztecCallStack = stack.map(call => ({
1150
- contractAddress: AztecAddress.fromField(call.contractAddress),
1155
+ contractAddress: AztecAddress.fromFieldUnsafe(call.contractAddress),
1151
1156
  functionSelector: call.calldata.length > 0 ? FunctionSelector.fromFieldOrUndefined(call.calldata[0]) : undefined,
1152
1157
  }));
1153
1158
 
@@ -64,13 +64,22 @@ function setUpMessagePackExtensions() {
64
64
  addExtension({
65
65
  Class: Point,
66
66
  write: (p: Point) => {
67
- assert(!p.inf, 'Cannot serialize infinity');
68
- // TODO: should these be Frs?
67
+ // TODO: Now that we use a 2 elt point representation, we should be able to handle infs here.
68
+ // However this opens possible bad paths with public keys and requires sanitised conversion between
69
+ // BB's inf representation (see below), and ours/Noir's (0, 0), and empty points from BB, when inf
70
+ // does not actually pass through.
71
+ assert(!p.isInfinite, 'Cannot serialize infinity');
69
72
  return { x: new Fq(p.x.toBigInt()), y: new Fq(p.y.toBigInt()) };
70
73
  },
71
74
  read: (data: { x: Fq; y: Fq }) => {
75
+ // Note: BB encodes infinity as x == y == Buffer of all ones.
76
+ // Infinity should never pass through here, but for correctness:
77
+ const ALL_ONES = (1n << 256n) - 1n;
78
+ if (data.x.toBigInt() === ALL_ONES && data.y.toBigInt() === ALL_ONES) {
79
+ return Point.INFINITY;
80
+ }
72
81
  // Convert Fq back to Fr for Point constructor
73
- return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()), false);
82
+ return new Point(new Fr(data.x.toBigInt()), new Fr(data.y.toBigInt()));
74
83
  },
75
84
  });
76
85
  // EthAddress is a class that has a buffer in TS, but is itself just a field in C++.
@@ -5,35 +5,17 @@ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
5
5
  import { inspect } from 'util';
6
6
  import { z } from 'zod';
7
7
 
8
- /**
9
- * Tracks which revertible phases of a transaction's public execution reverted.
10
- *
11
- * A transaction executes in three sequential phases:
12
- * 1. SETUP – non-revertible; if this fails the entire transaction is rejected.
13
- * 2. APP_LOGIC – revertible; its state changes are rolled back on failure.
14
- * 3. TEARDOWN – revertible; always runs (even after app-logic revert) so the fee-payment contract can clean up.
15
- *
16
- * Only APP_LOGIC and TEARDOWN can produce a revert code. SETUP failures throw instead and discard the transaction
17
- * entirely.
18
- */
8
+ /** Whether a transaction's public execution reverted. */
19
9
  export enum RevertCodeEnum {
20
10
  /** All phases completed successfully; no state was rolled back. */
21
11
  OK = 0,
22
- /** APP_LOGIC reverted; its state changes were discarded. If present, TEARDOWN still ran and succeeded. */
23
- APP_LOGIC_REVERTED = 1,
24
- /** TEARDOWN reverted; its state changes were discarded. APP_LOGIC succeeded. */
25
- TEARDOWN_REVERTED = 2,
26
- /** Both APP_LOGIC and TEARDOWN reverted; only SETUP effects are kept. */
27
- BOTH_REVERTED = 3,
12
+ /** One or more revertible phases reverted; their state changes were discarded. */
13
+ REVERTED = 1,
28
14
  }
29
15
 
30
- function isRevertCodeEnum(value: number): value is RevertCodeEnum {
31
- return (
32
- (value as RevertCodeEnum) === RevertCodeEnum.OK ||
33
- (value as RevertCodeEnum) === RevertCodeEnum.APP_LOGIC_REVERTED ||
34
- (value as RevertCodeEnum) === RevertCodeEnum.TEARDOWN_REVERTED ||
35
- (value as RevertCodeEnum) === RevertCodeEnum.BOTH_REVERTED
36
- );
16
+ /** Returns a valid RevertCodeEnum, coercing any value >= 1 to REVERTED. */
17
+ function toRevertCodeEnum(value: number): RevertCodeEnum {
18
+ return value >= 1 ? RevertCodeEnum.REVERTED : RevertCodeEnum.OK;
37
19
  }
38
20
 
39
21
  /**
@@ -45,9 +27,7 @@ export class RevertCode {
45
27
  this.code = e.valueOf();
46
28
  }
47
29
  static readonly OK: RevertCode = new RevertCode(RevertCodeEnum.OK);
48
- static readonly APP_LOGIC_REVERTED: RevertCode = new RevertCode(RevertCodeEnum.APP_LOGIC_REVERTED);
49
- static readonly TEARDOWN_REVERTED: RevertCode = new RevertCode(RevertCodeEnum.TEARDOWN_REVERTED);
50
- static readonly BOTH_REVERTED: RevertCode = new RevertCode(RevertCodeEnum.BOTH_REVERTED);
30
+ static readonly REVERTED: RevertCode = new RevertCode(RevertCodeEnum.REVERTED);
51
31
 
52
32
  public getCode(): RevertCodeEnum {
53
33
  return this.code;
@@ -65,12 +45,8 @@ export class RevertCode {
65
45
  switch (this.code as RevertCodeEnum) {
66
46
  case RevertCodeEnum.OK:
67
47
  return 'OK';
68
- case RevertCodeEnum.APP_LOGIC_REVERTED:
69
- return 'Application logic reverted';
70
- case RevertCodeEnum.TEARDOWN_REVERTED:
71
- return 'Teardown reverted';
72
- case RevertCodeEnum.BOTH_REVERTED:
73
- return 'Both reverted';
48
+ case RevertCodeEnum.REVERTED:
49
+ return 'Reverted';
74
50
  default:
75
51
  return `Unknown RevertCode: ${this.code}`;
76
52
  }
@@ -81,7 +57,11 @@ export class RevertCode {
81
57
  }
82
58
 
83
59
  static get schema(): ZodFor<RevertCode> {
84
- return z.nativeEnum(RevertCodeEnum).transform(value => new RevertCode(value));
60
+ return z
61
+ .number()
62
+ .int()
63
+ .min(0)
64
+ .transform(value => new RevertCode(toRevertCodeEnum(value)));
85
65
  }
86
66
 
87
67
  /**
@@ -96,10 +76,10 @@ export class RevertCode {
96
76
  return obj;
97
77
  }
98
78
  const code = typeof obj === 'number' ? obj : (obj.code ?? obj);
99
- if (!isRevertCodeEnum(code)) {
79
+ if (typeof code !== 'number' || code < 0) {
100
80
  throw new Error(`Invalid RevertCode: ${code}`);
101
81
  }
102
- return new RevertCode(code);
82
+ return new RevertCode(toRevertCodeEnum(code));
103
83
  }
104
84
 
105
85
  /**
@@ -131,10 +111,10 @@ export class RevertCode {
131
111
  }
132
112
 
133
113
  public static fromNumber(code: number): RevertCode {
134
- if (!isRevertCodeEnum(code)) {
114
+ if (code < 0) {
135
115
  throw new Error(`Invalid RevertCode: ${code}`);
136
116
  }
137
- return new RevertCode(code);
117
+ return new RevertCode(toRevertCodeEnum(code));
138
118
  }
139
119
 
140
120
  public static fromField(field: Fr): RevertCode {
@@ -152,7 +132,7 @@ export class RevertCode {
152
132
  return RevertCode.fromNumber(code);
153
133
  }
154
134
 
155
- private static readonly NUM_OPTIONS = 4;
135
+ private static readonly NUM_OPTIONS = 2;
156
136
  static random(): RevertCode {
157
137
  return new RevertCode(Math.floor(Math.random() * RevertCode.NUM_OPTIONS));
158
138
  }
@@ -1,18 +1,13 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
1
+ import { NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
2
2
  import { Fr, fromBuffer } from '@aztec/foundation/curves/bn254';
3
3
  import { Point } from '@aztec/foundation/curves/grumpkin';
4
4
  import { type ZodFor, bufferSchemaFor, hexSchemaFor } from '@aztec/foundation/schemas';
5
- import { type BufferReader, FieldReader, TypeRegistry } from '@aztec/foundation/serialize';
5
+ import { type BufferReader, type BufferSink, FieldReader } from '@aztec/foundation/serialize';
6
6
  import { hexToBuffer } from '@aztec/foundation/string';
7
7
 
8
8
  import { inspect } from 'util';
9
9
  import { z } from 'zod';
10
10
 
11
- /** Branding to ensure fields are not interchangeable types. */
12
- export interface AztecAddress {
13
- /** Brand. */
14
- _branding: 'AztecAddress';
15
- }
16
11
  /**
17
12
  * AztecAddress represents a 32-byte address in the Aztec Protocol. It provides methods to create, manipulate, and
18
13
  * compare addresses, as well as conversion to and from strings, buffers, and other formats.
@@ -23,6 +18,9 @@ export interface AztecAddress {
23
18
  * wild.
24
19
  */
25
20
  export class AztecAddress {
21
+ /** Branding for nominal typing. */
22
+ declare private readonly _branding: 'AztecAddress';
23
+
26
24
  private xCoord: Fr;
27
25
 
28
26
  constructor(buffer: Buffer | Fr) {
@@ -44,32 +42,65 @@ export class AztecAddress {
44
42
 
45
43
  static ZERO = new AztecAddress(Buffer.alloc(32, 0));
46
44
 
45
+ /** Null msg sender address. Not part of the protocol contracts tree. */
46
+ static NULL_MSG_SENDER = AztecAddress.fromBigIntUnsafe(NULL_MSG_SENDER_CONTRACT_ADDRESS);
47
+
47
48
  static zero(): AztecAddress {
48
49
  return AztecAddress.ZERO;
49
50
  }
50
51
 
51
- static fromField(fr: Fr) {
52
+ /**
53
+ * Builds an `AztecAddress` from a field **without checking it is a valid address** (the x-coordinate of a point on
54
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
55
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
56
+ */
57
+ static fromFieldUnsafe(fr: Fr) {
52
58
  return new AztecAddress(fr);
53
59
  }
54
60
 
61
+ /**
62
+ * Deserializes an `AztecAddress` from a buffer. It does **not** check the value is a valid Grumpkin-curve address
63
+ * (see {@link AztecAddress.isValid}); it is meant for reading addresses from already-validated serialized data. Use
64
+ * {@link AztecAddress.random} for valid test addresses.
65
+ */
55
66
  static fromBuffer(buffer: Buffer | BufferReader) {
56
67
  return new AztecAddress(fromBuffer(buffer, Fr));
57
68
  }
58
69
 
70
+ /**
71
+ * Deserializes an `AztecAddress` from a field reader. It does **not** check the value is a valid Grumpkin-curve
72
+ * address (see {@link AztecAddress.isValid}); it is meant for reading addresses from already-validated serialized
73
+ * data. Use {@link AztecAddress.random} for valid test addresses.
74
+ */
59
75
  static fromFields(fields: Fr[] | FieldReader) {
60
76
  const reader = FieldReader.asReader(fields);
61
77
  return new AztecAddress(reader.readField());
62
78
  }
63
79
 
64
- static fromBigInt(value: bigint) {
80
+ /**
81
+ * Builds an `AztecAddress` from a bigint **without checking it is a valid address** (the x-coordinate of a point on
82
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
83
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
84
+ */
85
+ static fromBigIntUnsafe(value: bigint) {
65
86
  return new AztecAddress(new Fr(value));
66
87
  }
67
88
 
68
- static fromNumber(value: number) {
89
+ /**
90
+ * Builds an `AztecAddress` from a number **without checking it is a valid address** (the x-coordinate of a point on
91
+ * the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to validate an
92
+ * untrusted one, or {@link AztecAddress.random} for valid test addresses.
93
+ */
94
+ static fromNumberUnsafe(value: number) {
69
95
  return new AztecAddress(new Fr(value));
70
96
  }
71
97
 
72
- static fromString(buf: string) {
98
+ /**
99
+ * Builds an `AztecAddress` from a hex string **without checking it is a valid address** (the x-coordinate of a
100
+ * point on the Grumpkin curve, which is what lets it be encrypted to). Use {@link AztecAddress.isValid} to
101
+ * validate an untrusted one, or {@link AztecAddress.random} for valid test addresses.
102
+ */
103
+ static fromStringUnsafe(buf: string) {
73
104
  return new AztecAddress(hexToBuffer(buf));
74
105
  }
75
106
 
@@ -88,7 +119,7 @@ export class AztecAddress {
88
119
  if (obj instanceof Buffer || Buffer.isBuffer(obj)) {
89
120
  return new AztecAddress(obj);
90
121
  }
91
- return AztecAddress.fromString(obj);
122
+ return AztecAddress.fromStringUnsafe(obj);
92
123
  }
93
124
 
94
125
  /**
@@ -136,8 +167,13 @@ export class AztecAddress {
136
167
  return Point.fromXAndSign(this.xCoord, true);
137
168
  }
138
169
 
139
- toBuffer() {
140
- return this.xCoord.toBuffer();
170
+ toBuffer(): Buffer;
171
+ toBuffer(sink: BufferSink): void;
172
+ toBuffer(sink?: BufferSink): Buffer | void {
173
+ if (!sink) {
174
+ return this.xCoord.toBuffer();
175
+ }
176
+ this.xCoord.toBuffer(sink);
141
177
  }
142
178
 
143
179
  toBigInt() {
@@ -165,6 +201,3 @@ export class AztecAddress {
165
201
  ]);
166
202
  }
167
203
  }
168
-
169
- // For deserializing JSON.
170
- TypeRegistry.register('AztecAddress', AztecAddress);
@@ -3,7 +3,7 @@ import type { EthAddress } from '@aztec/foundation/eth-address';
3
3
 
4
4
  import { Checkpoint } from '../checkpoint/checkpoint.js';
5
5
  import { ConsensusPayload } from '../p2p/consensus_payload.js';
6
- import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
6
+ import { type CoordinationSignatureContext, getHashedSignaturePayloadTypedData } from '../p2p/signature_utils.js';
7
7
  import type { CommitteeAttestation } from './proposal/committee_attestation.js';
8
8
 
9
9
  /**
@@ -32,11 +32,14 @@ export type AttestationInfo =
32
32
  * Extracts attestation information from a published checkpoint.
33
33
  * Returns info for each attestation, preserving array indices.
34
34
  */
35
- export function getAttestationInfoFromPublishedCheckpoint(block: {
36
- attestations: CommitteeAttestation[];
37
- checkpoint: Checkpoint;
38
- }): AttestationInfo[] {
39
- const payload = ConsensusPayload.fromCheckpoint(block.checkpoint);
35
+ export function getAttestationInfoFromPublishedCheckpoint(
36
+ block: {
37
+ attestations: CommitteeAttestation[];
38
+ checkpoint: Checkpoint;
39
+ },
40
+ signatureContext: CoordinationSignatureContext,
41
+ ): AttestationInfo[] {
42
+ const payload = ConsensusPayload.fromCheckpoint(block.checkpoint, signatureContext);
40
43
  return getAttestationInfoFromPayload(payload, block.attestations);
41
44
  }
42
45
 
@@ -44,10 +47,7 @@ export function getAttestationInfoFromPayload(
44
47
  payload: ConsensusPayload,
45
48
  attestations: CommitteeAttestation[],
46
49
  ): AttestationInfo[] {
47
- const hashedPayload = getHashedSignaturePayloadEthSignedMessage(
48
- payload,
49
- SignatureDomainSeparator.checkpointAttestation,
50
- );
50
+ const hashedPayload = getHashedSignaturePayloadTypedData(payload);
51
51
 
52
52
  return attestations.map(attestation => {
53
53
  // If signature is empty, check if we have an address directly
@@ -62,7 +62,7 @@ export function getAttestationInfoFromPayload(
62
62
 
63
63
  // Try to recover address from signature
64
64
  try {
65
- const recoveredAddress = recoverAddress(hashedPayload, attestation.signature);
65
+ const recoveredAddress = recoverAddress(hashedPayload, attestation.signature, { allowYParityAsV: true });
66
66
  return { address: recoveredAddress, status: 'recovered-from-signature' as const };
67
67
  } catch {
68
68
  // Signature present but recovery failed
@@ -1,18 +1,17 @@
1
1
  import { CheckpointNumberSchema, IndexWithinCheckpointSchema } from '@aztec/foundation/branded-types';
2
2
  import type { CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
3
- import type { Fr } from '@aztec/foundation/curves/bn254';
4
- import { schemas } from '@aztec/foundation/schemas';
5
3
 
6
4
  import { z } from 'zod';
7
5
 
8
6
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
7
  import { BlockHeader } from '../tx/block_header.js';
8
+ import { BlockHash } from './block_hash.js';
10
9
 
11
10
  /** L2Block metadata. Equivalent to L2Block but without block body containing tx data. */
12
11
  export type BlockData = {
13
12
  header: BlockHeader;
14
13
  archive: AppendOnlyTreeSnapshot;
15
- blockHash: Fr;
14
+ blockHash: BlockHash;
16
15
  checkpointNumber: CheckpointNumber;
17
16
  indexWithinCheckpoint: IndexWithinCheckpoint;
18
17
  };
@@ -20,7 +19,7 @@ export type BlockData = {
20
19
  export const BlockDataSchema = z.object({
21
20
  header: BlockHeader.schema,
22
21
  archive: AppendOnlyTreeSnapshot.schema,
23
- blockHash: schemas.Fr,
22
+ blockHash: BlockHash.schema,
24
23
  checkpointNumber: CheckpointNumberSchema,
25
24
  indexWithinCheckpoint: IndexWithinCheckpointSchema,
26
25
  });
@@ -1,21 +1,24 @@
1
- import { Fr } from '@aztec/foundation/curves/bn254';
1
+ import { GENESIS_BLOCK_HEADER_HASH as GENESIS_BLOCK_HEADER_HASH_FR } from '@aztec/constants';
2
+ import { BaseFr, Fr } from '@aztec/foundation/curves/bn254';
2
3
  import type { ZodFor } from '@aztec/foundation/schemas';
4
+ import type { BufferReader } from '@aztec/foundation/serialize';
3
5
 
4
6
  import { inspect } from 'util';
5
7
 
6
8
  import { hexSchemaFor } from '../schemas/schemas.js';
7
9
 
8
- const BLOCK_HASH_BRAND = Symbol.for('aztec.BlockHash');
9
-
10
10
  /** Hash of an L2 block. */
11
- export class BlockHash extends Fr {
12
- readonly [BLOCK_HASH_BRAND] = true as const;
11
+ export class BlockHash extends BaseFr {
12
+ /** Branding for nominal typing. */
13
+ declare private readonly _branding: 'BlockHash';
14
+
15
+ static ZERO = new BlockHash(Fr.ZERO);
13
16
 
14
17
  constructor(hash: Fr) {
15
18
  super(hash);
16
19
  }
17
20
 
18
- override [inspect.custom]() {
21
+ [inspect.custom]() {
19
22
  return `BlockHash<${this.toString()}>`;
20
23
  }
21
24
 
@@ -23,23 +26,27 @@ export class BlockHash extends Fr {
23
26
  return new Fr(this.toBigInt());
24
27
  }
25
28
 
26
- /**
27
- * Type guard that checks if a value is a BlockHash instance.
28
- * Uses Symbol.for to ensure cross-module compatibility.
29
- */
29
+ /** Type guard that checks if a value is a BlockHash instance. */
30
30
  static isBlockHash(value: unknown): value is BlockHash {
31
- return typeof value === 'object' && value !== null && BLOCK_HASH_BRAND in value;
31
+ return value instanceof BlockHash;
32
32
  }
33
33
 
34
- static override random() {
34
+ static random() {
35
35
  return new BlockHash(Fr.random());
36
36
  }
37
37
 
38
- static override fromString(str: string): BlockHash {
38
+ static fromBuffer(buffer: Buffer | BufferReader): BlockHash {
39
+ return new BlockHash(Fr.fromBuffer(buffer));
40
+ }
41
+
42
+ static fromString(str: string): BlockHash {
39
43
  return new BlockHash(Fr.fromString(str));
40
44
  }
41
45
 
42
- static override get schema() {
46
+ static get schema() {
43
47
  return hexSchemaFor(BlockHash) as ZodFor<BlockHash>;
44
48
  }
45
49
  }
50
+
51
+ /** The block header hash for the genesis block (block 0). */
52
+ export const GENESIS_BLOCK_HEADER_HASH: BlockHash = new BlockHash(GENESIS_BLOCK_HEADER_HASH_FR);