@aztec/stdlib 0.0.1-commit.2ed92850 → 0.0.1-commit.2f68f620

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 (1110) 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 +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  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 +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +22 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1756 -10463
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +6 -3
  50. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +674 -5467
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/index.d.ts +1 -6
  57. package/dest/avm/index.d.ts.map +1 -1
  58. package/dest/avm/index.js +0 -5
  59. package/dest/avm/message_pack.js +12 -3
  60. package/dest/avm/public_data_write.d.ts +6 -12
  61. package/dest/avm/public_data_write.d.ts.map +1 -1
  62. package/dest/avm/revert_code.d.ts +6 -7
  63. package/dest/avm/revert_code.d.ts.map +1 -1
  64. package/dest/avm/revert_code.js +13 -21
  65. package/dest/aztec-address/index.d.ts +8 -8
  66. package/dest/aztec-address/index.d.ts.map +1 -1
  67. package/dest/aztec-address/index.js +9 -6
  68. package/dest/block/attestation_info.d.ts +3 -2
  69. package/dest/block/attestation_info.d.ts.map +1 -1
  70. package/dest/block/attestation_info.js +7 -5
  71. package/dest/block/block_data.d.ts +27 -0
  72. package/dest/block/block_data.d.ts.map +1 -0
  73. package/dest/block/block_data.js +12 -0
  74. package/dest/block/block_hash.d.ts +20 -22
  75. package/dest/block/block_hash.d.ts.map +1 -1
  76. package/dest/block/block_hash.js +22 -34
  77. package/dest/block/block_parameter.d.ts +38 -5
  78. package/dest/block/block_parameter.d.ts.map +1 -1
  79. package/dest/block/block_parameter.js +55 -4
  80. package/dest/block/in_block.d.ts +9 -28
  81. package/dest/block/in_block.d.ts.map +1 -1
  82. package/dest/block/in_block.js +5 -5
  83. package/dest/block/index.d.ts +2 -2
  84. package/dest/block/index.d.ts.map +1 -1
  85. package/dest/block/index.js +1 -1
  86. package/dest/block/l2_block.d.ts +23 -42
  87. package/dest/block/l2_block.d.ts.map +1 -1
  88. package/dest/block/l2_block.js +14 -5
  89. package/dest/block/l2_block_info.d.ts +10 -29
  90. package/dest/block/l2_block_info.d.ts.map +1 -1
  91. package/dest/block/l2_block_info.js +6 -5
  92. package/dest/block/l2_block_source.d.ts +216 -337
  93. package/dest/block/l2_block_source.d.ts.map +1 -1
  94. package/dest/block/l2_block_source.js +67 -1
  95. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  96. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  97. package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
  98. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  99. package/dest/block/l2_block_stream/l2_block_stream.js +49 -12
  100. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  101. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  102. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  103. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
  104. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  105. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  106. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  107. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  108. package/dest/block/proposal/attestations_and_signers.js +26 -18
  109. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  110. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  111. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  112. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  113. package/dest/block/test/l2_tips_store_test_suite.js +5 -4
  114. package/dest/checkpoint/checkpoint.d.ts +48 -99
  115. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint.js +41 -17
  117. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  118. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  119. package/dest/checkpoint/checkpoint_data.js +38 -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 +6 -1
  129. package/dest/checkpoint/index.d.ts.map +1 -1
  130. package/dest/checkpoint/index.js +5 -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 +53 -190
  135. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  136. package/dest/checkpoint/published_checkpoint.js +1 -2
  137. package/dest/checkpoint/validate.d.ts +36 -0
  138. package/dest/checkpoint/validate.d.ts.map +1 -0
  139. package/dest/checkpoint/validate.js +120 -0
  140. package/dest/config/chain-config.d.ts +4 -9
  141. package/dest/config/chain-config.d.ts.map +1 -1
  142. package/dest/config/chain-config.js +13 -12
  143. package/dest/config/index.d.ts +2 -1
  144. package/dest/config/index.d.ts.map +1 -1
  145. package/dest/config/index.js +1 -0
  146. package/dest/config/sequencer-config.d.ts +14 -0
  147. package/dest/config/sequencer-config.d.ts.map +1 -0
  148. package/dest/config/sequencer-config.js +38 -0
  149. package/dest/contract/complete_address.d.ts +3 -2
  150. package/dest/contract/complete_address.d.ts.map +1 -1
  151. package/dest/contract/complete_address.js +6 -2
  152. package/dest/contract/contract_address.d.ts +6 -6
  153. package/dest/contract/contract_address.d.ts.map +1 -1
  154. package/dest/contract/contract_address.js +9 -8
  155. package/dest/contract/contract_class.d.ts +2 -3
  156. package/dest/contract/contract_class.d.ts.map +1 -1
  157. package/dest/contract/contract_class_id.d.ts +3 -3
  158. package/dest/contract/contract_class_id.d.ts.map +1 -1
  159. package/dest/contract/contract_class_id.js +7 -6
  160. package/dest/contract/contract_deployment_data.d.ts +15 -61
  161. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  162. package/dest/contract/contract_instance.d.ts +4 -2
  163. package/dest/contract/contract_instance.d.ts.map +1 -1
  164. package/dest/contract/contract_instance.js +10 -3
  165. package/dest/contract/index.d.ts +1 -4
  166. package/dest/contract/index.d.ts.map +1 -1
  167. package/dest/contract/index.js +0 -3
  168. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  169. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  170. package/dest/contract/interfaces/contract_class.js +1 -28
  171. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  172. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  173. package/dest/contract/interfaces/contract_instance.js +4 -2
  174. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  175. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  176. package/dest/contract/interfaces/node-info.d.ts +3 -1
  177. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  178. package/dest/contract/interfaces/node-info.js +2 -1
  179. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  180. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  181. package/dest/contract/private_function.d.ts +1 -1
  182. package/dest/contract/private_function.d.ts.map +1 -1
  183. package/dest/contract/private_function.js +4 -6
  184. package/dest/database-version/database_version.d.ts +52 -0
  185. package/dest/database-version/database_version.d.ts.map +1 -0
  186. package/dest/database-version/database_version.js +69 -0
  187. package/dest/database-version/version_manager.d.ts +7 -51
  188. package/dest/database-version/version_manager.d.ts.map +1 -1
  189. package/dest/database-version/version_manager.js +13 -67
  190. package/dest/epoch-helpers/index.d.ts +16 -18
  191. package/dest/epoch-helpers/index.d.ts.map +1 -1
  192. package/dest/epoch-helpers/index.js +22 -2
  193. package/dest/file-store/factory.d.ts +4 -3
  194. package/dest/file-store/factory.d.ts.map +1 -1
  195. package/dest/file-store/factory.js +2 -2
  196. package/dest/file-store/http.d.ts +9 -2
  197. package/dest/file-store/http.d.ts.map +1 -1
  198. package/dest/file-store/http.js +20 -9
  199. package/dest/file-store/index.d.ts +2 -1
  200. package/dest/file-store/index.d.ts.map +1 -1
  201. package/dest/file-store/local.d.ts +3 -3
  202. package/dest/file-store/local.d.ts.map +1 -1
  203. package/dest/file-store/local.js +13 -4
  204. package/dest/file-store/s3.d.ts +1 -1
  205. package/dest/file-store/s3.d.ts.map +1 -1
  206. package/dest/file-store/s3.js +11 -3
  207. package/dest/gas/fee_math.d.ts +49 -0
  208. package/dest/gas/fee_math.d.ts.map +1 -0
  209. package/dest/gas/fee_math.js +80 -0
  210. package/dest/gas/gas.d.ts +9 -14
  211. package/dest/gas/gas.d.ts.map +1 -1
  212. package/dest/gas/gas.js +6 -3
  213. package/dest/gas/gas_fees.d.ts +13 -14
  214. package/dest/gas/gas_fees.d.ts.map +1 -1
  215. package/dest/gas/gas_fees.js +20 -4
  216. package/dest/gas/gas_settings.d.ts +66 -86
  217. package/dest/gas/gas_settings.d.ts.map +1 -1
  218. package/dest/gas/gas_settings.js +56 -9
  219. package/dest/gas/index.d.ts +2 -1
  220. package/dest/gas/index.d.ts.map +1 -1
  221. package/dest/gas/index.js +1 -0
  222. package/dest/ha-signing/config.d.ts +72 -0
  223. package/dest/ha-signing/config.d.ts.map +1 -0
  224. package/dest/ha-signing/config.js +88 -0
  225. package/dest/ha-signing/index.d.ts +4 -0
  226. package/dest/ha-signing/index.d.ts.map +1 -0
  227. package/dest/ha-signing/index.js +3 -0
  228. package/dest/ha-signing/local_config.d.ts +32 -0
  229. package/dest/ha-signing/local_config.d.ts.map +1 -0
  230. package/dest/ha-signing/local_config.js +24 -0
  231. package/dest/ha-signing/types.d.ts +90 -0
  232. package/dest/ha-signing/types.d.ts.map +1 -0
  233. package/dest/ha-signing/types.js +39 -0
  234. package/dest/hash/hash.d.ts +35 -1
  235. package/dest/hash/hash.d.ts.map +1 -1
  236. package/dest/hash/hash.js +78 -11
  237. package/dest/hash/map_slot.d.ts +1 -1
  238. package/dest/hash/map_slot.d.ts.map +1 -1
  239. package/dest/hash/map_slot.js +4 -3
  240. package/dest/interfaces/allowed_element.d.ts +17 -35
  241. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  242. package/dest/interfaces/allowed_element.js +8 -8
  243. package/dest/interfaces/api_limit.d.ts +1 -1
  244. package/dest/interfaces/api_limit.js +1 -1
  245. package/dest/interfaces/archiver.d.ts +22 -32
  246. package/dest/interfaces/archiver.d.ts.map +1 -1
  247. package/dest/interfaces/archiver.js +215 -64
  248. package/dest/interfaces/aztec-node-admin.d.ts +106 -255
  249. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  250. package/dest/interfaces/aztec-node-admin.js +68 -17
  251. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  252. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  253. package/dest/interfaces/aztec-node-debug.js +21 -0
  254. package/dest/interfaces/aztec-node.d.ts +142 -154
  255. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  256. package/dest/interfaces/aztec-node.js +313 -74
  257. package/dest/interfaces/block-builder.d.ts +46 -11
  258. package/dest/interfaces/block-builder.d.ts.map +1 -1
  259. package/dest/interfaces/block-builder.js +16 -2
  260. package/dest/interfaces/block_response.d.ts +90 -0
  261. package/dest/interfaces/block_response.d.ts.map +1 -0
  262. package/dest/interfaces/block_response.js +30 -0
  263. package/dest/interfaces/chain_tips.d.ts +50 -0
  264. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  265. package/dest/interfaces/chain_tips.js +11 -0
  266. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  267. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  268. package/dest/interfaces/checkpoint_parameter.js +18 -0
  269. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  270. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  271. package/dest/interfaces/checkpoint_response.js +26 -0
  272. package/dest/interfaces/client.d.ts +8 -2
  273. package/dest/interfaces/client.d.ts.map +1 -1
  274. package/dest/interfaces/client.js +7 -1
  275. package/dest/interfaces/configs.d.ts +73 -117
  276. package/dest/interfaces/configs.d.ts.map +1 -1
  277. package/dest/interfaces/configs.js +18 -3
  278. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  279. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  280. package/dest/interfaces/l1_publish_info.js +26 -0
  281. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  282. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  283. package/dest/interfaces/l2_logs_source.js +5 -0
  284. package/dest/interfaces/merkle_tree_operations.d.ts +21 -24
  285. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  286. package/dest/interfaces/p2p-bootstrap.js +8 -2
  287. package/dest/interfaces/p2p.d.ts +18 -13
  288. package/dest/interfaces/p2p.d.ts.map +1 -1
  289. package/dest/interfaces/p2p.js +28 -5
  290. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  291. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  292. package/dest/interfaces/prover-agent.d.ts +5 -23
  293. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  294. package/dest/interfaces/prover-agent.js +4 -1
  295. package/dest/interfaces/prover-broker.d.ts +16 -1
  296. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  297. package/dest/interfaces/prover-broker.js +4 -1
  298. package/dest/interfaces/prover-client.d.ts +12 -23
  299. package/dest/interfaces/prover-client.d.ts.map +1 -1
  300. package/dest/interfaces/prover-client.js +12 -4
  301. package/dest/interfaces/prover-node.js +22 -8
  302. package/dest/interfaces/proving-job-source.js +24 -4
  303. package/dest/interfaces/proving-job.d.ts +763 -5814
  304. package/dest/interfaces/proving-job.d.ts.map +1 -1
  305. package/dest/interfaces/proving-job.js +1 -1
  306. package/dest/interfaces/public_storage_override.d.ts +22 -0
  307. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  308. package/dest/interfaces/public_storage_override.js +7 -0
  309. package/dest/interfaces/server.d.ts +6 -2
  310. package/dest/interfaces/server.d.ts.map +1 -1
  311. package/dest/interfaces/server.js +5 -1
  312. package/dest/interfaces/slasher.d.ts +27 -59
  313. package/dest/interfaces/slasher.d.ts.map +1 -1
  314. package/dest/interfaces/slasher.js +10 -4
  315. package/dest/interfaces/tx_provider.d.ts +6 -1
  316. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  317. package/dest/interfaces/validator.d.ts +77 -169
  318. package/dest/interfaces/validator.d.ts.map +1 -1
  319. package/dest/interfaces/validator.js +16 -5
  320. package/dest/interfaces/world_state.d.ts +6 -5
  321. package/dest/interfaces/world_state.d.ts.map +1 -1
  322. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  323. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  324. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  325. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  326. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  327. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  328. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  329. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  330. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  331. package/dest/kernel/hints/index.d.ts +3 -4
  332. package/dest/kernel/hints/index.d.ts.map +1 -1
  333. package/dest/kernel/hints/index.js +2 -3
  334. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  335. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  336. package/dest/kernel/hints/key_validation_request.js +20 -18
  337. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  338. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  339. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  340. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  341. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  342. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  343. package/dest/kernel/index.d.ts +5 -1
  344. package/dest/kernel/index.d.ts.map +1 -1
  345. package/dest/kernel/index.js +4 -0
  346. package/dest/kernel/log_hash.d.ts +6 -2
  347. package/dest/kernel/log_hash.d.ts.map +1 -1
  348. package/dest/kernel/log_hash.js +21 -9
  349. package/dest/kernel/private_circuit_public_inputs.d.ts +10 -10
  350. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  351. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  352. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +4 -4
  353. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  354. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  355. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  356. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  357. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  358. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  359. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  360. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  361. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  362. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  363. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  364. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  365. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  366. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  367. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  368. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  369. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  370. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  371. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  372. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
  373. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  374. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  375. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  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 +32 -13
  378. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  379. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  380. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  381. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  382. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  383. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  384. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  385. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  387. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  388. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  389. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  390. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  391. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  392. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  393. package/dest/kernel/private_validation_requests.d.ts +3 -3
  394. package/dest/kernel/private_validation_requests.js +9 -9
  395. package/dest/kernel/public_call_request.d.ts +15 -30
  396. package/dest/kernel/public_call_request.d.ts.map +1 -1
  397. package/dest/kernel/public_call_request.js +16 -7
  398. package/dest/kernel/utils/index.d.ts +1 -2
  399. package/dest/kernel/utils/index.d.ts.map +1 -1
  400. package/dest/kernel/utils/index.js +0 -1
  401. package/dest/keys/derivation.d.ts +9 -5
  402. package/dest/keys/derivation.d.ts.map +1 -1
  403. package/dest/keys/derivation.js +28 -18
  404. package/dest/keys/key_types.d.ts +3 -3
  405. package/dest/keys/key_types.d.ts.map +1 -1
  406. package/dest/keys/public_key.d.ts +22 -3
  407. package/dest/keys/public_key.d.ts.map +1 -1
  408. package/dest/keys/public_key.js +20 -1
  409. package/dest/keys/public_keys.d.ts +55 -82
  410. package/dest/keys/public_keys.d.ts.map +1 -1
  411. package/dest/keys/public_keys.js +102 -74
  412. package/dest/keys/utils.d.ts +1 -1
  413. package/dest/keys/utils.d.ts.map +1 -1
  414. package/dest/keys/utils.js +8 -4
  415. package/dest/kv-store/config.d.ts +14 -0
  416. package/dest/kv-store/config.d.ts.map +1 -0
  417. package/dest/kv-store/config.js +21 -0
  418. package/dest/kv-store/index.d.ts +2 -0
  419. package/dest/kv-store/index.d.ts.map +1 -0
  420. package/dest/kv-store/index.js +1 -0
  421. package/dest/l1-contracts/index.d.ts +2 -2
  422. package/dest/l1-contracts/index.d.ts.map +1 -1
  423. package/dest/l1-contracts/index.js +1 -1
  424. package/dest/logs/app_tagging_secret.d.ts +46 -0
  425. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  426. package/dest/logs/app_tagging_secret.js +109 -0
  427. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  428. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  429. package/dest/logs/app_tagging_secret_kind.js +17 -0
  430. package/dest/logs/contract_class_log.d.ts +16 -34
  431. package/dest/logs/contract_class_log.d.ts.map +1 -1
  432. package/dest/logs/contract_class_log.js +11 -9
  433. package/dest/logs/debug_log_store.d.ts +30 -0
  434. package/dest/logs/debug_log_store.d.ts.map +1 -0
  435. package/dest/logs/debug_log_store.js +30 -0
  436. package/dest/logs/index.d.ts +9 -7
  437. package/dest/logs/index.d.ts.map +1 -1
  438. package/dest/logs/index.js +8 -6
  439. package/dest/logs/log_cursor.d.ts +51 -0
  440. package/dest/logs/log_cursor.d.ts.map +1 -0
  441. package/dest/logs/log_cursor.js +82 -0
  442. package/dest/logs/log_result.d.ts +54 -0
  443. package/dest/logs/log_result.d.ts.map +1 -0
  444. package/dest/logs/log_result.js +56 -0
  445. package/dest/logs/logs_query.d.ts +82 -0
  446. package/dest/logs/logs_query.d.ts.map +1 -0
  447. package/dest/logs/logs_query.js +50 -0
  448. package/dest/logs/message_context.d.ts +6 -8
  449. package/dest/logs/message_context.d.ts.map +1 -1
  450. package/dest/logs/message_context.js +27 -9
  451. package/dest/logs/pending_tagged_log.d.ts +2 -3
  452. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  453. package/dest/logs/pending_tagged_log.js +2 -2
  454. package/dest/logs/pre_tag.d.ts +14 -22
  455. package/dest/logs/pre_tag.d.ts.map +1 -1
  456. package/dest/logs/pre_tag.js +2 -2
  457. package/dest/logs/private_log.d.ts +8 -13
  458. package/dest/logs/private_log.d.ts.map +1 -1
  459. package/dest/logs/private_log.js +6 -3
  460. package/dest/logs/public_log.d.ts +4 -3
  461. package/dest/logs/public_log.d.ts.map +1 -1
  462. package/dest/logs/public_log.js +2 -1
  463. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  464. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  465. package/dest/logs/query_all_logs_by_tags.js +64 -0
  466. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  467. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  468. package/dest/logs/shared_secret_derivation.js +15 -9
  469. package/dest/logs/siloed_tag.d.ts +12 -9
  470. package/dest/logs/siloed_tag.d.ts.map +1 -1
  471. package/dest/logs/siloed_tag.js +18 -6
  472. package/dest/logs/tag.d.ts +5 -6
  473. package/dest/logs/tag.d.ts.map +1 -1
  474. package/dest/logs/tag.js +5 -1
  475. package/dest/logs/tagging_index_range.d.ts +22 -0
  476. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  477. package/dest/logs/tagging_index_range.js +8 -0
  478. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  479. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  480. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  481. package/dest/messaging/index.d.ts +2 -1
  482. package/dest/messaging/index.d.ts.map +1 -1
  483. package/dest/messaging/index.js +1 -0
  484. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  485. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  486. package/dest/messaging/l1_to_l2_message.js +11 -13
  487. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  488. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  489. package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
  490. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  491. package/dest/messaging/l2_to_l1_membership.js +133 -30
  492. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  493. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  494. package/dest/messaging/l2_to_l1_message.js +21 -12
  495. package/dest/noir/index.d.ts +5 -3
  496. package/dest/noir/index.d.ts.map +1 -1
  497. package/dest/note/index.d.ts +1 -2
  498. package/dest/note/index.d.ts.map +1 -1
  499. package/dest/note/index.js +0 -1
  500. package/dest/note/note.d.ts +2 -2
  501. package/dest/note/note.d.ts.map +1 -1
  502. package/dest/note/note_dao.d.ts +1 -1
  503. package/dest/note/note_dao.d.ts.map +1 -1
  504. package/dest/note/note_dao.js +1 -4
  505. package/dest/p2p/attestation_utils.d.ts +11 -1
  506. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  507. package/dest/p2p/attestation_utils.js +45 -0
  508. package/dest/p2p/block_proposal.d.ts +41 -17
  509. package/dest/p2p/block_proposal.d.ts.map +1 -1
  510. package/dest/p2p/block_proposal.js +58 -42
  511. package/dest/p2p/checkpoint_attestation.d.ts +16 -9
  512. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  513. package/dest/p2p/checkpoint_attestation.js +23 -24
  514. package/dest/p2p/checkpoint_proposal.d.ts +59 -26
  515. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  516. package/dest/p2p/checkpoint_proposal.js +77 -65
  517. package/dest/p2p/client_type.d.ts +2 -5
  518. package/dest/p2p/client_type.d.ts.map +1 -1
  519. package/dest/p2p/client_type.js +0 -7
  520. package/dest/p2p/consensus_payload.d.ts +32 -17
  521. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  522. package/dest/p2p/consensus_payload.js +47 -21
  523. package/dest/p2p/constants.d.ts +3 -1
  524. package/dest/p2p/constants.d.ts.map +1 -1
  525. package/dest/p2p/constants.js +1 -0
  526. package/dest/p2p/gossipable.d.ts +4 -4
  527. package/dest/p2p/gossipable.d.ts.map +1 -1
  528. package/dest/p2p/index.d.ts +1 -3
  529. package/dest/p2p/index.d.ts.map +1 -1
  530. package/dest/p2p/index.js +0 -2
  531. package/dest/p2p/peer_error.d.ts +3 -1
  532. package/dest/p2p/peer_error.d.ts.map +1 -1
  533. package/dest/p2p/peer_error.js +5 -0
  534. package/dest/p2p/signature_utils.d.ts +28 -19
  535. package/dest/p2p/signature_utils.d.ts.map +1 -1
  536. package/dest/p2p/signature_utils.js +118 -21
  537. package/dest/p2p/signed_txs.d.ts +15 -13
  538. package/dest/p2p/signed_txs.d.ts.map +1 -1
  539. package/dest/p2p/signed_txs.js +26 -24
  540. package/dest/p2p/topic_type.d.ts +3 -4
  541. package/dest/p2p/topic_type.d.ts.map +1 -1
  542. package/dest/p2p/topic_type.js +7 -24
  543. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  544. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  545. package/dest/parity/parity_base_private_inputs.js +7 -5
  546. package/dest/parity/parity_public_inputs.d.ts +8 -4
  547. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  548. package/dest/parity/parity_public_inputs.js +6 -3
  549. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  550. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  551. package/dest/proofs/chonk_proof.d.ts +57 -7
  552. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  553. package/dest/proofs/chonk_proof.js +112 -15
  554. package/dest/proofs/recursive_proof.d.ts +2 -2
  555. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  556. package/dest/rollup/block_headers_hash.d.ts +1 -1
  557. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  558. package/dest/rollup/block_headers_hash.js +8 -2
  559. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  560. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  561. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  562. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  563. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  564. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  565. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  566. package/dest/rollup/checkpoint_header.d.ts +2 -2
  567. package/dest/rollup/checkpoint_header.js +2 -2
  568. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  569. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  570. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
  571. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  572. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
  573. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
  574. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  575. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  576. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  577. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  578. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  579. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  580. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  581. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  582. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  583. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  584. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  585. package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
  586. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  587. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  588. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  589. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  590. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  591. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  592. package/dest/schemas/schemas.d.ts +32 -78
  593. package/dest/schemas/schemas.d.ts.map +1 -1
  594. package/dest/schemas/schemas.js +2 -2
  595. package/dest/slashing/helpers.d.ts +2 -2
  596. package/dest/slashing/helpers.d.ts.map +1 -1
  597. package/dest/slashing/helpers.js +16 -7
  598. package/dest/slashing/index.d.ts +2 -3
  599. package/dest/slashing/index.d.ts.map +1 -1
  600. package/dest/slashing/index.js +1 -2
  601. package/dest/slashing/serialization.d.ts +2 -6
  602. package/dest/slashing/serialization.d.ts.map +1 -1
  603. package/dest/slashing/serialization.js +0 -60
  604. package/dest/slashing/types.d.ts +21 -111
  605. package/dest/slashing/types.d.ts.map +1 -1
  606. package/dest/slashing/types.js +28 -24
  607. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  608. package/dest/slashing/votes.d.ts.map +1 -0
  609. package/dest/slashing/{tally.js → votes.js} +35 -3
  610. package/dest/snapshots/types.d.ts +15 -78
  611. package/dest/snapshots/types.d.ts.map +1 -1
  612. package/dest/stats/stats.d.ts +2 -4
  613. package/dest/stats/stats.d.ts.map +1 -1
  614. package/dest/tests/factories.d.ts +25 -56
  615. package/dest/tests/factories.d.ts.map +1 -1
  616. package/dest/tests/factories.js +94 -116
  617. package/dest/tests/mocks.d.ts +19 -7
  618. package/dest/tests/mocks.d.ts.map +1 -1
  619. package/dest/tests/mocks.js +71 -72
  620. package/dest/timetable/index.d.ts +84 -0
  621. package/dest/timetable/index.d.ts.map +1 -0
  622. package/dest/timetable/index.js +209 -0
  623. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  624. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  625. package/dest/trees/append_only_tree_snapshot.js +6 -3
  626. package/dest/trees/nullifier_leaf.d.ts +19 -42
  627. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  628. package/dest/trees/nullifier_leaf.js +3 -0
  629. package/dest/trees/nullifier_membership_witness.d.ts +16 -59
  630. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  631. package/dest/trees/nullifier_membership_witness.js +2 -14
  632. package/dest/trees/public_data_leaf.d.ts +22 -53
  633. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  634. package/dest/trees/public_data_leaf.js +7 -6
  635. package/dest/trees/public_data_witness.d.ts +16 -58
  636. package/dest/trees/public_data_witness.d.ts.map +1 -1
  637. package/dest/tx/block_header.d.ts +9 -6
  638. package/dest/tx/block_header.d.ts.map +1 -1
  639. package/dest/tx/block_header.js +14 -7
  640. package/dest/tx/call_context.d.ts +4 -14
  641. package/dest/tx/call_context.d.ts.map +1 -1
  642. package/dest/tx/capsule.d.ts +7 -3
  643. package/dest/tx/capsule.d.ts.map +1 -1
  644. package/dest/tx/capsule.js +9 -3
  645. package/dest/tx/fee_provider.d.ts +10 -0
  646. package/dest/tx/fee_provider.d.ts.map +1 -0
  647. package/dest/tx/fee_provider.js +1 -0
  648. package/dest/tx/function_data.d.ts +4 -10
  649. package/dest/tx/function_data.d.ts.map +1 -1
  650. package/dest/tx/global_variable_builder.d.ts +3 -4
  651. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  652. package/dest/tx/global_variables.d.ts +19 -52
  653. package/dest/tx/global_variables.d.ts.map +1 -1
  654. package/dest/tx/global_variables.js +8 -12
  655. package/dest/tx/hashed_values.d.ts +4 -3
  656. package/dest/tx/hashed_values.d.ts.map +1 -1
  657. package/dest/tx/hashed_values.js +6 -3
  658. package/dest/tx/in_tx.d.ts +6 -18
  659. package/dest/tx/in_tx.d.ts.map +1 -1
  660. package/dest/tx/index.d.ts +2 -2
  661. package/dest/tx/index.d.ts.map +1 -1
  662. package/dest/tx/index.js +1 -1
  663. package/dest/tx/indexed_tx_effect.d.ts +10 -21
  664. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  665. package/dest/tx/indexed_tx_effect.js +10 -6
  666. package/dest/tx/partial_state_reference.d.ts +22 -65
  667. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  668. package/dest/tx/partial_state_reference.js +6 -3
  669. package/dest/tx/private_execution_result.d.ts +11 -21
  670. package/dest/tx/private_execution_result.d.ts.map +1 -1
  671. package/dest/tx/private_execution_result.js +6 -6
  672. package/dest/tx/profiling.d.ts +70 -356
  673. package/dest/tx/profiling.d.ts.map +1 -1
  674. package/dest/tx/profiling.js +19 -9
  675. package/dest/tx/protocol_contracts.d.ts +5 -9
  676. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  677. package/dest/tx/protocol_contracts.js +2 -2
  678. package/dest/tx/proven_tx.d.ts +30 -74
  679. package/dest/tx/proven_tx.d.ts.map +1 -1
  680. package/dest/tx/proven_tx.js +6 -0
  681. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  682. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  683. package/dest/tx/public_call_request_with_calldata.js +6 -3
  684. package/dest/tx/public_simulation_output.d.ts +4 -2
  685. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  686. package/dest/tx/public_simulation_output.js +7 -3
  687. package/dest/tx/simulated_tx.d.ts +68 -1144
  688. package/dest/tx/simulated_tx.d.ts.map +1 -1
  689. package/dest/tx/simulated_tx.js +17 -12
  690. package/dest/tx/state_reference.d.ts +30 -117
  691. package/dest/tx/state_reference.d.ts.map +1 -1
  692. package/dest/tx/state_reference.js +6 -4
  693. package/dest/tx/tree_snapshots.d.ts +27 -84
  694. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  695. package/dest/tx/tree_snapshots.js +6 -4
  696. package/dest/tx/tx.d.ts +19 -17
  697. package/dest/tx/tx.d.ts.map +1 -1
  698. package/dest/tx/tx.js +48 -29
  699. package/dest/tx/tx_constant_data.d.ts +4 -3
  700. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  701. package/dest/tx/tx_constant_data.js +6 -3
  702. package/dest/tx/tx_context.d.ts +32 -131
  703. package/dest/tx/tx_context.d.ts.map +1 -1
  704. package/dest/tx/tx_context.js +6 -6
  705. package/dest/tx/tx_hash.d.ts +6 -4
  706. package/dest/tx/tx_hash.d.ts.map +1 -1
  707. package/dest/tx/tx_hash.js +13 -5
  708. package/dest/tx/tx_receipt.d.ts +152 -52
  709. package/dest/tx/tx_receipt.d.ts.map +1 -1
  710. package/dest/tx/tx_receipt.js +146 -52
  711. package/dest/tx/tx_request.js +2 -2
  712. package/dest/tx/validator/error_texts.d.ts +10 -2
  713. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  714. package/dest/tx/validator/error_texts.js +11 -1
  715. package/dest/tx/validator/tx_validator.d.ts +6 -28
  716. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  717. package/dest/tx/validator/tx_validator.js +0 -4
  718. package/dest/types/shared.d.ts +4 -12
  719. package/dest/types/shared.d.ts.map +1 -1
  720. package/dest/types/shared.js +6 -12
  721. package/dest/update-checker/dev_version.d.ts +3 -0
  722. package/dest/update-checker/dev_version.d.ts.map +1 -0
  723. package/dest/update-checker/dev_version.js +1 -0
  724. package/dest/update-checker/index.d.ts +4 -2
  725. package/dest/update-checker/index.d.ts.map +1 -1
  726. package/dest/update-checker/index.js +3 -1
  727. package/dest/update-checker/package_version.d.ts +6 -0
  728. package/dest/update-checker/package_version.d.ts.map +1 -0
  729. package/dest/update-checker/package_version.js +13 -0
  730. package/dest/update-checker/version_checker.d.ts +25 -0
  731. package/dest/update-checker/version_checker.d.ts.map +1 -0
  732. package/dest/update-checker/version_checker.js +50 -0
  733. package/dest/validators/errors.d.ts +6 -1
  734. package/dest/validators/errors.d.ts.map +1 -1
  735. package/dest/validators/errors.js +7 -0
  736. package/dest/validators/schemas.d.ts +147 -614
  737. package/dest/validators/schemas.d.ts.map +1 -1
  738. package/dest/validators/schemas.js +9 -6
  739. package/dest/validators/types.d.ts +21 -4
  740. package/dest/validators/types.d.ts.map +1 -1
  741. package/dest/versioning/versioning.d.ts +4 -2
  742. package/dest/versioning/versioning.d.ts.map +1 -1
  743. package/dest/versioning/versioning.js +5 -2
  744. package/dest/vks/verification_key.d.ts +4 -139
  745. package/dest/vks/verification_key.d.ts.map +1 -1
  746. package/dest/vks/verification_key.js +5 -126
  747. package/dest/world-state/genesis_data.d.ts +13 -0
  748. package/dest/world-state/genesis_data.d.ts.map +1 -0
  749. package/dest/world-state/genesis_data.js +7 -0
  750. package/dest/world-state/index.d.ts +2 -1
  751. package/dest/world-state/index.d.ts.map +1 -1
  752. package/dest/world-state/index.js +1 -0
  753. package/dest/world-state/world_state_revision.d.ts +11 -39
  754. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  755. package/dest/world-state/world_state_revision.js +7 -21
  756. package/package.json +29 -15
  757. package/src/abi/abi.ts +78 -21
  758. package/src/abi/authorization_selector.ts +2 -8
  759. package/src/abi/buffer.ts +25 -4
  760. package/src/abi/contract_artifact.ts +11 -6
  761. package/src/abi/decoder.ts +36 -82
  762. package/src/abi/encoder.ts +85 -6
  763. package/src/abi/event_metadata_definition.ts +2 -0
  764. package/src/abi/event_selector.ts +2 -8
  765. package/src/abi/function_call.ts +25 -3
  766. package/src/abi/function_selector.ts +4 -13
  767. package/src/abi/function_signature_decoder.ts +77 -0
  768. package/src/abi/index.ts +1 -0
  769. package/src/abi/note_selector.ts +3 -12
  770. package/src/abi/selector.ts +1 -1
  771. package/src/abi/utils.ts +31 -4
  772. package/src/auth_witness/auth_witness.ts +3 -3
  773. package/src/avm/avm.ts +5 -0
  774. package/src/avm/index.ts +0 -5
  775. package/src/avm/message_pack.ts +12 -3
  776. package/src/avm/revert_code.ts +20 -25
  777. package/src/aztec-address/index.ts +15 -12
  778. package/src/block/attestation_info.ts +11 -11
  779. package/src/block/block_data.ts +25 -0
  780. package/src/block/block_hash.ts +31 -49
  781. package/src/block/block_parameter.ts +73 -5
  782. package/src/block/in_block.ts +6 -6
  783. package/src/block/index.ts +1 -1
  784. package/src/block/l2_block.ts +16 -4
  785. package/src/block/l2_block_info.ts +8 -6
  786. package/src/block/l2_block_source.ts +214 -122
  787. package/src/block/l2_block_stream/interfaces.ts +6 -2
  788. package/src/block/l2_block_stream/l2_block_stream.ts +49 -17
  789. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  790. package/src/block/l2_block_stream/l2_tips_store_base.ts +53 -19
  791. package/src/block/proposal/attestations_and_signers.ts +32 -17
  792. package/src/block/test/l2_tips_store_test_suite.ts +10 -3
  793. package/src/checkpoint/checkpoint.ts +54 -17
  794. package/src/checkpoint/checkpoint_data.ts +91 -0
  795. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  796. package/src/checkpoint/digest.ts +28 -0
  797. package/src/checkpoint/index.ts +5 -0
  798. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  799. package/src/checkpoint/published_checkpoint.ts +3 -1
  800. package/src/checkpoint/validate.ts +230 -0
  801. package/src/config/chain-config.ts +13 -16
  802. package/src/config/index.ts +1 -0
  803. package/src/config/sequencer-config.ts +65 -0
  804. package/src/contract/complete_address.ts +7 -3
  805. package/src/contract/contract_address.ts +10 -10
  806. package/src/contract/contract_class.ts +3 -3
  807. package/src/contract/contract_class_id.ts +7 -6
  808. package/src/contract/contract_instance.ts +11 -2
  809. package/src/contract/index.ts +0 -3
  810. package/src/contract/interfaces/contract_class.ts +2 -82
  811. package/src/contract/interfaces/contract_instance.ts +6 -2
  812. package/src/contract/interfaces/node-info.ts +3 -0
  813. package/src/contract/private_function.ts +5 -3
  814. package/src/database-version/database_version.ts +87 -0
  815. package/src/database-version/version_manager.ts +18 -77
  816. package/src/epoch-helpers/index.ts +39 -0
  817. package/src/file-store/factory.ts +13 -4
  818. package/src/file-store/http.ts +29 -10
  819. package/src/file-store/index.ts +1 -0
  820. package/src/file-store/local.ts +15 -5
  821. package/src/file-store/s3.ts +12 -3
  822. package/src/gas/README.md +154 -0
  823. package/src/gas/fee_math.ts +120 -0
  824. package/src/gas/gas.ts +8 -3
  825. package/src/gas/gas_fees.ts +29 -10
  826. package/src/gas/gas_settings.ts +73 -15
  827. package/src/gas/index.ts +1 -0
  828. package/src/ha-signing/config.ts +152 -0
  829. package/src/ha-signing/index.ts +29 -0
  830. package/src/ha-signing/local_config.ts +46 -0
  831. package/src/ha-signing/types.ts +126 -0
  832. package/src/hash/hash.ts +76 -11
  833. package/src/hash/map_slot.ts +3 -2
  834. package/src/interfaces/allowed_element.ts +29 -9
  835. package/src/interfaces/api_limit.ts +1 -1
  836. package/src/interfaces/archiver.ts +90 -87
  837. package/src/interfaces/aztec-node-admin.ts +57 -18
  838. package/src/interfaces/aztec-node-debug.ts +40 -0
  839. package/src/interfaces/aztec-node.ts +346 -329
  840. package/src/interfaces/block-builder.ts +70 -11
  841. package/src/interfaces/block_response.ts +92 -0
  842. package/src/interfaces/chain_tips.ts +24 -0
  843. package/src/interfaces/checkpoint_parameter.ts +20 -0
  844. package/src/interfaces/checkpoint_response.ts +84 -0
  845. package/src/interfaces/client.ts +7 -1
  846. package/src/interfaces/configs.ts +75 -8
  847. package/src/interfaces/l1_publish_info.ts +40 -0
  848. package/src/interfaces/l2_logs_source.ts +13 -39
  849. package/src/interfaces/merkle_tree_operations.ts +21 -23
  850. package/src/interfaces/p2p-bootstrap.ts +2 -2
  851. package/src/interfaces/p2p.ts +38 -29
  852. package/src/interfaces/private_kernel_prover.ts +88 -0
  853. package/src/interfaces/prover-agent.ts +1 -1
  854. package/src/interfaces/prover-broker.ts +22 -0
  855. package/src/interfaces/prover-client.ts +17 -5
  856. package/src/interfaces/prover-node.ts +7 -7
  857. package/src/interfaces/proving-job-source.ts +4 -4
  858. package/src/interfaces/proving-job.ts +3 -3
  859. package/src/interfaces/public_storage_override.ts +26 -0
  860. package/src/interfaces/server.ts +5 -1
  861. package/src/interfaces/slasher.ts +21 -10
  862. package/src/interfaces/tx_provider.ts +6 -0
  863. package/src/interfaces/validator.ts +87 -37
  864. package/src/interfaces/world_state.ts +5 -4
  865. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  866. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  867. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  868. package/src/kernel/hints/index.ts +2 -3
  869. package/src/kernel/hints/key_validation_request.ts +18 -16
  870. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  871. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  872. package/src/kernel/index.ts +4 -0
  873. package/src/kernel/log_hash.ts +29 -9
  874. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  875. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  876. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  877. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  878. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  879. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  880. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  881. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  882. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  883. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  884. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  885. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  886. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  887. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  888. package/src/kernel/private_validation_requests.ts +8 -8
  889. package/src/kernel/public_call_request.ts +22 -7
  890. package/src/kernel/utils/index.ts +0 -1
  891. package/src/keys/derivation.ts +33 -21
  892. package/src/keys/key_types.ts +6 -2
  893. package/src/keys/public_key.ts +26 -2
  894. package/src/keys/public_keys.ts +125 -111
  895. package/src/keys/utils.ts +8 -4
  896. package/src/kv-store/config.ts +29 -0
  897. package/src/kv-store/index.ts +1 -0
  898. package/src/l1-contracts/index.ts +1 -1
  899. package/src/logs/app_tagging_secret.ts +137 -0
  900. package/src/logs/app_tagging_secret_kind.ts +21 -0
  901. package/src/logs/contract_class_log.ts +15 -5
  902. package/src/logs/debug_log_store.ts +54 -0
  903. package/src/logs/index.ts +8 -6
  904. package/src/logs/log_cursor.ts +110 -0
  905. package/src/logs/log_result.ts +104 -0
  906. package/src/logs/logs_query.ts +138 -0
  907. package/src/logs/message_context.ts +22 -8
  908. package/src/logs/pending_tagged_log.ts +1 -3
  909. package/src/logs/pre_tag.ts +3 -6
  910. package/src/logs/private_log.ts +9 -3
  911. package/src/logs/public_log.ts +4 -2
  912. package/src/logs/query_all_logs_by_tags.ts +98 -0
  913. package/src/logs/shared_secret_derivation.ts +21 -10
  914. package/src/logs/siloed_tag.ts +28 -13
  915. package/src/logs/tag.ts +9 -9
  916. package/src/logs/tagging_index_range.ts +18 -0
  917. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  918. package/src/messaging/index.ts +1 -0
  919. package/src/messaging/l1_to_l2_message.ts +12 -9
  920. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  921. package/src/messaging/l2_to_l1_membership.ts +192 -38
  922. package/src/messaging/l2_to_l1_message.ts +29 -9
  923. package/src/noir/index.ts +4 -2
  924. package/src/note/index.ts +0 -1
  925. package/src/note/note_dao.ts +1 -4
  926. package/src/p2p/attestation_utils.ts +56 -0
  927. package/src/p2p/block_proposal.ts +121 -41
  928. package/src/p2p/checkpoint_attestation.ts +33 -32
  929. package/src/p2p/checkpoint_proposal.ts +168 -88
  930. package/src/p2p/client_type.ts +0 -6
  931. package/src/p2p/consensus_payload.ts +68 -24
  932. package/src/p2p/constants.ts +3 -0
  933. package/src/p2p/gossipable.ts +4 -4
  934. package/src/p2p/index.ts +0 -2
  935. package/src/p2p/peer_error.ts +7 -0
  936. package/src/p2p/signature_utils.ts +110 -25
  937. package/src/p2p/signed_txs.ts +46 -28
  938. package/src/p2p/topic_type.ts +8 -15
  939. package/src/parity/parity_base_private_inputs.ts +10 -4
  940. package/src/parity/parity_public_inputs.ts +9 -2
  941. package/src/proofs/chonk_proof.ts +132 -12
  942. package/src/rollup/block_headers_hash.ts +11 -2
  943. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  944. package/src/rollup/checkpoint_header.ts +2 -2
  945. package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -5
  946. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  947. package/src/schemas/schemas.ts +6 -1
  948. package/src/slashing/helpers.ts +21 -9
  949. package/src/slashing/index.ts +1 -2
  950. package/src/slashing/serialization.ts +1 -81
  951. package/src/slashing/types.ts +38 -49
  952. package/src/slashing/{tally.ts → votes.ts} +41 -2
  953. package/src/stats/stats.ts +4 -2
  954. package/src/tests/factories.ts +120 -157
  955. package/src/tests/mocks.ts +111 -87
  956. package/src/timetable/index.ts +304 -0
  957. package/src/trees/append_only_tree_snapshot.ts +8 -3
  958. package/src/trees/nullifier_leaf.ts +4 -0
  959. package/src/trees/nullifier_membership_witness.ts +2 -12
  960. package/src/trees/public_data_leaf.ts +11 -5
  961. package/src/tx/block_header.ts +22 -11
  962. package/src/tx/capsule.ts +10 -2
  963. package/src/tx/fee_provider.ts +10 -0
  964. package/src/tx/global_variable_builder.ts +2 -3
  965. package/src/tx/global_variables.ts +13 -21
  966. package/src/tx/hashed_values.ts +8 -3
  967. package/src/tx/index.ts +1 -1
  968. package/src/tx/indexed_tx_effect.ts +19 -6
  969. package/src/tx/partial_state_reference.ts +8 -3
  970. package/src/tx/private_execution_result.ts +5 -5
  971. package/src/tx/profiling.ts +18 -9
  972. package/src/tx/protocol_contracts.ts +2 -2
  973. package/src/tx/proven_tx.ts +6 -0
  974. package/src/tx/public_call_request_with_calldata.ts +8 -3
  975. package/src/tx/public_simulation_output.ts +4 -0
  976. package/src/tx/simulated_tx.ts +30 -22
  977. package/src/tx/state_reference.ts +9 -4
  978. package/src/tx/tree_snapshots.ts +9 -4
  979. package/src/tx/tx.ts +63 -35
  980. package/src/tx/tx_constant_data.ts +8 -3
  981. package/src/tx/tx_context.ts +8 -3
  982. package/src/tx/tx_hash.ts +20 -5
  983. package/src/tx/tx_receipt.ts +270 -75
  984. package/src/tx/tx_request.ts +2 -2
  985. package/src/tx/validator/error_texts.ts +13 -1
  986. package/src/tx/validator/tx_validator.ts +2 -6
  987. package/src/types/shared.ts +8 -13
  988. package/src/update-checker/dev_version.ts +2 -0
  989. package/src/update-checker/index.ts +3 -1
  990. package/src/update-checker/package_version.ts +17 -0
  991. package/src/update-checker/version_checker.ts +65 -0
  992. package/src/validators/errors.ts +9 -0
  993. package/src/validators/schemas.ts +13 -4
  994. package/src/validators/types.ts +25 -5
  995. package/src/versioning/versioning.ts +5 -2
  996. package/src/vks/verification_key.ts +5 -184
  997. package/src/world-state/genesis_data.ts +27 -0
  998. package/src/world-state/index.ts +1 -0
  999. package/src/world-state/world_state_revision.ts +9 -34
  1000. package/dest/abi/mocked_keys.d.ts +0 -2
  1001. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1002. package/dest/abi/mocked_keys.js +0 -1
  1003. package/dest/avm/contract_storage_read.d.ts +0 -58
  1004. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  1005. package/dest/avm/contract_storage_read.js +0 -65
  1006. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  1007. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  1008. package/dest/avm/contract_storage_update_request.js +0 -80
  1009. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  1010. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  1011. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  1012. package/dest/avm/public_data_update_request.d.ts +0 -62
  1013. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  1014. package/dest/avm/public_data_update_request.js +0 -67
  1015. package/dest/avm/public_inner_call_request.d.ts +0 -50
  1016. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  1017. package/dest/avm/public_inner_call_request.js +0 -74
  1018. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1019. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1020. package/dest/block/checkpointed_l2_block.js +0 -46
  1021. package/dest/contract/deployment_info.d.ts +0 -24
  1022. package/dest/contract/deployment_info.d.ts.map +0 -1
  1023. package/dest/contract/deployment_info.js +0 -3
  1024. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1025. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1026. package/dest/contract/private_function_membership_proof.js +0 -124
  1027. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1028. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1029. package/dest/contract/utility_function_membership_proof.js +0 -87
  1030. package/dest/database-version/index.d.ts +0 -2
  1031. package/dest/database-version/index.d.ts.map +0 -1
  1032. package/dest/database-version/index.js +0 -1
  1033. package/dest/interfaces/get_logs_response.d.ts +0 -90
  1034. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1035. package/dest/interfaces/get_logs_response.js +0 -12
  1036. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1037. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1038. package/dest/interfaces/prover-coordination.js +0 -1
  1039. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  1040. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1041. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1042. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1043. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1044. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1045. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1046. package/dest/kernel/utils/optional_number.js +0 -42
  1047. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1048. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1049. package/dest/l1-contracts/slash_factory.js +0 -157
  1050. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  1051. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1052. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1053. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1054. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1055. package/dest/logs/extended_contract_class_log.js +0 -67
  1056. package/dest/logs/extended_public_log.d.ts +0 -100
  1057. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1058. package/dest/logs/extended_public_log.js +0 -73
  1059. package/dest/logs/log_filter.d.ts +0 -22
  1060. package/dest/logs/log_filter.d.ts.map +0 -1
  1061. package/dest/logs/log_filter.js +0 -11
  1062. package/dest/logs/log_id.d.ts +0 -82
  1063. package/dest/logs/log_id.d.ts.map +0 -1
  1064. package/dest/logs/log_id.js +0 -91
  1065. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1066. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1067. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1068. package/dest/note/notes_filter.d.ts +0 -27
  1069. package/dest/note/notes_filter.d.ts.map +0 -1
  1070. package/dest/note/notes_filter.js +0 -11
  1071. package/dest/p2p/interface.d.ts +0 -5
  1072. package/dest/p2p/interface.d.ts.map +0 -1
  1073. package/dest/p2p/interface.js +0 -1
  1074. package/dest/slashing/empire.d.ts +0 -31
  1075. package/dest/slashing/empire.d.ts.map +0 -1
  1076. package/dest/slashing/empire.js +0 -85
  1077. package/dest/slashing/tally.d.ts.map +0 -1
  1078. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1079. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1080. package/dest/tx/validator/empty_validator.js +0 -7
  1081. package/dest/update-checker/update-checker.d.ts +0 -49
  1082. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1083. package/dest/update-checker/update-checker.js +0 -130
  1084. package/src/abi/mocked_keys.ts +0 -2
  1085. package/src/avm/contract_storage_read.ts +0 -77
  1086. package/src/avm/contract_storage_update_request.ts +0 -93
  1087. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1088. package/src/avm/public_data_update_request.ts +0 -106
  1089. package/src/avm/public_inner_call_request.ts +0 -85
  1090. package/src/block/checkpointed_l2_block.ts +0 -70
  1091. package/src/contract/deployment_info.ts +0 -25
  1092. package/src/contract/private_function_membership_proof.ts +0 -167
  1093. package/src/contract/utility_function_membership_proof.ts +0 -118
  1094. package/src/database-version/index.ts +0 -1
  1095. package/src/interfaces/get_logs_response.ts +0 -35
  1096. package/src/interfaces/prover-coordination.ts +0 -17
  1097. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1098. package/src/kernel/utils/optional_number.ts +0 -50
  1099. package/src/l1-contracts/slash_factory.ts +0 -179
  1100. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1101. package/src/logs/extended_contract_class_log.ts +0 -87
  1102. package/src/logs/extended_public_log.ts +0 -94
  1103. package/src/logs/log_filter.ts +0 -31
  1104. package/src/logs/log_id.ts +0 -121
  1105. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1106. package/src/note/notes_filter.ts +0 -38
  1107. package/src/p2p/interface.ts +0 -4
  1108. package/src/slashing/empire.ts +0 -102
  1109. package/src/tx/validator/empty_validator.ts +0 -7
  1110. package/src/update-checker/update-checker.ts +0 -166
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
 
@@ -13,9 +13,9 @@ import type { ContractInstance } from './interfaces/contract_instance.js';
13
13
  /**
14
14
  * Returns the deployment address for a given contract instance.
15
15
  * ```
16
- * salted_initialization_hash = pedersen([salt, initialization_hash, deployer], GENERATOR__SALTED_INITIALIZATION_HASH)
17
- * partial_address = pedersen([contract_class_id, salted_initialization_hash], GENERATOR__CONTRACT_PARTIAL_ADDRESS_V1)
18
- * address = ((poseidon2Hash([public_keys_hash, partial_address, GENERATOR__CONTRACT_ADDRESS_V1]) * G) + ivpk_m).x <- the x-coordinate of the address point
16
+ * salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer, immutables_hash])
17
+ * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
18
+ * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V2, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
19
19
  * ```
20
20
  * @param instance - A contract instance for which to calculate the deployment address.
21
21
  */
@@ -34,7 +34,7 @@ export async function computeContractAddressFromInstance(
34
34
  */
35
35
  export async function computePartialAddress(
36
36
  instance:
37
- | Pick<ContractInstance, 'originalContractClassId' | 'initializationHash' | 'salt' | 'deployer'>
37
+ | Pick<ContractInstance, 'originalContractClassId' | 'initializationHash' | 'salt' | 'deployer' | 'immutablesHash'>
38
38
  | { originalContractClassId: Fr; saltedInitializationHash: Fr },
39
39
  ): Promise<Fr> {
40
40
  const saltedInitializationHash =
@@ -44,7 +44,7 @@ export async function computePartialAddress(
44
44
 
45
45
  return poseidon2HashWithSeparator(
46
46
  [instance.originalContractClassId, saltedInitializationHash],
47
- GeneratorIndex.PARTIAL_ADDRESS,
47
+ DomainSeparator.PARTIAL_ADDRESS,
48
48
  );
49
49
  }
50
50
 
@@ -53,11 +53,11 @@ export async function computePartialAddress(
53
53
  * @param instance - Contract instance for which to compute the salted initialization hash.
54
54
  */
55
55
  export function computeSaltedInitializationHash(
56
- instance: Pick<ContractInstance, 'initializationHash' | 'salt' | 'deployer'>,
56
+ instance: Pick<ContractInstance, 'initializationHash' | 'salt' | 'deployer' | 'immutablesHash'>,
57
57
  ): Promise<Fr> {
58
58
  return poseidon2HashWithSeparator(
59
- [instance.salt, instance.initializationHash, instance.deployer],
60
- GeneratorIndex.PARTIAL_ADDRESS,
59
+ [instance.salt, instance.initializationHash, instance.deployer, instance.immutablesHash],
60
+ DomainSeparator.SALTED_INITIALIZATION_HASH,
61
61
  );
62
62
  }
63
63
 
@@ -87,5 +87,5 @@ export async function computeInitializationHashFromEncodedArgs(
87
87
  encodedArgs: Fr[],
88
88
  ): Promise<Fr> {
89
89
  const argsHash = await computeVarArgsHash(encodedArgs);
90
- return poseidon2HashWithSeparator([initFn, argsHash], GeneratorIndex.CONSTRUCTOR);
90
+ return poseidon2HashWithSeparator([initFn, argsHash], DomainSeparator.INITIALIZER);
91
91
  }
@@ -8,7 +8,7 @@ import { type ContractClassIdPreimage, computeContractClassIdWithPreimage } from
8
8
  import type { ContractClass, ContractClassWithId } from './interfaces/index.js';
9
9
 
10
10
  /** Contract artifact including its artifact hash */
11
- type ContractArtifactWithHash = ContractArtifact & { artifactHash: Fr };
11
+ export type ContractArtifactWithHash = ContractArtifact & { artifactHash: Fr };
12
12
 
13
13
  const cmpFunctionArtifacts = <T extends { selector: FunctionSelector }>(a: T, b: T) =>
14
14
  a.selector.toField().cmp(b.selector.toField());
@@ -35,8 +35,8 @@ export async function getContractClassFromArtifact(
35
35
 
36
36
  privateArtifactFunctions.sort(cmpFunctionArtifacts);
37
37
 
38
- const contractClass: ContractClass = {
39
- version: 1,
38
+ const contractClass = {
39
+ version: 1 as const,
40
40
  artifactHash,
41
41
  packedBytecode,
42
42
  privateFunctions: privateArtifactFunctions,
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS } from '@aztec/constants';
1
+ import { DomainSeparator, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
 
@@ -13,10 +13,10 @@ import { computePrivateFunctionsRoot } from './private_function.js';
13
13
  *
14
14
  * ```
15
15
  * version = 1
16
- * private_function_leaves = private_functions.map(fn => pedersen([fn.function_selector as Field, fn.vk_hash], GENERATOR__FUNCTION_LEAF))
16
+ * private_function_leaves = private_functions.map(fn => poseidon2(DOM_SEP__PRIVATE_FUNCTION_LEAF, [fn.function_selector as Field, fn.vk_hash]))
17
17
  * private_functions_root = merkleize(private_function_leaves)
18
18
  * bytecode_commitment = calculate_commitment(packed_bytecode)
19
- * contract_class_id = pedersen([version, artifact_hash, private_functions_root, bytecode_commitment], GENERATOR__CLASS_IDENTIFIER)
19
+ * contract_class_id = poseidon2(DOM_SEP__CONTRACT_CLASS_ID, [version, artifact_hash, private_functions_root, bytecode_commitment])
20
20
  * ```
21
21
  * @param contractClass - Contract class.
22
22
  * @returns The identifier.
@@ -40,7 +40,7 @@ export async function computeContractClassIdWithPreimage(
40
40
  : await computePublicBytecodeCommitment(contractClass.packedBytecode);
41
41
  const id = await poseidon2HashWithSeparator(
42
42
  [artifactHash, privateFunctionsRoot, publicBytecodeCommitment],
43
- GeneratorIndex.CONTRACT_CLASS_ID,
43
+ DomainSeparator.CONTRACT_CLASS_ID,
44
44
  );
45
45
  return { id, artifactHash, privateFunctionsRoot, publicBytecodeCommitment };
46
46
  }
@@ -60,7 +60,7 @@ export type ContractClassIdPreimage = {
60
60
  };
61
61
 
62
62
  export async function computePublicBytecodeCommitment(packedBytecode: Buffer) {
63
- // Encode the buffer into field elements (chunked into 32 bytes each)
63
+ // Encode the buffer into field elements (chunked into 31 bytes each)
64
64
  // The first element is the length of the bytecode (in bytes)
65
65
  const [bytecodeLengthAsField, ...bytecodeAsFields] = bufferAsFields(
66
66
  packedBytecode,
@@ -72,5 +72,6 @@ export async function computePublicBytecodeCommitment(packedBytecode: Buffer) {
72
72
 
73
73
  // NOTE: hash the bytecode here only up to the actual length of the bytecode.
74
74
  // We do not hash the entire max bytecode length!
75
- return await poseidon2HashWithSeparator(bytecodeAsFields.slice(0, bytecodeLength), GeneratorIndex.PUBLIC_BYTECODE);
75
+ const sep = BigInt(DomainSeparator.PUBLIC_BYTECODE) + (bytecodeLengthAsField.toBigInt() << 32n);
76
+ return await poseidon2HashWithSeparator(bytecodeAsFields.slice(0, bytecodeLength), new Fr(sep).toNumber());
76
77
  }
@@ -20,7 +20,7 @@ import {
20
20
  } from './contract_address.js';
21
21
  import type { ContractInstance, ContractInstanceWithAddress } from './interfaces/contract_instance.js';
22
22
 
23
- const VERSION = 1 as const;
23
+ const VERSION = 2 as const;
24
24
 
25
25
  export type ContractInstantiationData = {
26
26
  constructorArtifact?: FunctionAbi | string;
@@ -29,6 +29,7 @@ export type ContractInstantiationData = {
29
29
  salt: Fr;
30
30
  publicKeys?: PublicKeys;
31
31
  deployer?: AztecAddress;
32
+ immutablesHash?: Fr;
32
33
  };
33
34
 
34
35
  export class SerializableContractInstance {
@@ -38,6 +39,7 @@ export class SerializableContractInstance {
38
39
  public readonly currentContractClassId: Fr;
39
40
  public readonly originalContractClassId: Fr;
40
41
  public readonly initializationHash: Fr;
42
+ public readonly immutablesHash: Fr;
41
43
  public readonly publicKeys: PublicKeys;
42
44
 
43
45
  constructor(instance: ContractInstance) {
@@ -49,6 +51,7 @@ export class SerializableContractInstance {
49
51
  this.currentContractClassId = instance.currentContractClassId;
50
52
  this.originalContractClassId = instance.originalContractClassId;
51
53
  this.initializationHash = instance.initializationHash;
54
+ this.immutablesHash = instance.immutablesHash;
52
55
  this.publicKeys = instance.publicKeys;
53
56
  }
54
57
 
@@ -60,6 +63,7 @@ export class SerializableContractInstance {
60
63
  this.currentContractClassId,
61
64
  this.originalContractClassId,
62
65
  this.initializationHash,
66
+ this.immutablesHash,
63
67
  this.publicKeys,
64
68
  );
65
69
  }
@@ -78,6 +82,7 @@ export class SerializableContractInstance {
78
82
  currentContractClassId: reader.readObject(Fr),
79
83
  originalContractClassId: reader.readObject(Fr),
80
84
  initializationHash: reader.readObject(Fr),
85
+ immutablesHash: reader.readObject(Fr),
81
86
  publicKeys: reader.readObject(PublicKeys),
82
87
  });
83
88
  }
@@ -90,6 +95,7 @@ export class SerializableContractInstance {
90
95
  currentContractClassId: Fr.random(),
91
96
  originalContractClassId: Fr.random(),
92
97
  initializationHash: Fr.random(),
98
+ immutablesHash: Fr.random(),
93
99
  publicKeys: await PublicKeys.random(),
94
100
  ...opts,
95
101
  });
@@ -103,6 +109,7 @@ export class SerializableContractInstance {
103
109
  currentContractClassId: Fr.zero(),
104
110
  originalContractClassId: Fr.zero(),
105
111
  initializationHash: Fr.zero(),
112
+ immutablesHash: Fr.zero(),
106
113
  publicKeys: PublicKeys.default(),
107
114
  });
108
115
  }
@@ -130,15 +137,17 @@ export async function getContractInstanceFromInstantiationParams(
130
137
  )
131
138
  : await computeInitializationHash(constructorArtifact, args);
132
139
  const publicKeys = opts.publicKeys ?? PublicKeys.default();
140
+ const immutablesHash = opts.immutablesHash ?? Fr.ZERO;
133
141
 
134
142
  const instance: ContractInstance = {
135
143
  currentContractClassId: contractClass.id,
136
144
  originalContractClassId: contractClass.id,
137
145
  initializationHash,
146
+ immutablesHash,
138
147
  publicKeys,
139
148
  salt: opts.salt,
140
149
  deployer,
141
- version: 1,
150
+ version: 2,
142
151
  };
143
152
 
144
153
  return { ...instance, address: await computeContractAddressFromInstance(instance) };
@@ -6,10 +6,7 @@ export * from './contract_deployment_data.js';
6
6
  export * from './contract_instance.js';
7
7
  export * from './contract_instance_update.js';
8
8
  export * from './private_function.js';
9
- export * from './private_function_membership_proof.js';
10
- export * from './utility_function_membership_proof.js';
11
9
  export * from './interfaces/index.js';
12
10
  export * from './contract_function_dao.js';
13
11
  export * from './partial_address.js';
14
- export * from './deployment_info.js';
15
12
  export * from './complete_address.js';
@@ -42,79 +42,6 @@ const PrivateFunctionSchema = zodFor<PrivateFunction>()(
42
42
  }),
43
43
  );
44
44
 
45
- /** Private function definition with executable bytecode. */
46
- export interface ExecutablePrivateFunction extends PrivateFunction {
47
- /** ACIR and Brillig bytecode */
48
- bytecode: Buffer;
49
- }
50
-
51
- const ExecutablePrivateFunctionSchema = zodFor<ExecutablePrivateFunction>()(
52
- PrivateFunctionSchema.and(z.object({ bytecode: schemas.Buffer })),
53
- );
54
-
55
- /** Utility function definition. */
56
- export interface UtilityFunction {
57
- /** Selector of the function. Calculated as the hash of the method name and parameters. The specification of this is not enforced by the protocol. */
58
- selector: FunctionSelector;
59
- /** Brillig. */
60
- bytecode: Buffer;
61
- }
62
-
63
- const UtilityFunctionSchema = zodFor<UtilityFunction>()(
64
- z.object({
65
- selector: FunctionSelector.schema,
66
- bytecode: schemas.Buffer,
67
- }),
68
- );
69
-
70
- /** Sibling paths and sibling commitments for proving membership of a private function within a contract class. */
71
- export type PrivateFunctionMembershipProof = {
72
- artifactMetadataHash: Fr;
73
- functionMetadataHash: Fr;
74
- utilityFunctionsTreeRoot: Fr;
75
- privateFunctionTreeSiblingPath: Fr[];
76
- privateFunctionTreeLeafIndex: number;
77
- artifactTreeSiblingPath: Fr[];
78
- artifactTreeLeafIndex: number;
79
- };
80
-
81
- const PrivateFunctionMembershipProofSchema = zodFor<PrivateFunctionMembershipProof>()(
82
- z.object({
83
- artifactMetadataHash: schemas.Fr,
84
- functionMetadataHash: schemas.Fr,
85
- utilityFunctionsTreeRoot: schemas.Fr,
86
- privateFunctionTreeSiblingPath: z.array(schemas.Fr),
87
- privateFunctionTreeLeafIndex: schemas.Integer,
88
- artifactTreeSiblingPath: z.array(schemas.Fr),
89
- artifactTreeLeafIndex: schemas.Integer,
90
- }),
91
- );
92
-
93
- /** A private function with a membership proof. */
94
- export type ExecutablePrivateFunctionWithMembershipProof = ExecutablePrivateFunction & PrivateFunctionMembershipProof;
95
-
96
- /** Sibling paths and commitments for proving membership of a utility function within a contract class. */
97
- export type UtilityFunctionMembershipProof = {
98
- artifactMetadataHash: Fr;
99
- functionMetadataHash: Fr;
100
- privateFunctionsArtifactTreeRoot: Fr;
101
- artifactTreeSiblingPath: Fr[];
102
- artifactTreeLeafIndex: number;
103
- };
104
-
105
- const UtilityFunctionMembershipProofSchema = zodFor<UtilityFunctionMembershipProof>()(
106
- z.object({
107
- artifactMetadataHash: schemas.Fr,
108
- functionMetadataHash: schemas.Fr,
109
- privateFunctionsArtifactTreeRoot: schemas.Fr,
110
- artifactTreeSiblingPath: z.array(schemas.Fr),
111
- artifactTreeLeafIndex: schemas.Integer,
112
- }),
113
- );
114
-
115
- /** A utility function with a membership proof. */
116
- export type UtilityFunctionWithMembershipProof = UtilityFunction & UtilityFunctionMembershipProof;
117
-
118
45
  export const ContractClassSchema = zodFor<ContractClass>()(
119
46
  z.object({
120
47
  version: z.literal(VERSION),
@@ -143,11 +70,8 @@ export const ContractClassWithIdSchema = zodFor<ContractClassWithId>()(
143
70
  }),
144
71
  );
145
72
 
146
- /** A contract class with public bytecode information, and optional private and utility functions. */
147
- export type ContractClassPublic = {
148
- privateFunctions: ExecutablePrivateFunctionWithMembershipProof[];
149
- utilityFunctions: UtilityFunctionWithMembershipProof[];
150
- } & Pick<ContractClassCommitments, 'id' | 'privateFunctionsRoot'> &
73
+ /** A contract class with public bytecode information. */
74
+ export type ContractClassPublic = Pick<ContractClassCommitments, 'id' | 'privateFunctionsRoot'> &
151
75
  Omit<ContractClass, 'privateFunctions'>;
152
76
 
153
77
  export type ContractClassPublicWithCommitment = ContractClassPublic &
@@ -158,8 +82,6 @@ export const ContractClassPublicSchema = zodFor<ContractClassPublic>()(
158
82
  .object({
159
83
  id: schemas.Fr,
160
84
  privateFunctionsRoot: schemas.Fr,
161
- privateFunctions: z.array(ExecutablePrivateFunctionSchema.and(PrivateFunctionMembershipProofSchema)),
162
- utilityFunctions: z.array(UtilityFunctionSchema.and(UtilityFunctionMembershipProofSchema)),
163
85
  })
164
86
  .and(ContractClassSchema.omit({ privateFunctions: true })),
165
87
  );
@@ -179,8 +101,6 @@ export function contractClassPublicFromPlainObject(obj: any): ContractClassPubli
179
101
  version: 1,
180
102
  artifactHash: Fr.fromPlainObject(obj.artifactHash),
181
103
  privateFunctionsRoot: Fr.fromPlainObject(obj.privateFunctionsRoot),
182
- privateFunctions: [],
183
- utilityFunctions: [],
184
104
  packedBytecode: obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode),
185
105
  };
186
106
  }
@@ -6,7 +6,7 @@ import { AztecAddress } from '../../aztec-address/index.js';
6
6
  import { PublicKeys } from '../../keys/public_keys.js';
7
7
  import { schemas, zodFor } from '../../schemas/index.js';
8
8
 
9
- const VERSION = 1 as const;
9
+ const VERSION = 2 as const;
10
10
 
11
11
  /**
12
12
  * A contract instance is a concrete deployment of a contract class. It always references a contract class,
@@ -26,6 +26,8 @@ export interface ContractInstance {
26
26
  originalContractClassId: Fr;
27
27
  /** Hash of the selector and arguments to the constructor. */
28
28
  initializationHash: Fr;
29
+ /** Hash of Immutables Values the contract is deployed with. */
30
+ immutablesHash: Fr;
29
31
  /** Public keys associated with this instance. */
30
32
  publicKeys: PublicKeys;
31
33
  }
@@ -40,6 +42,7 @@ export const ContractInstanceSchema = zodFor<ContractInstance>()(
40
42
  currentContractClassId: schemas.Fr,
41
43
  originalContractClassId: schemas.Fr,
42
44
  initializationHash: schemas.Fr,
45
+ immutablesHash: schemas.Fr,
43
46
  publicKeys: PublicKeys.schema,
44
47
  }),
45
48
  );
@@ -54,12 +57,13 @@ export const ContractInstanceWithAddressSchema = zodFor<ContractInstanceWithAddr
54
57
  */
55
58
  export function contractInstanceFromPlainObject(obj: any): ContractInstance {
56
59
  return {
57
- version: 1,
60
+ version: 2,
58
61
  salt: Fr.fromPlainObject(obj.salt),
59
62
  deployer: AztecAddress.fromPlainObject(obj.deployer),
60
63
  currentContractClassId: Fr.fromPlainObject(obj.currentContractClassId),
61
64
  originalContractClassId: Fr.fromPlainObject(obj.originalContractClassId),
62
65
  initializationHash: Fr.fromPlainObject(obj.initializationHash),
66
+ immutablesHash: Fr.fromPlainObject(obj.immutablesHash),
63
67
  publicKeys: PublicKeys.fromPlainObject(obj.publicKeys),
64
68
  };
65
69
  }
@@ -19,6 +19,8 @@ export interface NodeInfo {
19
19
  l1ContractAddresses: L1ContractAddresses;
20
20
  /** Protocol contract addresses */
21
21
  protocolContractAddresses: ProtocolContractAddresses;
22
+ /** Whether the node requires real proofs for transaction submission. */
23
+ realProofs: boolean;
22
24
  }
23
25
 
24
26
  export const NodeInfoSchema: ZodFor<NodeInfo> = z
@@ -29,5 +31,6 @@ export const NodeInfoSchema: ZodFor<NodeInfo> = z
29
31
  enr: z.string().optional(),
30
32
  l1ContractAddresses: L1ContractAddressesSchema,
31
33
  protocolContractAddresses: ProtocolContractAddressesSchema,
34
+ realProofs: z.boolean(),
32
35
  })
33
36
  .transform(obj => ({ enr: undefined, ...obj }));
@@ -1,8 +1,9 @@
1
- import { FUNCTION_TREE_HEIGHT, GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator, FUNCTION_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { type MerkleTree, MerkleTreeCalculator } from '@aztec/foundation/trees';
5
5
 
6
+ import { computeMerkleHash } from '../hash/hash.js';
6
7
  import type { PrivateFunction } from './interfaces/contract_class.js';
7
8
 
8
9
  // Memoize the merkle tree calculators to avoid re-computing the zero-hash for each level in each call
@@ -31,7 +32,7 @@ function computePrivateFunctionLeaves(fns: PrivateFunction[]): Promise<Buffer[]>
31
32
 
32
33
  /** Returns the leaf for a given private function. */
33
34
  export async function computePrivateFunctionLeaf(fn: PrivateFunction): Promise<Buffer> {
34
- return (await poseidon2HashWithSeparator([fn.selector, fn.vkHash], GeneratorIndex.FUNCTION_LEAF)).toBuffer();
35
+ return (await poseidon2HashWithSeparator([fn.selector, fn.vkHash], DomainSeparator.PRIVATE_FUNCTION_LEAF)).toBuffer();
35
36
  }
36
37
 
37
38
  async function getPrivateFunctionTreeCalculator(): Promise<MerkleTreeCalculator> {
@@ -42,7 +43,8 @@ async function getPrivateFunctionTreeCalculator(): Promise<MerkleTreeCalculator>
42
43
  privateFunctionTreeCalculator = await MerkleTreeCalculator.create(
43
44
  FUNCTION_TREE_HEIGHT,
44
45
  functionTreeZeroLeaf,
45
- async (left, right) => (await poseidon2Hash([left, right])).toBuffer() as Buffer<ArrayBuffer>,
46
+ async (left, right) =>
47
+ (await computeMerkleHash(Fr.fromBuffer(left), Fr.fromBuffer(right))).toBuffer() as Buffer<ArrayBuffer>,
46
48
  );
47
49
  }
48
50
  return privateFunctionTreeCalculator;
@@ -0,0 +1,87 @@
1
+ import { EthAddress } from '@aztec/foundation/eth-address';
2
+ import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
3
+
4
+ import { z } from 'zod';
5
+
6
+ /**
7
+ * Symbol for Node.js custom inspect. Using Symbol.for() is the documented way to
8
+ * reference this without importing node:util. In browsers, objects with this symbol
9
+ * simply won't have custom inspect behavior (which is fine).
10
+ * @see https://nodejs.org/api/util.html#utilinspectcustom
11
+ */
12
+ const inspectCustomSymbol = Symbol.for('nodejs.util.inspect.custom');
13
+
14
+ /**
15
+ * Represents a version record for storing in a version file.
16
+ */
17
+ export class DatabaseVersion {
18
+ constructor(
19
+ /** The version of the data on disk. Used to perform upgrades */
20
+ public readonly schemaVersion: number,
21
+ /** The rollup the data pertains to */
22
+ public readonly rollupAddress: EthAddress,
23
+ ) {}
24
+
25
+ public toBuffer(): Buffer {
26
+ return Buffer.from(jsonStringify(this));
27
+ }
28
+
29
+ public static fromBuffer(buf: Buffer): DatabaseVersion {
30
+ try {
31
+ return jsonParseWithSchema(buf.toString('utf-8'), DatabaseVersion.schema);
32
+ } catch (err) {
33
+ throw new Error(`Failed to deserialize version information: ${err}`, { cause: err });
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Compares two versions. If the rollups addresses are different then it returns undefined
39
+ */
40
+ public cmp(other: DatabaseVersion): undefined | -1 | 0 | 1 {
41
+ if (this.rollupAddress.equals(other.rollupAddress)) {
42
+ if (this.schemaVersion < other.schemaVersion) {
43
+ return -1;
44
+ } else if (this.schemaVersion > other.schemaVersion) {
45
+ return 1;
46
+ } else {
47
+ return 0;
48
+ }
49
+ }
50
+ return undefined;
51
+ }
52
+
53
+ /**
54
+ * Checks if two versions exactly match
55
+ */
56
+ public equals(other: DatabaseVersion): boolean {
57
+ return this.cmp(other) === 0;
58
+ }
59
+
60
+ /**
61
+ * Returns the schema for this class
62
+ */
63
+ static get schema() {
64
+ return z
65
+ .object({
66
+ schemaVersion: z.number(),
67
+ rollupAddress: EthAddress.schema,
68
+ })
69
+ .transform(({ schemaVersion, rollupAddress }) => new DatabaseVersion(schemaVersion, rollupAddress));
70
+ }
71
+
72
+ /** Allows for better introspection in Node.js console. Ignored in browser envs. */
73
+ public [inspectCustomSymbol](): string {
74
+ return this.toString();
75
+ }
76
+
77
+ public toString(): string {
78
+ return `DatabaseVersion{schemaVersion=${this.schemaVersion},rollupAddress=${this.rollupAddress}"}`;
79
+ }
80
+
81
+ /**
82
+ * Returns an empty instance
83
+ */
84
+ static empty() {
85
+ return new DatabaseVersion(0, EthAddress.ZERO);
86
+ }
87
+ }
@@ -1,90 +1,15 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
3
2
  import { type Logger, createLogger } from '@aztec/foundation/log';
4
3
 
5
4
  import fs from 'fs/promises';
6
- import { inspect } from 'node:util';
7
5
  import { join } from 'path';
8
- import { z } from 'zod';
9
6
 
10
- /**
11
- * Represents a version record for storing in a version file.
12
- */
13
- export class DatabaseVersion {
14
- constructor(
15
- /** The version of the data on disk. Used to perform upgrades */
16
- public readonly schemaVersion: number,
17
- /** The rollup the data pertains to */
18
- public readonly rollupAddress: EthAddress,
19
- ) {}
20
-
21
- public toBuffer(): Buffer {
22
- return Buffer.from(jsonStringify(this));
23
- }
24
-
25
- public static fromBuffer(buf: Buffer): DatabaseVersion {
26
- try {
27
- return jsonParseWithSchema(buf.toString('utf-8'), DatabaseVersion.schema);
28
- } catch (err) {
29
- throw new Error(`Failed to deserialize version information: ${err}`, { cause: err });
30
- }
31
- }
32
-
33
- /**
34
- * Compares two versions. If the rollups addresses are different then it returns undefined
35
- */
36
- public cmp(other: DatabaseVersion): undefined | -1 | 0 | 1 {
37
- if (this.rollupAddress.equals(other.rollupAddress)) {
38
- if (this.schemaVersion < other.schemaVersion) {
39
- return -1;
40
- } else if (this.schemaVersion > other.schemaVersion) {
41
- return 1;
42
- } else {
43
- return 0;
44
- }
45
- }
46
- return undefined;
47
- }
48
-
49
- /**
50
- * Checks if two versions exactly match
51
- */
52
- public equals(other: DatabaseVersion): boolean {
53
- return this.cmp(other) === 0;
54
- }
55
-
56
- /**
57
- * Returns the schema for this class
58
- */
59
- static get schema() {
60
- return z
61
- .object({
62
- schemaVersion: z.number(),
63
- rollupAddress: EthAddress.schema,
64
- })
65
- .transform(({ schemaVersion, rollupAddress }) => new DatabaseVersion(schemaVersion, rollupAddress));
66
- }
67
-
68
- /** Allows for better introspection. */
69
- public [inspect.custom](): string {
70
- return this.toString();
71
- }
72
-
73
- public toString(): string {
74
- return `DatabaseVersion{schemaVersion=${this.schemaVersion},rollupAddress=${this.rollupAddress}"}`;
75
- }
76
-
77
- /**
78
- * Returns an empty instance
79
- */
80
- static empty() {
81
- return new DatabaseVersion(0, EthAddress.ZERO);
82
- }
83
- }
7
+ import { DatabaseVersion } from './database_version.js';
84
8
 
85
9
  export type DatabaseVersionManagerFs = Pick<typeof fs, 'readFile' | 'writeFile' | 'rm' | 'mkdir'>;
86
10
 
87
11
  export const DATABASE_VERSION_FILE_NAME = 'db_version';
12
+ export type SchemaVersionMismatchPolicy = 'reset' | 'throw';
88
13
 
89
14
  export type DatabaseVersionManagerOptions<T> = {
90
15
  schemaVersion: number;
@@ -92,6 +17,7 @@ export type DatabaseVersionManagerOptions<T> = {
92
17
  dataDirectory: string;
93
18
  onOpen: (dataDir: string) => Promise<T>;
94
19
  onUpgrade?: (dataDir: string, currentVersion: number, latestVersion: number) => Promise<void>;
20
+ schemaVersionMismatchPolicy?: SchemaVersionMismatchPolicy;
95
21
  fileSystem?: DatabaseVersionManagerFs;
96
22
  log?: Logger;
97
23
  };
@@ -110,6 +36,7 @@ export class DatabaseVersionManager<T> {
110
36
  private dataDirectory: string;
111
37
  private onOpen: (dataDir: string) => Promise<T>;
112
38
  private onUpgrade?: (dataDir: string, currentVersion: number, latestVersion: number) => Promise<void>;
39
+ private schemaVersionMismatchPolicy: SchemaVersionMismatchPolicy;
113
40
  private fileSystem: DatabaseVersionManagerFs;
114
41
  private log: Logger;
115
42
 
@@ -121,6 +48,7 @@ export class DatabaseVersionManager<T> {
121
48
  * @param dataDirectory - The directory where version information will be stored
122
49
  * @param onOpen - A callback to the open the database at the given location
123
50
  * @param onUpgrade - An optional callback to upgrade the database before opening. If not provided it will reset the database
51
+ * @param schemaVersionMismatchPolicy - Whether schema mismatches should reset data or throw
124
52
  * @param fileSystem - An interface to access the filesystem
125
53
  * @param log - Optional custom logger
126
54
  * @param options - Configuration options
@@ -131,6 +59,7 @@ export class DatabaseVersionManager<T> {
131
59
  dataDirectory,
132
60
  onOpen,
133
61
  onUpgrade,
62
+ schemaVersionMismatchPolicy = 'reset',
134
63
  fileSystem = fs,
135
64
  log = createLogger(`foundation:version-manager`),
136
65
  }: DatabaseVersionManagerOptions<T>) {
@@ -144,6 +73,7 @@ export class DatabaseVersionManager<T> {
144
73
  this.dataDirectory = dataDirectory;
145
74
  this.onOpen = onOpen;
146
75
  this.onUpgrade = onUpgrade;
76
+ this.schemaVersionMismatchPolicy = schemaVersionMismatchPolicy;
147
77
  this.fileSystem = fileSystem;
148
78
  this.log = log;
149
79
  }
@@ -191,10 +121,21 @@ export class DatabaseVersionManager<T> {
191
121
  try {
192
122
  await this.onUpgrade(this.dataDirectory, storedVersion.schemaVersion, this.currentVersion.schemaVersion);
193
123
  } catch (error) {
124
+ if (this.schemaVersionMismatchPolicy === 'throw') {
125
+ throw new Error(
126
+ `Failed to upgrade database at ${this.dataDirectory} from schema version ${storedVersion.schemaVersion} to ${this.currentVersion.schemaVersion}`,
127
+ { cause: error },
128
+ );
129
+ }
194
130
  this.log.error(`Failed to upgrade: ${error}. Falling back to reset.`);
195
131
  needsReset = true;
196
132
  }
197
133
  } else if (cmp !== 0) {
134
+ if (this.schemaVersionMismatchPolicy === 'throw') {
135
+ throw new Error(
136
+ `Cannot open database at ${this.dataDirectory}: stored schema version ${storedVersion.schemaVersion} is incompatible with expected schema version ${this.currentVersion.schemaVersion}`,
137
+ );
138
+ }
198
139
  if (shouldLogDataReset) {
199
140
  this.log.info(
200
141
  `Can't upgrade from version ${storedVersion} to ${this.currentVersion}. Resetting database at ${this.dataDirectory}`,