@aztec/stdlib 0.0.0-test.1 → 0.0.1-commit.b655e406

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 (1341) hide show
  1. package/dest/abi/abi.d.ts +316 -323
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +71 -37
  4. package/dest/abi/authorization_selector.d.ts +52 -0
  5. package/dest/abi/authorization_selector.d.ts.map +1 -0
  6. package/dest/abi/authorization_selector.js +70 -0
  7. package/dest/abi/buffer.d.ts +0 -2
  8. package/dest/abi/buffer.d.ts.map +1 -1
  9. package/dest/abi/contract_artifact.d.ts +17 -4
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +76 -53
  12. package/dest/abi/decoder.d.ts +1 -1
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +8 -10
  15. package/dest/abi/encoder.d.ts.map +1 -1
  16. package/dest/abi/encoder.js +68 -2
  17. package/dest/abi/event_metadata_definition.d.ts +8 -0
  18. package/dest/abi/event_metadata_definition.d.ts.map +1 -0
  19. package/dest/abi/event_selector.d.ts +0 -2
  20. package/dest/abi/event_selector.d.ts.map +1 -1
  21. package/dest/abi/function_call.d.ts +7 -2
  22. package/dest/abi/function_call.d.ts.map +1 -1
  23. package/dest/abi/function_call.js +6 -2
  24. package/dest/abi/function_selector.d.ts +0 -2
  25. package/dest/abi/function_selector.d.ts.map +1 -1
  26. package/dest/abi/index.d.ts +2 -0
  27. package/dest/abi/index.d.ts.map +1 -1
  28. package/dest/abi/index.js +2 -0
  29. package/dest/abi/note_selector.d.ts +0 -2
  30. package/dest/abi/note_selector.d.ts.map +1 -1
  31. package/dest/abi/selector.d.ts +0 -3
  32. package/dest/abi/selector.d.ts.map +1 -1
  33. package/dest/abi/utils.d.ts +6 -2
  34. package/dest/abi/utils.d.ts.map +1 -1
  35. package/dest/abi/utils.js +7 -0
  36. package/dest/auth_witness/auth_witness.d.ts +22 -3
  37. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  38. package/dest/auth_witness/auth_witness.js +29 -0
  39. package/dest/avm/avm.d.ts +8446 -2091
  40. package/dest/avm/avm.d.ts.map +1 -1
  41. package/dest/avm/avm.js +371 -131
  42. package/dest/avm/avm_accumulated_data.d.ts +78 -20
  43. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  44. package/dest/avm/avm_accumulated_data.js +91 -11
  45. package/dest/avm/avm_circuit_public_inputs.d.ts +276 -216
  46. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.js +60 -9
  48. package/dest/avm/avm_proving_request.d.ts +4119 -1161
  49. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  50. package/dest/avm/contract_storage_read.d.ts +1 -3
  51. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  52. package/dest/avm/contract_storage_update_request.d.ts +1 -3
  53. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  54. package/dest/avm/index.d.ts +1 -1
  55. package/dest/avm/index.d.ts.map +1 -1
  56. package/dest/avm/index.js +1 -1
  57. package/dest/avm/message_pack.d.ts +1 -2
  58. package/dest/avm/message_pack.d.ts.map +1 -1
  59. package/dest/avm/message_pack.js +36 -6
  60. package/dest/avm/public_call_stack_item_compressed.d.ts +1 -3
  61. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  62. package/dest/avm/public_data_read.d.ts +1 -3
  63. package/dest/avm/public_data_read.d.ts.map +1 -1
  64. package/dest/avm/public_data_update_request.d.ts +1 -4
  65. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  66. package/dest/avm/public_data_write.d.ts +5 -3
  67. package/dest/avm/public_data_write.d.ts.map +1 -1
  68. package/dest/avm/public_data_write.js +22 -1
  69. package/dest/avm/public_inner_call_request.d.ts +1 -4
  70. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  71. package/dest/avm/public_inner_call_request.js +1 -1
  72. package/dest/avm/revert_code.d.ts +0 -3
  73. package/dest/avm/revert_code.d.ts.map +1 -1
  74. package/dest/aztec-address/index.d.ts +1 -4
  75. package/dest/aztec-address/index.d.ts.map +1 -1
  76. package/dest/block/attestation_info.d.ts +30 -0
  77. package/dest/block/attestation_info.d.ts.map +1 -0
  78. package/dest/block/attestation_info.js +39 -0
  79. package/dest/block/block_hash.d.ts +5 -3
  80. package/dest/block/block_hash.d.ts.map +1 -1
  81. package/dest/block/block_hash.js +11 -0
  82. package/dest/block/body.d.ts +7 -6
  83. package/dest/block/body.d.ts.map +1 -1
  84. package/dest/block/body.js +26 -27
  85. package/dest/block/in_block.d.ts +12 -11
  86. package/dest/block/in_block.d.ts.map +1 -1
  87. package/dest/block/in_block.js +4 -4
  88. package/dest/block/index.d.ts +7 -2
  89. package/dest/block/index.d.ts.map +1 -1
  90. package/dest/block/index.js +7 -2
  91. package/dest/block/l2_block.d.ts +24 -23
  92. package/dest/block/l2_block.d.ts.map +1 -1
  93. package/dest/block/l2_block.js +55 -49
  94. package/dest/block/l2_block_code_to_purge.d.ts +4 -16
  95. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  96. package/dest/block/l2_block_code_to_purge.js +26 -17
  97. package/dest/block/l2_block_header.d.ts +100 -0
  98. package/dest/block/l2_block_header.d.ts.map +1 -0
  99. package/dest/block/l2_block_header.js +146 -0
  100. package/dest/block/l2_block_info.d.ts +41 -0
  101. package/dest/block/l2_block_info.d.ts.map +1 -0
  102. package/dest/block/l2_block_info.js +40 -0
  103. package/dest/block/l2_block_source.d.ts +84 -15
  104. package/dest/block/l2_block_source.d.ts.map +1 -1
  105. package/dest/block/l2_block_source.js +11 -0
  106. package/dest/block/l2_block_stream/index.d.ts +4 -0
  107. package/dest/block/l2_block_stream/index.d.ts.map +1 -0
  108. package/dest/block/l2_block_stream/index.js +3 -0
  109. package/dest/block/l2_block_stream/interfaces.d.ts +26 -0
  110. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -0
  111. package/dest/block/l2_block_stream/interfaces.js +1 -0
  112. package/dest/block/l2_block_stream/l2_block_stream.d.ts +35 -0
  113. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -0
  114. package/dest/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.js +70 -19
  115. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +18 -0
  116. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -0
  117. package/dest/block/l2_block_stream/l2_tips_memory_store.js +70 -0
  118. package/dest/block/proposal/attestations_and_signers.d.ts +48 -0
  119. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -0
  120. package/dest/block/proposal/attestations_and_signers.js +99 -0
  121. package/dest/block/proposal/committee_attestation.d.ts +36 -0
  122. package/dest/block/proposal/committee_attestation.d.ts.map +1 -0
  123. package/dest/block/proposal/committee_attestation.js +101 -0
  124. package/dest/block/proposal/index.d.ts +3 -0
  125. package/dest/block/proposal/index.d.ts.map +1 -0
  126. package/dest/block/proposal/index.js +2 -0
  127. package/dest/block/published_l2_block.d.ts +143 -0
  128. package/dest/block/published_l2_block.d.ts.map +1 -0
  129. package/dest/block/published_l2_block.js +63 -0
  130. package/dest/block/test/index.d.ts +2 -0
  131. package/dest/block/test/index.d.ts.map +1 -0
  132. package/dest/block/test/index.js +1 -0
  133. package/dest/block/test/l2_tips_store_test_suite.d.ts +3 -0
  134. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -0
  135. package/dest/block/test/l2_tips_store_test_suite.js +106 -0
  136. package/dest/block/validate_block_result.d.ts +222 -0
  137. package/dest/block/validate_block_result.d.ts.map +1 -0
  138. package/dest/block/validate_block_result.js +83 -0
  139. package/dest/checkpoint/checkpoint_body.d.ts +4 -0
  140. package/dest/checkpoint/checkpoint_body.d.ts.map +1 -0
  141. package/dest/checkpoint/checkpoint_body.js +9 -0
  142. package/dest/checkpoint/index.d.ts +2 -0
  143. package/dest/checkpoint/index.d.ts.map +1 -0
  144. package/dest/checkpoint/index.js +1 -0
  145. package/dest/config/{config.d.ts → chain-config.d.ts} +5 -4
  146. package/dest/config/chain-config.d.ts.map +1 -0
  147. package/dest/config/{config.js → chain-config.js} +4 -5
  148. package/dest/config/index.d.ts +2 -1
  149. package/dest/config/index.d.ts.map +1 -1
  150. package/dest/config/index.js +2 -1
  151. package/dest/config/node-rpc-config.d.ts +13 -0
  152. package/dest/config/node-rpc-config.d.ts.map +1 -0
  153. package/dest/config/node-rpc-config.js +24 -0
  154. package/dest/contract/artifact_hash.d.ts +6 -8
  155. package/dest/contract/artifact_hash.d.ts.map +1 -1
  156. package/dest/contract/artifact_hash.js +11 -10
  157. package/dest/contract/complete_address.d.ts +0 -2
  158. package/dest/contract/complete_address.d.ts.map +1 -1
  159. package/dest/contract/contract_address.d.ts +1 -1
  160. package/dest/contract/contract_address.js +1 -1
  161. package/dest/contract/contract_class.d.ts.map +1 -1
  162. package/dest/contract/contract_class.js +3 -19
  163. package/dest/contract/contract_class_id.d.ts +0 -2
  164. package/dest/contract/contract_class_id.d.ts.map +1 -1
  165. package/dest/contract/contract_class_id.js +6 -4
  166. package/dest/contract/contract_class_metadata.d.ts +8 -0
  167. package/dest/contract/contract_class_metadata.d.ts.map +1 -0
  168. package/dest/contract/contract_class_metadata.js +1 -0
  169. package/dest/contract/contract_instance.d.ts +13 -14
  170. package/dest/contract/contract_instance.d.ts.map +1 -1
  171. package/dest/contract/contract_instance.js +7 -7
  172. package/dest/contract/contract_instance_update.d.ts +3 -4
  173. package/dest/contract/contract_instance_update.d.ts.map +1 -1
  174. package/dest/contract/contract_instance_update.js +6 -6
  175. package/dest/contract/contract_metadata.d.ts +7 -0
  176. package/dest/contract/contract_metadata.d.ts.map +1 -0
  177. package/dest/contract/contract_metadata.js +1 -0
  178. package/dest/contract/index.d.ts +3 -1
  179. package/dest/contract/index.d.ts.map +1 -1
  180. package/dest/contract/index.js +3 -1
  181. package/dest/contract/interfaces/contract_class.d.ts +46 -186
  182. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  183. package/dest/contract/interfaces/contract_class.js +4 -9
  184. package/dest/contract/interfaces/contract_data_source.d.ts +10 -18
  185. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  186. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  187. package/dest/contract/interfaces/contract_instance_update.d.ts +9 -8
  188. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_instance_update.js +1 -1
  190. package/dest/contract/interfaces/node-info.d.ts +2 -2
  191. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  192. package/dest/contract/interfaces/node-info.js +1 -1
  193. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +9 -9
  194. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  195. package/dest/contract/interfaces/protocol_contract_addresses.js +4 -4
  196. package/dest/contract/private_function.d.ts +0 -2
  197. package/dest/contract/private_function.d.ts.map +1 -1
  198. package/dest/contract/private_function_membership_proof.d.ts +2 -2
  199. package/dest/contract/private_function_membership_proof.js +7 -7
  200. package/dest/contract/utility_function_membership_proof.d.ts +27 -0
  201. package/dest/contract/utility_function_membership_proof.d.ts.map +1 -0
  202. package/dest/contract/{unconstrained_function_membership_proof.js → utility_function_membership_proof.js} +13 -13
  203. package/dest/database-version/version_manager.d.ts +29 -10
  204. package/dest/database-version/version_manager.d.ts.map +1 -1
  205. package/dest/database-version/version_manager.js +42 -21
  206. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +20 -0
  207. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -0
  208. package/dest/{shared_mutable/shared_mutable_values.js → delayed_public_mutable/delayed_public_mutable_values.js} +16 -16
  209. package/dest/{shared_mutable/shared_mutable_values_with_hash.d.ts → delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts} +6 -6
  210. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -0
  211. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +30 -0
  212. package/dest/delayed_public_mutable/index.d.ts +5 -0
  213. package/dest/delayed_public_mutable/index.d.ts.map +1 -0
  214. package/dest/delayed_public_mutable/index.js +4 -0
  215. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts +10 -0
  216. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -0
  217. package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.js +5 -5
  218. package/dest/delayed_public_mutable/scheduled_value_change.d.ts +12 -0
  219. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -0
  220. package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.js +7 -7
  221. package/dest/epoch-helpers/index.d.ts +24 -2
  222. package/dest/epoch-helpers/index.d.ts.map +1 -1
  223. package/dest/epoch-helpers/index.js +32 -2
  224. package/dest/errors/proving_error.d.ts.map +1 -1
  225. package/dest/errors/simulation_error.d.ts.map +1 -1
  226. package/dest/errors/simulation_error.js +2 -2
  227. package/dest/fees/transaction_fee.d.ts +5 -0
  228. package/dest/fees/transaction_fee.d.ts.map +1 -1
  229. package/dest/fees/transaction_fee.js +15 -5
  230. package/dest/file-store/factory.d.ts +7 -0
  231. package/dest/file-store/factory.d.ts.map +1 -0
  232. package/dest/file-store/factory.js +64 -0
  233. package/dest/file-store/gcs.d.ts +20 -0
  234. package/dest/file-store/gcs.d.ts.map +1 -0
  235. package/dest/file-store/gcs.js +115 -0
  236. package/dest/file-store/http.d.ts +14 -0
  237. package/dest/file-store/http.d.ts.map +1 -0
  238. package/dest/file-store/http.js +69 -0
  239. package/dest/file-store/index.d.ts +3 -0
  240. package/dest/file-store/index.d.ts.map +1 -0
  241. package/dest/file-store/index.js +2 -0
  242. package/dest/file-store/interface.d.ts +28 -0
  243. package/dest/file-store/interface.d.ts.map +1 -0
  244. package/dest/file-store/interface.js +1 -0
  245. package/dest/file-store/local.d.ts +14 -0
  246. package/dest/file-store/local.d.ts.map +1 -0
  247. package/dest/file-store/local.js +40 -0
  248. package/dest/file-store/s3.d.ts +26 -0
  249. package/dest/file-store/s3.d.ts.map +1 -0
  250. package/dest/file-store/s3.js +252 -0
  251. package/dest/gas/gas.d.ts +2 -4
  252. package/dest/gas/gas.d.ts.map +1 -1
  253. package/dest/gas/gas.js +4 -1
  254. package/dest/gas/gas_fees.d.ts +16 -18
  255. package/dest/gas/gas_fees.d.ts.map +1 -1
  256. package/dest/gas/gas_fees.js +17 -18
  257. package/dest/gas/gas_settings.d.ts +25 -27
  258. package/dest/gas/gas_settings.d.ts.map +1 -1
  259. package/dest/gas/gas_settings.js +6 -6
  260. package/dest/hash/hash.d.ts +27 -7
  261. package/dest/hash/hash.d.ts.map +1 -1
  262. package/dest/hash/hash.js +36 -24
  263. package/dest/interfaces/allowed_element.d.ts +53 -0
  264. package/dest/interfaces/allowed_element.d.ts.map +1 -0
  265. package/dest/interfaces/allowed_element.js +18 -0
  266. package/dest/interfaces/api_limit.d.ts +4 -0
  267. package/dest/interfaces/api_limit.d.ts.map +1 -0
  268. package/dest/interfaces/api_limit.js +3 -0
  269. package/dest/interfaces/archiver.d.ts +44 -2
  270. package/dest/interfaces/archiver.d.ts.map +1 -1
  271. package/dest/interfaces/archiver.js +33 -15
  272. package/dest/interfaces/aztec-node-admin.d.ts +289 -0
  273. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -0
  274. package/dest/interfaces/aztec-node-admin.js +37 -0
  275. package/dest/interfaces/aztec-node.d.ts +93 -79
  276. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  277. package/dest/interfaces/aztec-node.js +43 -32
  278. package/dest/interfaces/block-builder.d.ts +40 -4
  279. package/dest/interfaces/block-builder.d.ts.map +1 -1
  280. package/dest/interfaces/block-builder.js +1 -1
  281. package/dest/interfaces/client.d.ts +2 -1
  282. package/dest/interfaces/client.d.ts.map +1 -1
  283. package/dest/interfaces/client.js +2 -1
  284. package/dest/interfaces/configs.d.ts +59 -34
  285. package/dest/interfaces/configs.d.ts.map +1 -1
  286. package/dest/interfaces/configs.js +11 -18
  287. package/dest/interfaces/epoch-prover.d.ts +34 -15
  288. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  289. package/dest/interfaces/get_logs_response.d.ts +1 -1
  290. package/dest/interfaces/l2_logs_source.d.ts +2 -1
  291. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  292. package/dest/interfaces/merkle_tree_operations.d.ts +26 -10
  293. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  294. package/dest/interfaces/p2p.d.ts +15 -3
  295. package/dest/interfaces/p2p.d.ts.map +1 -1
  296. package/dest/interfaces/p2p.js +6 -2
  297. package/dest/interfaces/private_kernel_prover.d.ts +5 -6
  298. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  299. package/dest/interfaces/prover-agent.d.ts +31 -6
  300. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  301. package/dest/interfaces/prover-agent.js +15 -6
  302. package/dest/interfaces/prover-client.d.ts +5 -5
  303. package/dest/interfaces/prover-client.d.ts.map +1 -1
  304. package/dest/interfaces/prover-client.js +8 -6
  305. package/dest/interfaces/prover-coordination.d.ts +4 -9
  306. package/dest/interfaces/prover-coordination.d.ts.map +1 -1
  307. package/dest/interfaces/prover-coordination.js +1 -7
  308. package/dest/interfaces/prover-node.d.ts +5 -2
  309. package/dest/interfaces/prover-node.d.ts.map +1 -1
  310. package/dest/interfaces/prover-node.js +8 -3
  311. package/dest/interfaces/proving-job.d.ts +4422 -1342
  312. package/dest/interfaces/proving-job.d.ts.map +1 -1
  313. package/dest/interfaces/proving-job.js +136 -105
  314. package/dest/interfaces/public_state_source.d.ts +8 -0
  315. package/dest/interfaces/public_state_source.d.ts.map +1 -0
  316. package/dest/interfaces/public_state_source.js +1 -0
  317. package/dest/interfaces/server.d.ts +11 -5
  318. package/dest/interfaces/server.d.ts.map +1 -1
  319. package/dest/interfaces/server.js +11 -5
  320. package/dest/interfaces/server_circuit_prover.d.ts +46 -34
  321. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  322. package/dest/interfaces/service.d.ts +3 -2
  323. package/dest/interfaces/service.d.ts.map +1 -1
  324. package/dest/interfaces/slasher.d.ts +86 -0
  325. package/dest/interfaces/slasher.d.ts.map +1 -0
  326. package/dest/interfaces/slasher.js +23 -0
  327. package/dest/interfaces/tx_provider.d.ts +24 -0
  328. package/dest/interfaces/tx_provider.d.ts.map +1 -0
  329. package/dest/interfaces/tx_provider.js +1 -0
  330. package/dest/interfaces/validator.d.ts +163 -0
  331. package/dest/interfaces/validator.d.ts.map +1 -0
  332. package/dest/interfaces/validator.js +18 -0
  333. package/dest/interfaces/world_state.d.ts +23 -21
  334. package/dest/interfaces/world_state.d.ts.map +1 -1
  335. package/dest/interfaces/world_state.js +1 -1
  336. package/dest/kernel/claimed_length_array.d.ts +34 -0
  337. package/dest/kernel/claimed_length_array.d.ts.map +1 -0
  338. package/dest/kernel/claimed_length_array.js +58 -0
  339. package/dest/kernel/hiding_kernel_private_inputs.d.ts +19 -0
  340. package/dest/kernel/hiding_kernel_private_inputs.d.ts.map +1 -0
  341. package/dest/kernel/hiding_kernel_private_inputs.js +34 -0
  342. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -6
  343. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  344. package/dest/kernel/hints/build_note_hash_read_request_hints.js +18 -20
  345. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +10 -12
  346. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  347. package/dest/kernel/hints/build_nullifier_read_request_hints.js +17 -32
  348. package/dest/kernel/hints/build_transient_data_hints.d.ts +4 -3
  349. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  350. package/dest/kernel/hints/build_transient_data_hints.js +9 -10
  351. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
  352. package/dest/kernel/hints/index.d.ts +1 -2
  353. package/dest/kernel/hints/index.d.ts.map +1 -1
  354. package/dest/kernel/hints/index.js +1 -2
  355. package/dest/kernel/hints/key_validation_hint.d.ts +3 -9
  356. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  357. package/dest/kernel/hints/key_validation_hint.js +5 -7
  358. package/dest/kernel/hints/key_validation_request.d.ts +1 -3
  359. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  360. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +1 -3
  361. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +1 -1
  362. package/dest/kernel/hints/note_hash_read_request_hints.d.ts +0 -2
  363. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  364. package/dest/kernel/hints/note_hash_read_request_hints.js +4 -4
  365. package/dest/kernel/hints/nullifier_read_request_hints.d.ts +4 -5
  366. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  367. package/dest/kernel/hints/nullifier_read_request_hints.js +4 -4
  368. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +9 -11
  369. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  370. package/dest/kernel/hints/private_kernel_reset_hints.js +13 -9
  371. package/dest/kernel/hints/read_request.d.ts +0 -2
  372. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  373. package/dest/kernel/hints/read_request_hints.d.ts +29 -31
  374. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  375. package/dest/kernel/hints/read_request_hints.js +28 -28
  376. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts +1 -3
  377. package/dest/kernel/hints/scoped_key_validation_request_and_generator.d.ts.map +1 -1
  378. package/dest/kernel/hints/{transient_data_index_hint.d.ts → transient_data_squashing_hint.d.ts} +5 -8
  379. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -0
  380. package/dest/kernel/hints/{transient_data_index_hint.js → transient_data_squashing_hint.js} +5 -5
  381. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -2
  382. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +1 -1
  383. package/dest/kernel/index.d.ts +4 -2
  384. package/dest/kernel/index.d.ts.map +1 -1
  385. package/dest/kernel/index.js +4 -2
  386. package/dest/kernel/log_hash.d.ts +27 -9
  387. package/dest/kernel/log_hash.d.ts.map +1 -1
  388. package/dest/kernel/log_hash.js +72 -13
  389. package/dest/kernel/note_hash.d.ts +0 -2
  390. package/dest/kernel/note_hash.d.ts.map +1 -1
  391. package/dest/kernel/nullifier.d.ts +2 -4
  392. package/dest/kernel/nullifier.d.ts.map +1 -1
  393. package/dest/kernel/nullifier.js +11 -11
  394. package/dest/kernel/padded_side_effects.d.ts +26 -0
  395. package/dest/kernel/padded_side_effects.d.ts.map +1 -0
  396. package/dest/kernel/padded_side_effects.js +51 -0
  397. package/dest/kernel/private_accumulated_data.d.ts +19 -20
  398. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  399. package/dest/kernel/private_accumulated_data.js +5 -5
  400. package/dest/kernel/private_call_data.d.ts +8 -30
  401. package/dest/kernel/private_call_data.d.ts.map +1 -1
  402. package/dest/kernel/private_call_data.js +6 -18
  403. package/dest/kernel/private_call_request.d.ts +1 -3
  404. package/dest/kernel/private_call_request.d.ts.map +1 -1
  405. package/dest/kernel/private_call_request.js +1 -1
  406. package/dest/kernel/private_circuit_public_inputs.d.ts +35 -36
  407. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  408. package/dest/kernel/private_circuit_public_inputs.js +45 -27
  409. package/dest/kernel/private_context_inputs.d.ts +2 -2
  410. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  411. package/dest/kernel/private_context_inputs.js +4 -4
  412. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +14 -7
  413. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  414. package/dest/kernel/private_kernel_circuit_public_inputs.js +9 -5
  415. package/dest/kernel/private_kernel_data.d.ts +7 -28
  416. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  417. package/dest/kernel/private_kernel_data.js +10 -21
  418. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +6 -7
  419. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  420. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +7 -6
  421. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +1 -3
  422. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  423. package/dest/kernel/private_kernel_prover_output.d.ts +79 -0
  424. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -0
  425. package/dest/kernel/private_kernel_prover_output.js +28 -0
  426. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +9 -8
  427. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  428. package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +10 -6
  429. package/dest/kernel/private_kernel_reset_dimensions.d.ts +11 -13
  430. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  431. package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
  432. package/dest/kernel/private_kernel_simulated_output.d.ts +6 -12
  433. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  434. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +20 -4
  435. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  436. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +14 -6
  437. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +20 -12
  438. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  439. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +28 -21
  440. package/dest/kernel/private_log_data.d.ts +1 -4
  441. package/dest/kernel/private_log_data.d.ts.map +1 -1
  442. package/dest/kernel/private_log_data.js +4 -2
  443. package/dest/kernel/private_to_avm_accumulated_data.d.ts +4 -13
  444. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  445. package/dest/kernel/private_to_avm_accumulated_data.js +11 -0
  446. package/dest/kernel/private_to_public_accumulated_data.d.ts +2 -5
  447. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  448. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -7
  449. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  450. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +16 -10
  451. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +3 -6
  452. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  453. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +13 -15
  454. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  455. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +11 -12
  456. package/dest/kernel/private_validation_requests.d.ts +9 -24
  457. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  458. package/dest/kernel/private_validation_requests.js +10 -22
  459. package/dest/kernel/public_call_request.d.ts +70 -24
  460. package/dest/kernel/public_call_request.d.ts.map +1 -1
  461. package/dest/kernel/public_call_request.js +77 -20
  462. package/dest/kernel/utils/optional_number.d.ts +1 -3
  463. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  464. package/dest/kernel/utils/order_and_comparison.d.ts +0 -3
  465. package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -1
  466. package/dest/kernel/utils/order_and_comparison.js +0 -19
  467. package/dest/keys/derivation.d.ts +0 -2
  468. package/dest/keys/derivation.d.ts.map +1 -1
  469. package/dest/keys/derivation.js +2 -15
  470. package/dest/keys/public_keys.d.ts +0 -2
  471. package/dest/keys/public_keys.d.ts.map +1 -1
  472. package/dest/keys/public_keys.js +0 -1
  473. package/dest/l1-contracts/index.d.ts +2 -0
  474. package/dest/l1-contracts/index.d.ts.map +1 -0
  475. package/dest/l1-contracts/index.js +1 -0
  476. package/dest/l1-contracts/slash_factory.d.ts +44 -0
  477. package/dest/l1-contracts/slash_factory.d.ts.map +1 -0
  478. package/dest/l1-contracts/slash_factory.js +157 -0
  479. package/dest/logs/contract_class_log.d.ts +54 -16
  480. package/dest/logs/contract_class_log.d.ts.map +1 -1
  481. package/dest/logs/contract_class_log.js +110 -79
  482. package/dest/logs/debug_log.d.ts +13 -0
  483. package/dest/logs/debug_log.d.ts.map +1 -0
  484. package/dest/logs/debug_log.js +26 -0
  485. package/dest/logs/directional_app_tagging_secret.d.ts +40 -0
  486. package/dest/logs/directional_app_tagging_secret.d.ts.map +1 -0
  487. package/dest/logs/directional_app_tagging_secret.js +63 -0
  488. package/dest/logs/extended_contract_class_log.d.ts +0 -2
  489. package/dest/logs/extended_contract_class_log.d.ts.map +1 -1
  490. package/dest/logs/extended_public_log.d.ts +1 -3
  491. package/dest/logs/extended_public_log.d.ts.map +1 -1
  492. package/dest/logs/index.d.ts +6 -2
  493. package/dest/logs/index.d.ts.map +1 -1
  494. package/dest/logs/index.js +6 -2
  495. package/dest/logs/log_id.d.ts +0 -2
  496. package/dest/logs/log_id.d.ts.map +1 -1
  497. package/dest/logs/log_with_tx_data.d.ts +12 -4
  498. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  499. package/dest/logs/log_with_tx_data.js +23 -10
  500. package/dest/logs/message_context.d.ts +29 -0
  501. package/dest/logs/message_context.d.ts.map +1 -0
  502. package/dest/logs/message_context.js +56 -0
  503. package/dest/logs/pending_tagged_log.d.ts +14 -0
  504. package/dest/logs/pending_tagged_log.d.ts.map +1 -0
  505. package/dest/logs/pending_tagged_log.js +34 -0
  506. package/dest/logs/pre_tag.d.ts +34 -0
  507. package/dest/logs/pre_tag.d.ts.map +1 -0
  508. package/dest/logs/pre_tag.js +7 -0
  509. package/dest/logs/private_log.d.ts +16 -8
  510. package/dest/logs/private_log.d.ts.map +1 -1
  511. package/dest/logs/private_log.js +50 -22
  512. package/dest/logs/public_log.d.ts +26 -12
  513. package/dest/logs/public_log.d.ts.map +1 -1
  514. package/dest/logs/public_log.js +128 -34
  515. package/dest/logs/{l1_payload/shared_secret_derivation.d.ts → shared_secret_derivation.d.ts} +4 -3
  516. package/dest/logs/shared_secret_derivation.d.ts.map +1 -0
  517. package/dest/logs/{l1_payload/shared_secret_derivation.js → shared_secret_derivation.js} +5 -9
  518. package/dest/logs/tx_scoped_l2_log.d.ts +28 -33
  519. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  520. package/dest/logs/tx_scoped_l2_log.js +36 -19
  521. package/dest/messaging/inbox_leaf.d.ts +8 -3
  522. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  523. package/dest/messaging/inbox_leaf.js +16 -2
  524. package/dest/messaging/index.d.ts +1 -0
  525. package/dest/messaging/index.d.ts.map +1 -1
  526. package/dest/messaging/index.js +1 -0
  527. package/dest/messaging/l1_actor.d.ts +0 -2
  528. package/dest/messaging/l1_actor.d.ts.map +1 -1
  529. package/dest/messaging/l1_to_l2_message.d.ts +0 -2
  530. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  531. package/dest/messaging/l1_to_l2_message_source.d.ts +6 -1
  532. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  533. package/dest/messaging/l2_actor.d.ts +0 -2
  534. package/dest/messaging/l2_actor.d.ts.map +1 -1
  535. package/dest/messaging/l2_to_l1_membership.d.ts +14 -0
  536. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -0
  537. package/dest/messaging/l2_to_l1_membership.js +63 -0
  538. package/dest/messaging/l2_to_l1_message.d.ts +110 -18
  539. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  540. package/dest/messaging/l2_to_l1_message.js +83 -37
  541. package/dest/noir/index.d.ts +19 -2
  542. package/dest/noir/index.d.ts.map +1 -1
  543. package/dest/noir/index.js +1 -0
  544. package/dest/note/index.d.ts +1 -1
  545. package/dest/note/index.d.ts.map +1 -1
  546. package/dest/note/index.js +1 -1
  547. package/dest/note/note.d.ts +39 -6
  548. package/dest/note/note.d.ts.map +1 -1
  549. package/dest/note/note.js +51 -4
  550. package/dest/note/notes_filter.d.ts +5 -7
  551. package/dest/note/notes_filter.d.ts.map +1 -1
  552. package/dest/note/notes_filter.js +1 -4
  553. package/dest/note/unique_note.d.ts +43 -0
  554. package/dest/note/unique_note.d.ts.map +1 -0
  555. package/dest/note/unique_note.js +67 -0
  556. package/dest/p2p/attestation_utils.d.ts +10 -0
  557. package/dest/p2p/attestation_utils.d.ts.map +1 -0
  558. package/dest/p2p/attestation_utils.js +21 -0
  559. package/dest/p2p/block_attestation.d.ts +51 -13
  560. package/dest/p2p/block_attestation.d.ts.map +1 -1
  561. package/dest/p2p/block_attestation.js +45 -23
  562. package/dest/p2p/block_proposal.d.ts +26 -10
  563. package/dest/p2p/block_proposal.d.ts.map +1 -1
  564. package/dest/p2p/block_proposal.js +47 -20
  565. package/dest/p2p/consensus_payload.d.ts +216 -20
  566. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  567. package/dest/p2p/consensus_payload.js +47 -25
  568. package/dest/p2p/gossipable.d.ts +18 -17
  569. package/dest/p2p/gossipable.d.ts.map +1 -1
  570. package/dest/p2p/gossipable.js +35 -4
  571. package/dest/p2p/index.d.ts +1 -0
  572. package/dest/p2p/index.d.ts.map +1 -1
  573. package/dest/p2p/index.js +1 -0
  574. package/dest/p2p/interface.d.ts +0 -13
  575. package/dest/p2p/interface.d.ts.map +1 -1
  576. package/dest/p2p/interface.js +1 -19
  577. package/dest/p2p/signature_utils.d.ts +5 -6
  578. package/dest/p2p/signature_utils.d.ts.map +1 -1
  579. package/dest/p2p/signature_utils.js +5 -4
  580. package/dest/p2p/topic_type.d.ts +6 -9
  581. package/dest/p2p/topic_type.d.ts.map +1 -1
  582. package/dest/p2p/topic_type.js +35 -15
  583. package/dest/parity/index.d.ts +2 -3
  584. package/dest/parity/index.d.ts.map +1 -1
  585. package/dest/parity/index.js +2 -3
  586. package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +9 -11
  587. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
  588. package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +10 -6
  589. package/dest/parity/parity_public_inputs.d.ts +2 -4
  590. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  591. package/dest/parity/parity_root_private_inputs.d.ts +39 -0
  592. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
  593. package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
  594. package/dest/proofs/chonk_proof.d.ts +28 -0
  595. package/dest/proofs/chonk_proof.d.ts.map +1 -0
  596. package/dest/proofs/chonk_proof.js +101 -0
  597. package/dest/proofs/index.d.ts +2 -1
  598. package/dest/proofs/index.d.ts.map +1 -1
  599. package/dest/proofs/index.js +2 -1
  600. package/dest/proofs/proof.d.ts +5 -6
  601. package/dest/proofs/proof.d.ts.map +1 -1
  602. package/dest/proofs/proof.js +28 -20
  603. package/dest/proofs/proof_data.d.ts +21 -0
  604. package/dest/proofs/proof_data.d.ts.map +1 -0
  605. package/dest/proofs/proof_data.js +22 -0
  606. package/dest/proofs/proving_request_type.d.ts +17 -12
  607. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  608. package/dest/proofs/proving_request_type.js +17 -11
  609. package/dest/proofs/recursive_proof.d.ts +4 -6
  610. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  611. package/dest/rollup/avm_proof_data.d.ts +5 -15
  612. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  613. package/dest/rollup/avm_proof_data.js +8 -24
  614. package/dest/rollup/base_rollup_hints.d.ts +35 -36
  615. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  616. package/dest/rollup/base_rollup_hints.js +41 -40
  617. package/dest/rollup/block_constant_data.d.ts +51 -0
  618. package/dest/rollup/block_constant_data.d.ts.map +1 -0
  619. package/dest/rollup/block_constant_data.js +50 -0
  620. package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +19 -14
  621. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
  622. package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +14 -13
  623. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  624. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  625. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  626. package/dest/rollup/block_root_rollup_private_inputs.d.ts +236 -0
  627. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
  628. package/dest/rollup/block_root_rollup_private_inputs.js +257 -0
  629. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  630. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  631. package/dest/rollup/checkpoint_constant_data.js +55 -0
  632. package/dest/rollup/checkpoint_header.d.ts +83 -0
  633. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  634. package/dest/rollup/checkpoint_header.js +154 -0
  635. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +30 -0
  636. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
  637. package/dest/rollup/checkpoint_merge_rollup_private_inputs.js +37 -0
  638. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +106 -0
  639. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  640. package/dest/rollup/checkpoint_rollup_public_inputs.js +108 -0
  641. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +123 -0
  642. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
  643. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +178 -0
  644. package/dest/rollup/epoch_constant_data.d.ts +56 -0
  645. package/dest/rollup/epoch_constant_data.d.ts.map +1 -0
  646. package/dest/rollup/epoch_constant_data.js +53 -0
  647. package/dest/rollup/index.d.ts +19 -16
  648. package/dest/rollup/index.d.ts.map +1 -1
  649. package/dest/rollup/index.js +19 -16
  650. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +21 -0
  651. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
  652. package/dest/rollup/private_tx_base_rollup_private_inputs.js +42 -0
  653. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +21 -0
  654. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -0
  655. package/dest/rollup/public_chonk_verifier_private_inputs.js +43 -0
  656. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +20 -0
  657. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -0
  658. package/dest/rollup/public_chonk_verifier_public_inputs.js +42 -0
  659. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +23 -0
  660. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
  661. package/dest/rollup/public_tx_base_rollup_private_inputs.js +46 -0
  662. package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
  663. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
  664. package/dest/rollup/root_rollup_private_inputs.js +69 -0
  665. package/dest/rollup/root_rollup_public_inputs.d.ts +46 -0
  666. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
  667. package/dest/rollup/root_rollup_public_inputs.js +71 -0
  668. package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -40
  669. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
  670. package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
  671. package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +13 -14
  672. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
  673. package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
  674. package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +19 -30
  675. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
  676. package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +16 -21
  677. package/dest/schemas/schemas.d.ts +6 -6
  678. package/dest/schemas/schemas.d.ts.map +1 -1
  679. package/dest/schemas/schemas.js +1 -0
  680. package/dest/slashing/empire.d.ts +31 -0
  681. package/dest/slashing/empire.d.ts.map +1 -0
  682. package/dest/slashing/empire.js +84 -0
  683. package/dest/slashing/helpers.d.ts +35 -0
  684. package/dest/slashing/helpers.d.ts.map +1 -0
  685. package/dest/slashing/helpers.js +89 -0
  686. package/dest/slashing/index.d.ts +7 -0
  687. package/dest/slashing/index.d.ts.map +1 -0
  688. package/dest/slashing/index.js +6 -0
  689. package/dest/slashing/interfaces.d.ts +11 -0
  690. package/dest/slashing/interfaces.d.ts.map +1 -0
  691. package/dest/slashing/interfaces.js +1 -0
  692. package/dest/slashing/serialization.d.ts +8 -0
  693. package/dest/slashing/serialization.d.ts.map +1 -0
  694. package/dest/slashing/serialization.js +78 -0
  695. package/dest/slashing/tally.d.ts +23 -0
  696. package/dest/slashing/tally.d.ts.map +1 -0
  697. package/dest/slashing/tally.js +60 -0
  698. package/dest/slashing/types.d.ts +162 -0
  699. package/dest/slashing/types.d.ts.map +1 -0
  700. package/dest/slashing/types.js +88 -0
  701. package/dest/snapshots/download.d.ts +9 -0
  702. package/dest/snapshots/download.d.ts.map +1 -0
  703. package/dest/snapshots/download.js +93 -0
  704. package/dest/snapshots/index.d.ts +4 -0
  705. package/dest/snapshots/index.d.ts.map +1 -0
  706. package/dest/snapshots/index.js +3 -0
  707. package/dest/snapshots/types.d.ts +120 -0
  708. package/dest/snapshots/types.d.ts.map +1 -0
  709. package/dest/snapshots/types.js +35 -0
  710. package/dest/snapshots/upload.d.ts +8 -0
  711. package/dest/snapshots/upload.d.ts.map +1 -0
  712. package/dest/snapshots/upload.js +42 -0
  713. package/dest/stats/stats.d.ts +9 -9
  714. package/dest/stats/stats.d.ts.map +1 -1
  715. package/dest/tests/factories.d.ts +81 -104
  716. package/dest/tests/factories.d.ts.map +1 -1
  717. package/dest/tests/factories.js +386 -303
  718. package/dest/tests/mocks.d.ts +33 -13
  719. package/dest/tests/mocks.d.ts.map +1 -1
  720. package/dest/tests/mocks.js +116 -82
  721. package/dest/trees/append_only_tree_snapshot.d.ts +7 -6
  722. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  723. package/dest/trees/append_only_tree_snapshot.js +17 -2
  724. package/dest/trees/database_public_state_source.d.ts +11 -0
  725. package/dest/trees/database_public_state_source.d.ts.map +1 -0
  726. package/dest/trees/database_public_state_source.js +18 -0
  727. package/dest/trees/index.d.ts +1 -1
  728. package/dest/trees/index.d.ts.map +1 -1
  729. package/dest/trees/index.js +1 -1
  730. package/dest/trees/merkle_tree_id.d.ts +12 -4
  731. package/dest/trees/merkle_tree_id.d.ts.map +1 -1
  732. package/dest/trees/merkle_tree_id.js +10 -0
  733. package/dest/trees/nullifier_leaf.d.ts +49 -17
  734. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  735. package/dest/trees/nullifier_leaf.js +45 -22
  736. package/dest/trees/nullifier_membership_witness.d.ts +41 -22
  737. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  738. package/dest/trees/nullifier_membership_witness.js +14 -1
  739. package/dest/trees/public_data_leaf.d.ts +60 -28
  740. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  741. package/dest/trees/public_data_leaf.js +41 -30
  742. package/dest/trees/public_data_witness.d.ts +47 -30
  743. package/dest/trees/public_data_witness.d.ts.map +1 -1
  744. package/dest/trees/public_data_witness.js +20 -4
  745. package/dest/tx/block_header.d.ts +15 -17
  746. package/dest/tx/block_header.d.ts.map +1 -1
  747. package/dest/tx/block_header.js +20 -19
  748. package/dest/tx/call_context.d.ts +1 -4
  749. package/dest/tx/call_context.d.ts.map +1 -1
  750. package/dest/tx/capsule.d.ts +3 -3
  751. package/dest/tx/capsule.d.ts.map +1 -1
  752. package/dest/tx/capsule.js +2 -0
  753. package/dest/tx/content_commitment.d.ts +24 -81
  754. package/dest/tx/content_commitment.d.ts.map +1 -1
  755. package/dest/tx/content_commitment.js +39 -53
  756. package/dest/tx/function_data.d.ts +0 -2
  757. package/dest/tx/function_data.d.ts.map +1 -1
  758. package/dest/tx/global_variable_builder.d.ts +2 -2
  759. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  760. package/dest/tx/global_variables.d.ts +29 -31
  761. package/dest/tx/global_variables.d.ts.map +1 -1
  762. package/dest/tx/global_variables.js +24 -16
  763. package/dest/tx/hashed_values.d.ts +17 -7
  764. package/dest/tx/hashed_values.d.ts.map +1 -1
  765. package/dest/tx/hashed_values.js +26 -9
  766. package/dest/tx/index.d.ts +8 -2
  767. package/dest/tx/index.d.ts.map +1 -1
  768. package/dest/tx/index.js +8 -2
  769. package/dest/tx/indexed_tx_effect.d.ts +27 -0
  770. package/dest/tx/indexed_tx_effect.d.ts.map +1 -0
  771. package/dest/tx/indexed_tx_effect.js +32 -0
  772. package/dest/tx/offchain_effect.d.ts +14 -0
  773. package/dest/tx/offchain_effect.d.ts.map +1 -0
  774. package/dest/tx/offchain_effect.js +4 -0
  775. package/dest/tx/partial_state_reference.d.ts +10 -3
  776. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  777. package/dest/tx/partial_state_reference.js +22 -2
  778. package/dest/tx/private_execution_result.d.ts +55 -35
  779. package/dest/tx/private_execution_result.d.ts.map +1 -1
  780. package/dest/tx/private_execution_result.js +66 -78
  781. package/dest/tx/private_tx_constant_data.d.ts +60 -0
  782. package/dest/tx/private_tx_constant_data.d.ts.map +1 -0
  783. package/dest/tx/private_tx_constant_data.js +69 -0
  784. package/dest/tx/processed_tx.d.ts +6 -8
  785. package/dest/tx/processed_tx.d.ts.map +1 -1
  786. package/dest/tx/processed_tx.js +24 -22
  787. package/dest/tx/profiling.d.ts +360 -0
  788. package/dest/tx/profiling.d.ts.map +1 -0
  789. package/dest/tx/profiling.js +129 -0
  790. package/dest/tx/protocol_contracts.d.ts +29 -0
  791. package/dest/tx/protocol_contracts.d.ts.map +1 -0
  792. package/dest/tx/protocol_contracts.js +49 -0
  793. package/dest/tx/proven_tx.d.ts +129 -0
  794. package/dest/tx/proven_tx.d.ts.map +1 -0
  795. package/dest/tx/proven_tx.js +45 -0
  796. package/dest/tx/public_call_request_with_calldata.d.ts +38 -0
  797. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -0
  798. package/dest/tx/public_call_request_with_calldata.js +57 -0
  799. package/dest/tx/public_simulation_output.d.ts +3 -3
  800. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  801. package/dest/tx/public_simulation_output.js +7 -7
  802. package/dest/tx/simulated_tx.d.ts +169 -45
  803. package/dest/tx/simulated_tx.d.ts.map +1 -1
  804. package/dest/tx/simulated_tx.js +52 -47
  805. package/dest/tx/state_reference.d.ts +10 -4
  806. package/dest/tx/state_reference.d.ts.map +1 -1
  807. package/dest/tx/state_reference.js +38 -5
  808. package/dest/tx/tree_snapshots.d.ts +11 -14
  809. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  810. package/dest/tx/tree_snapshots.js +3 -3
  811. package/dest/tx/tx.d.ts +63 -89
  812. package/dest/tx/tx.d.ts.map +1 -1
  813. package/dest/tx/tx.js +147 -148
  814. package/dest/tx/tx_constant_data.d.ts +7 -41
  815. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  816. package/dest/tx/tx_constant_data.js +11 -20
  817. package/dest/tx/tx_context.d.ts +33 -35
  818. package/dest/tx/tx_context.d.ts.map +1 -1
  819. package/dest/tx/tx_effect.d.ts +6 -42
  820. package/dest/tx/tx_effect.d.ts.map +1 -1
  821. package/dest/tx/tx_effect.js +75 -257
  822. package/dest/tx/tx_execution_request.d.ts +13 -6
  823. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  824. package/dest/tx/tx_execution_request.js +16 -9
  825. package/dest/tx/tx_hash.d.ts +11 -4
  826. package/dest/tx/tx_hash.d.ts.map +1 -1
  827. package/dest/tx/tx_hash.js +24 -5
  828. package/dest/tx/tx_receipt.d.ts +1 -30
  829. package/dest/tx/tx_receipt.d.ts.map +1 -1
  830. package/dest/tx/tx_receipt.js +4 -14
  831. package/dest/tx/tx_request.d.ts +11 -9
  832. package/dest/tx/tx_request.d.ts.map +1 -1
  833. package/dest/tx/tx_request.js +11 -8
  834. package/dest/tx/validator/error_texts.d.ts +24 -0
  835. package/dest/tx/validator/error_texts.d.ts.map +1 -0
  836. package/dest/tx/validator/error_texts.js +31 -0
  837. package/dest/tx/validator/tx_validator.d.ts +6 -4
  838. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  839. package/dest/tx/validator/tx_validator.js +3 -0
  840. package/dest/types/shared.d.ts +9 -11
  841. package/dest/types/shared.d.ts.map +1 -1
  842. package/dest/types/shared.js +0 -8
  843. package/dest/update-checker/index.d.ts +2 -0
  844. package/dest/update-checker/index.d.ts.map +1 -0
  845. package/dest/update-checker/index.js +1 -0
  846. package/dest/update-checker/update-checker.d.ts +50 -0
  847. package/dest/update-checker/update-checker.d.ts.map +1 -0
  848. package/dest/update-checker/update-checker.js +130 -0
  849. package/dest/validators/errors.d.ts +34 -0
  850. package/dest/validators/errors.d.ts.map +1 -0
  851. package/dest/validators/errors.js +47 -0
  852. package/dest/validators/index.d.ts +4 -0
  853. package/dest/validators/index.d.ts.map +1 -0
  854. package/dest/validators/index.js +2 -0
  855. package/dest/validators/schemas.d.ts +592 -0
  856. package/dest/validators/schemas.d.ts.map +1 -0
  857. package/dest/validators/schemas.js +52 -0
  858. package/dest/validators/types.d.ts +52 -0
  859. package/dest/validators/types.d.ts.map +1 -0
  860. package/dest/validators/types.js +1 -0
  861. package/dest/versioning/versioning.d.ts +4 -4
  862. package/dest/versioning/versioning.d.ts.map +1 -1
  863. package/dest/versioning/versioning.js +23 -18
  864. package/dest/vks/index.d.ts +1 -1
  865. package/dest/vks/index.d.ts.map +1 -1
  866. package/dest/vks/index.js +1 -1
  867. package/dest/vks/verification_key.d.ts +8 -12
  868. package/dest/vks/verification_key.d.ts.map +1 -1
  869. package/dest/vks/verification_key.js +9 -11
  870. package/dest/vks/{vk_witness_data.d.ts → vk_data.d.ts} +9 -11
  871. package/dest/vks/vk_data.d.ts.map +1 -0
  872. package/dest/vks/{vk_witness_data.js → vk_data.js} +10 -10
  873. package/dest/world-state/index.d.ts +2 -0
  874. package/dest/world-state/index.d.ts.map +1 -0
  875. package/dest/world-state/index.js +1 -0
  876. package/dest/world-state/world_state_revision.d.ts +22 -0
  877. package/dest/world-state/world_state_revision.d.ts.map +1 -0
  878. package/dest/world-state/world_state_revision.js +21 -0
  879. package/dest/zkpassport/index.d.ts +35 -0
  880. package/dest/zkpassport/index.d.ts.map +1 -0
  881. package/dest/zkpassport/index.js +82 -0
  882. package/package.json +40 -23
  883. package/src/abi/abi.ts +96 -66
  884. package/src/abi/authorization_selector.ts +95 -0
  885. package/src/abi/contract_artifact.ts +90 -59
  886. package/src/abi/decoder.ts +18 -13
  887. package/src/abi/encoder.ts +88 -3
  888. package/src/abi/event_metadata_definition.ts +8 -0
  889. package/src/abi/function_call.ts +5 -1
  890. package/src/abi/index.ts +2 -0
  891. package/src/abi/utils.ts +15 -0
  892. package/src/auth_witness/auth_witness.ts +29 -0
  893. package/src/avm/avm.ts +452 -123
  894. package/src/avm/avm_accumulated_data.ts +129 -12
  895. package/src/avm/avm_circuit_public_inputs.ts +80 -3
  896. package/src/avm/index.ts +1 -1
  897. package/src/avm/message_pack.ts +33 -2
  898. package/src/avm/public_data_write.ts +25 -1
  899. package/src/avm/public_inner_call_request.ts +1 -1
  900. package/src/avm/revert_code.ts +5 -5
  901. package/src/block/attestation_info.ts +62 -0
  902. package/src/block/block_hash.ts +14 -0
  903. package/src/block/body.ts +41 -34
  904. package/src/block/in_block.ts +6 -6
  905. package/src/block/index.ts +7 -2
  906. package/src/block/l2_block.ts +59 -64
  907. package/src/block/l2_block_code_to_purge.ts +32 -49
  908. package/src/block/l2_block_header.ts +232 -0
  909. package/src/block/l2_block_info.ts +63 -0
  910. package/src/block/l2_block_source.ts +100 -13
  911. package/src/block/l2_block_stream/index.ts +3 -0
  912. package/src/block/l2_block_stream/interfaces.ts +33 -0
  913. package/src/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.ts +81 -58
  914. package/src/block/l2_block_stream/l2_tips_memory_store.ts +75 -0
  915. package/src/block/proposal/attestations_and_signers.ts +121 -0
  916. package/src/block/proposal/committee_attestation.ts +120 -0
  917. package/src/block/proposal/index.ts +2 -0
  918. package/src/block/published_l2_block.ts +82 -0
  919. package/src/block/test/index.ts +1 -0
  920. package/src/block/test/l2_tips_store_test_suite.ts +87 -0
  921. package/src/block/validate_block_result.ts +122 -0
  922. package/src/checkpoint/checkpoint_body.ts +10 -0
  923. package/src/checkpoint/index.ts +1 -0
  924. package/src/config/{config.ts → chain-config.ts} +8 -7
  925. package/src/config/index.ts +2 -1
  926. package/src/config/node-rpc-config.ts +37 -0
  927. package/src/contract/artifact_hash.ts +14 -12
  928. package/src/contract/contract_address.ts +1 -1
  929. package/src/contract/contract_class.ts +7 -24
  930. package/src/contract/contract_class_id.ts +10 -4
  931. package/src/contract/contract_class_metadata.ts +8 -0
  932. package/src/contract/contract_instance.ts +26 -17
  933. package/src/contract/contract_instance_update.ts +7 -6
  934. package/src/contract/contract_metadata.ts +7 -0
  935. package/src/contract/index.ts +3 -1
  936. package/src/contract/interfaces/contract_class.ts +23 -35
  937. package/src/contract/interfaces/contract_data_source.ts +11 -20
  938. package/src/contract/interfaces/contract_instance_update.ts +4 -3
  939. package/src/contract/interfaces/node-info.ts +3 -3
  940. package/src/contract/interfaces/protocol_contract_addresses.ts +5 -10
  941. package/src/contract/private_function.ts +4 -2
  942. package/src/contract/private_function_membership_proof.ts +7 -7
  943. package/src/contract/{unconstrained_function_membership_proof.ts → utility_function_membership_proof.ts} +18 -18
  944. package/src/database-version/version_manager.ts +78 -25
  945. package/src/{shared_mutable/shared_mutable_values.ts → delayed_public_mutable/delayed_public_mutable_values.ts} +23 -20
  946. package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +38 -0
  947. package/src/delayed_public_mutable/index.ts +4 -0
  948. package/src/delayed_public_mutable/scheduled_delay_change.ts +17 -0
  949. package/src/{shared_mutable → delayed_public_mutable}/scheduled_value_change.ts +11 -5
  950. package/src/epoch-helpers/index.ts +61 -2
  951. package/src/errors/proving_error.ts +5 -1
  952. package/src/errors/simulation_error.ts +2 -2
  953. package/src/fees/transaction_fee.ts +28 -8
  954. package/src/file-store/factory.ts +76 -0
  955. package/src/file-store/gcs.ts +121 -0
  956. package/src/file-store/http.ts +67 -0
  957. package/src/file-store/index.ts +2 -0
  958. package/src/file-store/interface.ts +25 -0
  959. package/src/file-store/local.ts +46 -0
  960. package/src/file-store/s3.ts +254 -0
  961. package/src/gas/gas.ts +9 -2
  962. package/src/gas/gas_fees.ts +27 -23
  963. package/src/gas/gas_settings.ts +11 -9
  964. package/src/hash/hash.ts +45 -27
  965. package/src/interfaces/allowed_element.ts +21 -0
  966. package/src/interfaces/api_limit.ts +3 -0
  967. package/src/interfaces/archiver.ts +67 -25
  968. package/src/interfaces/aztec-node-admin.ts +99 -0
  969. package/src/interfaces/aztec-node.ts +196 -137
  970. package/src/interfaces/block-builder.ts +53 -8
  971. package/src/interfaces/client.ts +2 -1
  972. package/src/interfaces/configs.ts +29 -18
  973. package/src/interfaces/epoch-prover.ts +46 -16
  974. package/src/interfaces/l2_logs_source.ts +2 -1
  975. package/src/interfaces/merkle_tree_operations.ts +30 -8
  976. package/src/interfaces/p2p.ts +29 -4
  977. package/src/interfaces/private_kernel_prover.ts +13 -4
  978. package/src/interfaces/prover-agent.ts +9 -10
  979. package/src/interfaces/prover-client.ts +16 -11
  980. package/src/interfaces/prover-coordination.ts +6 -16
  981. package/src/interfaces/prover-node.ts +10 -2
  982. package/src/interfaces/proving-job.ts +230 -125
  983. package/src/interfaces/public_state_source.ts +9 -0
  984. package/src/interfaces/server.ts +11 -5
  985. package/src/interfaces/server_circuit_prover.ts +110 -58
  986. package/src/interfaces/service.ts +4 -2
  987. package/src/interfaces/slasher.ts +50 -0
  988. package/src/interfaces/tx_provider.ts +17 -0
  989. package/src/interfaces/validator.ts +95 -0
  990. package/src/interfaces/world_state.ts +27 -19
  991. package/src/kernel/claimed_length_array.ts +104 -0
  992. package/src/kernel/hiding_kernel_private_inputs.ts +37 -0
  993. package/src/kernel/hints/build_note_hash_read_request_hints.ts +28 -30
  994. package/src/kernel/hints/build_nullifier_read_request_hints.ts +31 -61
  995. package/src/kernel/hints/build_transient_data_hints.ts +12 -14
  996. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
  997. package/src/kernel/hints/index.ts +1 -2
  998. package/src/kernel/hints/key_validation_hint.ts +4 -6
  999. package/src/kernel/hints/note_hash_read_request_hints.ts +8 -17
  1000. package/src/kernel/hints/nullifier_read_request_hints.ts +11 -20
  1001. package/src/kernel/hints/private_kernel_reset_hints.ts +37 -46
  1002. package/src/kernel/hints/read_request.ts +4 -1
  1003. package/src/kernel/hints/read_request_hints.ts +59 -38
  1004. package/src/kernel/hints/{transient_data_index_hint.ts → transient_data_squashing_hint.ts} +9 -6
  1005. package/src/kernel/hints/tree_leaf_read_request.ts +4 -1
  1006. package/src/kernel/index.ts +4 -2
  1007. package/src/kernel/log_hash.ts +86 -14
  1008. package/src/kernel/note_hash.ts +8 -2
  1009. package/src/kernel/nullifier.ts +16 -9
  1010. package/src/kernel/padded_side_effects.ts +73 -0
  1011. package/src/kernel/private_accumulated_data.ts +25 -25
  1012. package/src/kernel/private_call_data.ts +5 -24
  1013. package/src/kernel/private_call_request.ts +1 -1
  1014. package/src/kernel/private_circuit_public_inputs.ts +100 -76
  1015. package/src/kernel/private_context_inputs.ts +2 -2
  1016. package/src/kernel/private_kernel_circuit_public_inputs.ts +13 -5
  1017. package/src/kernel/private_kernel_data.ts +9 -31
  1018. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +5 -4
  1019. package/src/kernel/private_kernel_prover_output.ts +70 -0
  1020. package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +16 -13
  1021. package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
  1022. package/src/kernel/private_kernel_simulated_output.ts +7 -16
  1023. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +22 -5
  1024. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +41 -24
  1025. package/src/kernel/private_log_data.ts +13 -4
  1026. package/src/kernel/private_to_avm_accumulated_data.ts +18 -1
  1027. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +16 -7
  1028. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +16 -10
  1029. package/src/kernel/private_validation_requests.ts +20 -51
  1030. package/src/kernel/public_call_request.ts +92 -28
  1031. package/src/kernel/utils/order_and_comparison.ts +0 -25
  1032. package/src/keys/derivation.ts +2 -22
  1033. package/src/keys/public_keys.ts +1 -1
  1034. package/src/l1-contracts/index.ts +1 -0
  1035. package/src/l1-contracts/slash_factory.ts +177 -0
  1036. package/src/logs/contract_class_log.ts +134 -64
  1037. package/src/logs/debug_log.ts +32 -0
  1038. package/src/logs/directional_app_tagging_secret.ts +77 -0
  1039. package/src/logs/index.ts +6 -2
  1040. package/src/logs/log_with_tx_data.ts +19 -9
  1041. package/src/logs/message_context.ts +62 -0
  1042. package/src/logs/pending_tagged_log.ts +41 -0
  1043. package/src/logs/pre_tag.ts +25 -0
  1044. package/src/logs/private_log.ts +60 -24
  1045. package/src/logs/public_log.ts +137 -37
  1046. package/src/logs/{l1_payload/shared_secret_derivation.ts → shared_secret_derivation.ts} +6 -15
  1047. package/src/logs/tx_scoped_l2_log.ts +37 -25
  1048. package/src/messaging/inbox_leaf.ts +17 -2
  1049. package/src/messaging/index.ts +1 -0
  1050. package/src/messaging/l1_to_l2_message_source.ts +8 -1
  1051. package/src/messaging/l2_to_l1_membership.ts +98 -0
  1052. package/src/messaging/l2_to_l1_message.ts +105 -40
  1053. package/src/noir/index.ts +19 -2
  1054. package/src/note/index.ts +1 -1
  1055. package/src/note/note.ts +61 -5
  1056. package/src/note/notes_filter.ts +6 -10
  1057. package/src/note/unique_note.ts +88 -0
  1058. package/src/p2p/attestation_utils.ts +35 -0
  1059. package/src/p2p/block_attestation.ts +54 -26
  1060. package/src/p2p/block_proposal.ts +63 -19
  1061. package/src/p2p/consensus_payload.ts +62 -29
  1062. package/src/p2p/gossipable.ts +41 -15
  1063. package/src/p2p/index.ts +1 -0
  1064. package/src/p2p/interface.ts +0 -24
  1065. package/src/p2p/signature_utils.ts +7 -9
  1066. package/src/p2p/topic_type.ts +32 -13
  1067. package/src/parity/index.ts +2 -3
  1068. package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +13 -11
  1069. package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
  1070. package/src/proofs/chonk_proof.ts +118 -0
  1071. package/src/proofs/index.ts +2 -1
  1072. package/src/proofs/proof.ts +29 -21
  1073. package/src/proofs/proof_data.ts +36 -0
  1074. package/src/proofs/proving_request_type.ts +14 -9
  1075. package/src/rollup/avm_proof_data.ts +8 -30
  1076. package/src/rollup/base_rollup_hints.ts +42 -41
  1077. package/src/rollup/block_constant_data.ts +73 -0
  1078. package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +15 -11
  1079. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  1080. package/src/rollup/block_root_rollup_private_inputs.ts +312 -0
  1081. package/src/rollup/checkpoint_constant_data.ts +84 -0
  1082. package/src/rollup/checkpoint_header.ts +224 -0
  1083. package/src/rollup/checkpoint_merge_rollup_private_inputs.ts +49 -0
  1084. package/src/rollup/checkpoint_rollup_public_inputs.ts +139 -0
  1085. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +218 -0
  1086. package/src/rollup/epoch_constant_data.ts +62 -0
  1087. package/src/rollup/index.ts +19 -16
  1088. package/src/rollup/private_tx_base_rollup_private_inputs.ts +53 -0
  1089. package/src/rollup/public_chonk_verifier_private_inputs.ts +54 -0
  1090. package/src/rollup/public_chonk_verifier_public_inputs.ts +53 -0
  1091. package/src/rollup/public_tx_base_rollup_private_inputs.ts +57 -0
  1092. package/src/rollup/root_rollup_private_inputs.ts +90 -0
  1093. package/src/rollup/root_rollup_public_inputs.ts +99 -0
  1094. package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
  1095. package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
  1096. package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +17 -25
  1097. package/src/schemas/schemas.ts +3 -0
  1098. package/src/slashing/empire.ts +100 -0
  1099. package/src/slashing/helpers.ts +136 -0
  1100. package/src/slashing/index.ts +6 -0
  1101. package/src/slashing/interfaces.ts +11 -0
  1102. package/src/slashing/serialization.ts +103 -0
  1103. package/src/slashing/tally.ts +87 -0
  1104. package/src/slashing/types.ts +152 -0
  1105. package/src/snapshots/download.ts +123 -0
  1106. package/src/snapshots/index.ts +3 -0
  1107. package/src/snapshots/types.ts +70 -0
  1108. package/src/snapshots/upload.ts +64 -0
  1109. package/src/stats/stats.ts +28 -19
  1110. package/src/tests/factories.ts +647 -518
  1111. package/src/tests/mocks.ts +186 -135
  1112. package/src/trees/append_only_tree_snapshot.ts +18 -2
  1113. package/src/trees/database_public_state_source.ts +30 -0
  1114. package/src/trees/index.ts +1 -1
  1115. package/src/trees/merkle_tree_id.ts +12 -0
  1116. package/src/trees/nullifier_leaf.ts +48 -21
  1117. package/src/trees/nullifier_membership_witness.ts +17 -1
  1118. package/src/trees/public_data_leaf.ts +40 -29
  1119. package/src/trees/public_data_witness.ts +23 -4
  1120. package/src/tx/block_header.ts +23 -21
  1121. package/src/tx/capsule.ts +2 -0
  1122. package/src/tx/content_commitment.ts +48 -77
  1123. package/src/tx/global_variable_builder.ts +2 -2
  1124. package/src/tx/global_variables.ts +37 -22
  1125. package/src/tx/hashed_values.ts +29 -9
  1126. package/src/tx/index.ts +8 -2
  1127. package/src/tx/indexed_tx_effect.ts +39 -0
  1128. package/src/tx/offchain_effect.ts +20 -0
  1129. package/src/tx/partial_state_reference.ts +37 -4
  1130. package/src/tx/private_execution_result.ts +69 -88
  1131. package/src/tx/private_tx_constant_data.ts +94 -0
  1132. package/src/tx/processed_tx.ts +41 -35
  1133. package/src/tx/profiling.ts +161 -0
  1134. package/src/tx/protocol_contracts.ts +70 -0
  1135. package/src/tx/proven_tx.ts +62 -0
  1136. package/src/tx/public_call_request_with_calldata.ts +72 -0
  1137. package/src/tx/public_simulation_output.ts +5 -5
  1138. package/src/tx/simulated_tx.ts +66 -76
  1139. package/src/tx/state_reference.ts +54 -5
  1140. package/src/tx/tree_snapshots.ts +13 -13
  1141. package/src/tx/tx.ts +161 -192
  1142. package/src/tx/tx_constant_data.ts +8 -21
  1143. package/src/tx/tx_effect.ts +128 -293
  1144. package/src/tx/tx_execution_request.ts +14 -3
  1145. package/src/tx/tx_hash.ts +26 -5
  1146. package/src/tx/tx_receipt.ts +1 -37
  1147. package/src/tx/tx_request.ts +16 -6
  1148. package/src/tx/validator/error_texts.ts +38 -0
  1149. package/src/tx/validator/tx_validator.ts +5 -0
  1150. package/src/types/shared.ts +10 -9
  1151. package/src/update-checker/index.ts +1 -0
  1152. package/src/update-checker/update-checker.ts +165 -0
  1153. package/src/validators/errors.ts +59 -0
  1154. package/src/validators/index.ts +3 -0
  1155. package/src/validators/schemas.ts +75 -0
  1156. package/src/validators/types.ts +46 -0
  1157. package/src/versioning/versioning.ts +28 -32
  1158. package/src/vks/index.ts +1 -1
  1159. package/src/vks/verification_key.ts +18 -18
  1160. package/src/vks/{vk_witness_data.ts → vk_data.ts} +6 -6
  1161. package/src/world-state/index.ts +1 -0
  1162. package/src/world-state/world_state_revision.ts +21 -0
  1163. package/src/zkpassport/index.ts +119 -0
  1164. package/dest/avm/public_data_hint.d.ts +0 -18
  1165. package/dest/avm/public_data_hint.d.ts.map +0 -1
  1166. package/dest/avm/public_data_hint.js +0 -27
  1167. package/dest/block/l2_block_downloader/index.d.ts +0 -3
  1168. package/dest/block/l2_block_downloader/index.d.ts.map +0 -1
  1169. package/dest/block/l2_block_downloader/index.js +0 -2
  1170. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts +0 -58
  1171. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts.map +0 -1
  1172. package/dest/block/l2_block_downloader/l2_block_downloader.js +0 -124
  1173. package/dest/block/l2_block_downloader/l2_block_stream.d.ts +0 -57
  1174. package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +0 -1
  1175. package/dest/block/nullifier_with_block_source.d.ts +0 -6
  1176. package/dest/block/nullifier_with_block_source.d.ts.map +0 -1
  1177. package/dest/config/config.d.ts.map +0 -1
  1178. package/dest/contract/unconstrained_function_membership_proof.d.ts +0 -27
  1179. package/dest/contract/unconstrained_function_membership_proof.d.ts.map +0 -1
  1180. package/dest/event/event.d.ts +0 -24
  1181. package/dest/event/event.d.ts.map +0 -1
  1182. package/dest/event/event.js +0 -13
  1183. package/dest/event/event_metadata.d.ts +0 -38
  1184. package/dest/event/event_metadata.d.ts.map +0 -1
  1185. package/dest/event/event_metadata.js +0 -45
  1186. package/dest/event/index.d.ts +0 -4
  1187. package/dest/event/index.d.ts.map +0 -1
  1188. package/dest/event/index.js +0 -3
  1189. package/dest/event/l1_event_payload.d.ts +0 -52
  1190. package/dest/event/l1_event_payload.d.ts.map +0 -1
  1191. package/dest/event/l1_event_payload.js +0 -64
  1192. package/dest/interfaces/pxe.d.ts +0 -347
  1193. package/dest/interfaces/pxe.d.ts.map +0 -1
  1194. package/dest/interfaces/pxe.js +0 -104
  1195. package/dest/kernel/combined_constant_data.d.ts +0 -73
  1196. package/dest/kernel/combined_constant_data.d.ts.map +0 -1
  1197. package/dest/kernel/combined_constant_data.js +0 -73
  1198. package/dest/kernel/hints/rollup_validation_requests.d.ts +0 -40
  1199. package/dest/kernel/hints/rollup_validation_requests.d.ts.map +0 -1
  1200. package/dest/kernel/hints/rollup_validation_requests.js +0 -57
  1201. package/dest/kernel/hints/transient_data_index_hint.d.ts.map +0 -1
  1202. package/dest/kernel/private_kernel_prover_profile_result.d.ts +0 -25
  1203. package/dest/kernel/private_kernel_prover_profile_result.d.ts.map +0 -1
  1204. package/dest/kernel/private_kernel_prover_profile_result.js +0 -7
  1205. package/dest/logs/indexed_tagging_secret.d.ts +0 -28
  1206. package/dest/logs/indexed_tagging_secret.d.ts.map +0 -1
  1207. package/dest/logs/indexed_tagging_secret.js +0 -50
  1208. package/dest/logs/l1_payload/encrypted_log_payload.d.ts +0 -50
  1209. package/dest/logs/l1_payload/encrypted_log_payload.d.ts.map +0 -1
  1210. package/dest/logs/l1_payload/encrypted_log_payload.js +0 -140
  1211. package/dest/logs/l1_payload/encryption_util.d.ts +0 -24
  1212. package/dest/logs/l1_payload/encryption_util.d.ts.map +0 -1
  1213. package/dest/logs/l1_payload/encryption_util.js +0 -46
  1214. package/dest/logs/l1_payload/index.d.ts +0 -3
  1215. package/dest/logs/l1_payload/index.d.ts.map +0 -1
  1216. package/dest/logs/l1_payload/index.js +0 -2
  1217. package/dest/logs/l1_payload/l1_note_payload.d.ts +0 -82
  1218. package/dest/logs/l1_payload/l1_note_payload.d.ts.map +0 -1
  1219. package/dest/logs/l1_payload/l1_note_payload.js +0 -129
  1220. package/dest/logs/l1_payload/payload.d.ts +0 -60
  1221. package/dest/logs/l1_payload/payload.d.ts.map +0 -1
  1222. package/dest/logs/l1_payload/payload.js +0 -61
  1223. package/dest/logs/l1_payload/shared_secret_derivation.d.ts.map +0 -1
  1224. package/dest/network/index.d.ts +0 -32
  1225. package/dest/network/index.d.ts.map +0 -1
  1226. package/dest/network/index.js +0 -30
  1227. package/dest/note/extended_note.d.ts +0 -124
  1228. package/dest/note/extended_note.d.ts.map +0 -1
  1229. package/dest/note/extended_note.js +0 -115
  1230. package/dest/parity/base_parity_inputs.d.ts.map +0 -1
  1231. package/dest/parity/root_parity_input.d.ts +0 -54
  1232. package/dest/parity/root_parity_input.d.ts.map +0 -1
  1233. package/dest/parity/root_parity_input.js +0 -50
  1234. package/dest/parity/root_parity_inputs.d.ts +0 -39
  1235. package/dest/parity/root_parity_inputs.d.ts.map +0 -1
  1236. package/dest/proofs/client_ivc_proof.d.ts +0 -21
  1237. package/dest/proofs/client_ivc_proof.d.ts.map +0 -1
  1238. package/dest/proofs/client_ivc_proof.js +0 -44
  1239. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
  1240. package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
  1241. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -159
  1242. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  1243. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -136
  1244. package/dest/rollup/block_root_rollup.d.ts +0 -262
  1245. package/dest/rollup/block_root_rollup.d.ts.map +0 -1
  1246. package/dest/rollup/block_root_rollup.js +0 -293
  1247. package/dest/rollup/constant_rollup_data.d.ts +0 -47
  1248. package/dest/rollup/constant_rollup_data.d.ts.map +0 -1
  1249. package/dest/rollup/constant_rollup_data.js +0 -45
  1250. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -54
  1251. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  1252. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -68
  1253. package/dest/rollup/merge_rollup.d.ts.map +0 -1
  1254. package/dest/rollup/previous_rollup_block_data.d.ts +0 -58
  1255. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  1256. package/dest/rollup/previous_rollup_block_data.js +0 -42
  1257. package/dest/rollup/previous_rollup_data.d.ts +0 -58
  1258. package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
  1259. package/dest/rollup/previous_rollup_data.js +0 -42
  1260. package/dest/rollup/private_base_rollup_inputs.d.ts +0 -23
  1261. package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
  1262. package/dest/rollup/private_base_rollup_inputs.js +0 -44
  1263. package/dest/rollup/private_tube_data.d.ts +0 -17
  1264. package/dest/rollup/private_tube_data.d.ts.map +0 -1
  1265. package/dest/rollup/private_tube_data.js +0 -25
  1266. package/dest/rollup/public_base_rollup_inputs.d.ts +0 -25
  1267. package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
  1268. package/dest/rollup/public_base_rollup_inputs.js +0 -48
  1269. package/dest/rollup/public_tube_data.d.ts +0 -17
  1270. package/dest/rollup/public_tube_data.d.ts.map +0 -1
  1271. package/dest/rollup/public_tube_data.js +0 -25
  1272. package/dest/rollup/root_rollup.d.ts +0 -112
  1273. package/dest/rollup/root_rollup.d.ts.map +0 -1
  1274. package/dest/rollup/root_rollup.js +0 -158
  1275. package/dest/rollup/state_diff_hints.d.ts.map +0 -1
  1276. package/dest/rollup/state_diff_hints.js +0 -85
  1277. package/dest/rollup/tube_inputs.d.ts +0 -40
  1278. package/dest/rollup/tube_inputs.d.ts.map +0 -1
  1279. package/dest/rollup/tube_inputs.js +0 -57
  1280. package/dest/shared_mutable/index.d.ts +0 -5
  1281. package/dest/shared_mutable/index.d.ts.map +0 -1
  1282. package/dest/shared_mutable/index.js +0 -4
  1283. package/dest/shared_mutable/scheduled_delay_change.d.ts +0 -10
  1284. package/dest/shared_mutable/scheduled_delay_change.d.ts.map +0 -1
  1285. package/dest/shared_mutable/scheduled_value_change.d.ts +0 -11
  1286. package/dest/shared_mutable/scheduled_value_change.d.ts.map +0 -1
  1287. package/dest/shared_mutable/shared_mutable_values.d.ts +0 -22
  1288. package/dest/shared_mutable/shared_mutable_values.d.ts.map +0 -1
  1289. package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +0 -1
  1290. package/dest/shared_mutable/shared_mutable_values_with_hash.js +0 -30
  1291. package/dest/trees/protocol_contract_leaf.d.ts +0 -87
  1292. package/dest/trees/protocol_contract_leaf.d.ts.map +0 -1
  1293. package/dest/trees/protocol_contract_leaf.js +0 -103
  1294. package/dest/tx/max_block_number.d.ts +0 -55
  1295. package/dest/tx/max_block_number.d.ts.map +0 -1
  1296. package/dest/tx/max_block_number.js +0 -65
  1297. package/dest/tx/public_execution_request.d.ts +0 -45
  1298. package/dest/tx/public_execution_request.d.ts.map +0 -1
  1299. package/dest/tx/public_execution_request.js +0 -72
  1300. package/dest/vks/vk_witness_data.d.ts.map +0 -1
  1301. package/src/avm/public_data_hint.ts +0 -38
  1302. package/src/block/l2_block_downloader/index.ts +0 -2
  1303. package/src/block/l2_block_downloader/l2_block_downloader.ts +0 -149
  1304. package/src/block/nullifier_with_block_source.ts +0 -7
  1305. package/src/event/event.ts +0 -16
  1306. package/src/event/event_metadata.ts +0 -56
  1307. package/src/event/index.ts +0 -3
  1308. package/src/event/l1_event_payload.ts +0 -87
  1309. package/src/interfaces/pxe.ts +0 -536
  1310. package/src/kernel/combined_constant_data.ts +0 -128
  1311. package/src/kernel/hints/rollup_validation_requests.ts +0 -73
  1312. package/src/kernel/private_kernel_prover_profile_result.ts +0 -7
  1313. package/src/logs/indexed_tagging_secret.ts +0 -45
  1314. package/src/logs/l1_payload/encrypted_log_payload.ts +0 -202
  1315. package/src/logs/l1_payload/encryption_util.ts +0 -54
  1316. package/src/logs/l1_payload/index.ts +0 -2
  1317. package/src/logs/l1_payload/l1_note_payload.ts +0 -182
  1318. package/src/logs/l1_payload/payload.ts +0 -73
  1319. package/src/network/index.ts +0 -32
  1320. package/src/note/extended_note.ts +0 -168
  1321. package/src/parity/root_parity_input.ts +0 -71
  1322. package/src/proofs/client_ivc_proof.ts +0 -61
  1323. package/src/rollup/block_root_or_block_merge_public_inputs.ts +0 -175
  1324. package/src/rollup/block_root_rollup.ts +0 -362
  1325. package/src/rollup/constant_rollup_data.ts +0 -54
  1326. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -85
  1327. package/src/rollup/previous_rollup_block_data.ts +0 -54
  1328. package/src/rollup/previous_rollup_data.ts +0 -54
  1329. package/src/rollup/private_base_rollup_inputs.ts +0 -50
  1330. package/src/rollup/private_tube_data.ts +0 -35
  1331. package/src/rollup/public_base_rollup_inputs.ts +0 -59
  1332. package/src/rollup/public_tube_data.ts +0 -35
  1333. package/src/rollup/root_rollup.ts +0 -206
  1334. package/src/rollup/tube_inputs.ts +0 -70
  1335. package/src/shared_mutable/index.ts +0 -4
  1336. package/src/shared_mutable/scheduled_delay_change.ts +0 -13
  1337. package/src/shared_mutable/shared_mutable_values_with_hash.ts +0 -38
  1338. package/src/trees/protocol_contract_leaf.ts +0 -132
  1339. package/src/tx/max_block_number.ts +0 -79
  1340. package/src/tx/public_execution_request.ts +0 -97
  1341. /package/dest/{block/nullifier_with_block_source.js → abi/event_metadata_definition.js} +0 -0
@@ -15,13 +15,14 @@ const VERSION = 1 as const;
15
15
  export interface ContractClass {
16
16
  /** Version of the contract class. */
17
17
  version: typeof VERSION;
18
- /** Hash of the contract artifact. The specification of this hash is not enforced by the protocol. Should include commitments to unconstrained code and compilation metadata. Intended to be used by clients to verify that an off-chain fetched artifact matches a registered class. */
18
+ /**
19
+ * Hash of the contract artifact. The specification of this hash is not enforced by the protocol. Should include
20
+ * commitments to code of utility functions and compilation metadata. Intended to be used by clients to verify that
21
+ * an offchain fetched artifact matches a registered class.
22
+ */
19
23
  artifactHash: Fr;
20
24
  /** List of individual private functions, constructors included. */
21
25
  privateFunctions: PrivateFunction[];
22
- // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8985): Remove public functions.
23
- /** Contains the public_dispatch function (and only that) if there's any public code in the contract. */
24
- publicFunctions: PublicFunction[];
25
26
  /** Bytecode for the public_dispatch function, or empty. */
26
27
  packedBytecode: Buffer;
27
28
  }
@@ -49,38 +50,25 @@ const ExecutablePrivateFunctionSchema = PrivateFunctionSchema.and(
49
50
  z.object({ bytecode: schemas.Buffer }),
50
51
  ) satisfies ZodFor<ExecutablePrivateFunction>;
51
52
 
52
- /** Public function definition within a contract class. */
53
- export interface PublicFunction {
54
- /** Selector of the function. Calculated as the hash of the method name and parameters. The specification of this is not enforced by the protocol. */
55
- selector: FunctionSelector;
56
- /** Public bytecode. */
57
- bytecode: Buffer;
58
- }
59
-
60
- export const PublicFunctionSchema = z.object({
61
- selector: FunctionSelector.schema,
62
- bytecode: schemas.Buffer,
63
- }) satisfies ZodFor<PublicFunction>;
64
-
65
- /** Unconstrained function definition. */
66
- export interface UnconstrainedFunction {
53
+ /** Utility function definition. */
54
+ export interface UtilityFunction {
67
55
  /** Selector of the function. Calculated as the hash of the method name and parameters. The specification of this is not enforced by the protocol. */
68
56
  selector: FunctionSelector;
69
57
  /** Brillig. */
70
58
  bytecode: Buffer;
71
59
  }
72
60
 
73
- const UnconstrainedFunctionSchema = z.object({
61
+ const UtilityFunctionSchema = z.object({
74
62
  /** lala */
75
63
  selector: FunctionSelector.schema,
76
64
  bytecode: schemas.Buffer,
77
- }) satisfies ZodFor<UnconstrainedFunction>;
65
+ }) satisfies ZodFor<UtilityFunction>;
78
66
 
79
67
  /** Sibling paths and sibling commitments for proving membership of a private function within a contract class. */
80
68
  export type PrivateFunctionMembershipProof = {
81
69
  artifactMetadataHash: Fr;
82
70
  functionMetadataHash: Fr;
83
- unconstrainedFunctionsArtifactTreeRoot: Fr;
71
+ utilityFunctionsTreeRoot: Fr;
84
72
  privateFunctionTreeSiblingPath: Fr[];
85
73
  privateFunctionTreeLeafIndex: number;
86
74
  artifactTreeSiblingPath: Fr[];
@@ -90,18 +78,18 @@ export type PrivateFunctionMembershipProof = {
90
78
  const PrivateFunctionMembershipProofSchema = z.object({
91
79
  artifactMetadataHash: schemas.Fr,
92
80
  functionMetadataHash: schemas.Fr,
93
- unconstrainedFunctionsArtifactTreeRoot: schemas.Fr,
81
+ utilityFunctionsTreeRoot: schemas.Fr,
94
82
  privateFunctionTreeSiblingPath: z.array(schemas.Fr),
95
83
  privateFunctionTreeLeafIndex: schemas.Integer,
96
84
  artifactTreeSiblingPath: z.array(schemas.Fr),
97
85
  artifactTreeLeafIndex: schemas.Integer,
98
86
  }) satisfies ZodFor<PrivateFunctionMembershipProof>;
99
87
 
100
- /** A private function with a memebership proof. */
88
+ /** A private function with a membership proof. */
101
89
  export type ExecutablePrivateFunctionWithMembershipProof = ExecutablePrivateFunction & PrivateFunctionMembershipProof;
102
90
 
103
- /** Sibling paths and commitments for proving membership of an unconstrained function within a contract class. */
104
- export type UnconstrainedFunctionMembershipProof = {
91
+ /** Sibling paths and commitments for proving membership of a utility function within a contract class. */
92
+ export type UtilityFunctionMembershipProof = {
105
93
  artifactMetadataHash: Fr;
106
94
  functionMetadataHash: Fr;
107
95
  privateFunctionsArtifactTreeRoot: Fr;
@@ -109,22 +97,21 @@ export type UnconstrainedFunctionMembershipProof = {
109
97
  artifactTreeLeafIndex: number;
110
98
  };
111
99
 
112
- const UnconstrainedFunctionMembershipProofSchema = z.object({
100
+ const UtilityFunctionMembershipProofSchema = z.object({
113
101
  artifactMetadataHash: schemas.Fr,
114
102
  functionMetadataHash: schemas.Fr,
115
103
  privateFunctionsArtifactTreeRoot: schemas.Fr,
116
104
  artifactTreeSiblingPath: z.array(schemas.Fr),
117
105
  artifactTreeLeafIndex: schemas.Integer,
118
- }) satisfies ZodFor<UnconstrainedFunctionMembershipProof>;
106
+ }) satisfies ZodFor<UtilityFunctionMembershipProof>;
119
107
 
120
- /** An unconstrained function with a membership proof. */
121
- export type UnconstrainedFunctionWithMembershipProof = UnconstrainedFunction & UnconstrainedFunctionMembershipProof;
108
+ /** A utility function with a membership proof. */
109
+ export type UtilityFunctionWithMembershipProof = UtilityFunction & UtilityFunctionMembershipProof;
122
110
 
123
111
  export const ContractClassSchema = z.object({
124
112
  version: z.literal(VERSION),
125
113
  artifactHash: schemas.Fr,
126
114
  privateFunctions: z.array(PrivateFunctionSchema),
127
- publicFunctions: z.array(PublicFunctionSchema),
128
115
  packedBytecode: schemas.Buffer,
129
116
  }) satisfies ZodFor<ContractClass>;
130
117
 
@@ -145,13 +132,14 @@ export const ContractClassWithIdSchema = ContractClassSchema.extend({
145
132
  id: schemas.Fr,
146
133
  }) satisfies ZodFor<ContractClassWithId>;
147
134
 
148
- /** A contract class with public bytecode information, and optional private and unconstrained. */
135
+ /** A contract class with public bytecode information, and optional private and utility functions. */
149
136
  export type ContractClassPublic = {
150
137
  privateFunctions: ExecutablePrivateFunctionWithMembershipProof[];
151
- unconstrainedFunctions: UnconstrainedFunctionWithMembershipProof[];
138
+ utilityFunctions: UtilityFunctionWithMembershipProof[];
152
139
  } & Pick<ContractClassCommitments, 'id' | 'privateFunctionsRoot'> &
153
140
  Omit<ContractClass, 'privateFunctions'>;
154
- export type ContractClassWithCommitment = ContractClassPublic &
141
+
142
+ export type ContractClassPublicWithCommitment = ContractClassPublic &
155
143
  Pick<ContractClassCommitments, 'publicBytecodeCommitment'>;
156
144
 
157
145
  export const ContractClassPublicSchema = z
@@ -159,7 +147,7 @@ export const ContractClassPublicSchema = z
159
147
  id: schemas.Fr,
160
148
  privateFunctionsRoot: schemas.Fr,
161
149
  privateFunctions: z.array(ExecutablePrivateFunctionSchema.and(PrivateFunctionMembershipProofSchema)),
162
- unconstrainedFunctions: z.array(UnconstrainedFunctionSchema.and(UnconstrainedFunctionMembershipProofSchema)),
150
+ utilityFunctions: z.array(UtilityFunctionSchema.and(UtilityFunctionMembershipProofSchema)),
163
151
  })
164
152
  .and(ContractClassSchema.omit({ privateFunctions: true })) satisfies ZodFor<ContractClassPublic>;
165
153
 
@@ -1,19 +1,12 @@
1
1
  import type { Fr } from '@aztec/foundation/fields';
2
2
 
3
- import { FunctionSelector } from '../../abi/index.js';
3
+ import type { FunctionSelector } from '../../abi/index.js';
4
4
  import type { AztecAddress } from '../../aztec-address/index.js';
5
- import type { ContractClassPublic, PublicFunction } from './contract_class.js';
5
+ import type { UInt64 } from '../../types/shared.js';
6
+ import type { ContractClassPublic } from './contract_class.js';
6
7
  import type { ContractInstanceWithAddress } from './contract_instance.js';
7
8
 
8
9
  export interface ContractDataSource {
9
- /**
10
- * Returns a contract's encoded public function, given its function selector.
11
- * @param address - The contract aztec address.
12
- * @param selector - The function's selector.
13
- * @returns The function's data.
14
- */
15
- getPublicFunction(address: AztecAddress, selector: FunctionSelector): Promise<PublicFunction | undefined>;
16
-
17
10
  /**
18
11
  * Gets the number of the latest L2 block processed by the implementation.
19
12
  * @returns The number of the latest L2 block processed by the implementation.
@@ -28,25 +21,23 @@ export interface ContractDataSource {
28
21
 
29
22
  getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
30
23
 
31
- /**
32
- * Adds a contract class to the database.
33
- * TODO(#10007): Remove this method
34
- */
35
- addContractClass(contractClass: ContractClassPublic): Promise<void>;
36
-
37
24
  /**
38
25
  * Returns a publicly deployed contract instance given its address.
39
26
  * @param address - Address of the deployed contract.
27
+ * @param timestamp - Timestamp at which to retrieve the contract instance. If not provided, the latest block should
28
+ * be used.
29
+ * TODO(#15170): Fix the implementations ignoring the timestamp param and make timestamp required.
40
30
  */
41
- getContract(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
31
+ getContract(address: AztecAddress, timestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
42
32
 
43
33
  /**
44
34
  * Returns the list of all class ids known.
45
35
  */
46
36
  getContractClassIds(): Promise<Fr[]>;
47
37
 
48
- /** Returns a function's name */
49
- getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
38
+ /** Returns a function's name. It's only available if provided by calling `registerContractFunctionSignatures`. */
39
+ getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
40
+
50
41
  /** Registers a function names. Useful for debugging. */
51
- registerContractFunctionSignatures(address: AztecAddress, signatures: string[]): Promise<void>;
42
+ registerContractFunctionSignatures(signatures: string[]): Promise<void>;
52
43
  }
@@ -4,6 +4,7 @@ import { z } from 'zod';
4
4
 
5
5
  import type { AztecAddress } from '../../aztec-address/index.js';
6
6
  import { type ZodFor, schemas } from '../../schemas/index.js';
7
+ import type { UInt64 } from '../../types/shared.js';
7
8
 
8
9
  /**
9
10
  * An update to a contract instance, changing its contract class.
@@ -13,8 +14,8 @@ export interface ContractInstanceUpdate {
13
14
  prevContractClassId: Fr;
14
15
  /** Identifier of the new contract class for this instance. */
15
16
  newContractClassId: Fr;
16
- /** The block number where the contract class in use will be the new one */
17
- blockOfChange: number;
17
+ /** The timestamp at which the contract class in use will be the new one */
18
+ timestampOfChange: UInt64;
18
19
  }
19
20
 
20
21
  export type ContractInstanceUpdateWithAddress = ContractInstanceUpdate & { address: AztecAddress };
@@ -22,7 +23,7 @@ export type ContractInstanceUpdateWithAddress = ContractInstanceUpdate & { addre
22
23
  export const ContractInstanceUpdateSchema = z.object({
23
24
  prevContractClassId: schemas.Fr,
24
25
  newContractClassId: schemas.Fr,
25
- blockOfChange: z.number().int().nonnegative(),
26
+ timestampOfChange: schemas.BigInt,
26
27
  }) satisfies ZodFor<ContractInstanceUpdate>;
27
28
 
28
29
  export const ContractInstanceUpdateWithAddressSchema = ContractInstanceUpdateSchema.and(
@@ -11,8 +11,8 @@ export interface NodeInfo {
11
11
  nodeVersion: string;
12
12
  /** L1 chain id. */
13
13
  l1ChainId: number;
14
- /** Protocol version. */
15
- protocolVersion: number;
14
+ /** Rollup version. */
15
+ rollupVersion: number;
16
16
  /** The node's ENR. */
17
17
  enr: string | undefined;
18
18
  /** The deployed l1 contract addresses */
@@ -25,7 +25,7 @@ export const NodeInfoSchema: ZodFor<NodeInfo> = z
25
25
  .object({
26
26
  nodeVersion: z.string(),
27
27
  l1ChainId: z.number().int().nonnegative(),
28
- protocolVersion: z.number().int().nonnegative(),
28
+ rollupVersion: z.number().int().nonnegative(),
29
29
  enr: z.string().optional(),
30
30
  l1ContractAddresses: L1ContractAddressesSchema,
31
31
  protocolContractAddresses: ProtocolContractAddressesSchema,
@@ -3,23 +3,18 @@ import { z } from 'zod';
3
3
  import type { AztecAddress } from '../../aztec-address/index.js';
4
4
  import { schemas } from '../../schemas/index.js';
5
5
 
6
- export const ProtocolContractsNames = [
7
- 'classRegisterer',
8
- 'feeJuice',
9
- 'instanceDeployer',
10
- 'multiCallEntrypoint',
11
- ] as const;
6
+ export const ProtocolContractsNames = ['classRegistry', 'feeJuice', 'instanceRegistry', 'multiCallEntrypoint'] as const;
12
7
 
13
8
  export type ProtocolContractAddresses = {
14
- classRegisterer: AztecAddress;
9
+ classRegistry: AztecAddress;
15
10
  feeJuice: AztecAddress;
16
- instanceDeployer: AztecAddress;
11
+ instanceRegistry: AztecAddress;
17
12
  multiCallEntrypoint: AztecAddress;
18
13
  };
19
14
 
20
15
  export const ProtocolContractAddressesSchema = z.object({
21
- classRegisterer: schemas.AztecAddress,
16
+ classRegistry: schemas.AztecAddress,
22
17
  feeJuice: schemas.AztecAddress,
23
- instanceDeployer: schemas.AztecAddress,
18
+ instanceRegistry: schemas.AztecAddress,
24
19
  multiCallEntrypoint: schemas.AztecAddress,
25
20
  });
@@ -36,11 +36,13 @@ export async function computePrivateFunctionLeaf(fn: PrivateFunction): Promise<B
36
36
 
37
37
  async function getPrivateFunctionTreeCalculator(): Promise<MerkleTreeCalculator> {
38
38
  if (!privateFunctionTreeCalculator) {
39
- const functionTreeZeroLeaf = (await pedersenHash(new Array(PRIVATE_FUNCTION_SIZE).fill(0))).toBuffer();
39
+ const functionTreeZeroLeaf = (
40
+ await pedersenHash(new Array(PRIVATE_FUNCTION_SIZE).fill(0))
41
+ ).toBuffer() as Buffer<ArrayBuffer>;
40
42
  privateFunctionTreeCalculator = await MerkleTreeCalculator.create(
41
43
  FUNCTION_TREE_HEIGHT,
42
44
  functionTreeZeroLeaf,
43
- async (left, right) => (await poseidon2Hash([left, right])).toBuffer(),
45
+ async (left, right) => (await poseidon2Hash([left, right])).toBuffer() as Buffer<ArrayBuffer>,
44
46
  );
45
47
  }
46
48
  return privateFunctionTreeCalculator;
@@ -51,7 +51,7 @@ export async function createPrivateFunctionMembershipProof(
51
51
  }
52
52
 
53
53
  // Compute preimage for the artifact hash
54
- const { unconstrainedFunctionRoot: unconstrainedFunctionsArtifactTreeRoot, metadataHash: artifactMetadataHash } =
54
+ const { utilityFunctionRoot: utilityFunctionsTreeRoot, metadataHash: artifactMetadataHash } =
55
55
  await computeArtifactHashPreimage(artifact);
56
56
 
57
57
  // We need two sibling paths because private function information is split across two trees:
@@ -74,7 +74,7 @@ export async function createPrivateFunctionMembershipProof(
74
74
  functionLeaf: '0x' + functionLeaf.toString('hex'),
75
75
  artifactMetadataHash,
76
76
  privateFunctionsTreeRoot: '0x' + functionsTree.root.toString('hex'),
77
- unconstrainedFunctionsArtifactTreeRoot,
77
+ utilityFunctionsTreeRoot,
78
78
  artifactFunctionTreeSiblingPath: artifactTreeSiblingPath.map(fr => fr.toString()).join(','),
79
79
  privateFunctionTreeSiblingPath: functionsTreeSiblingPath.map(fr => fr.toString()).join(','),
80
80
  });
@@ -84,14 +84,14 @@ export async function createPrivateFunctionMembershipProof(
84
84
  artifactTreeLeafIndex,
85
85
  artifactMetadataHash,
86
86
  functionMetadataHash,
87
- unconstrainedFunctionsArtifactTreeRoot,
87
+ utilityFunctionsTreeRoot,
88
88
  privateFunctionTreeSiblingPath: functionsTreeSiblingPath,
89
89
  privateFunctionTreeLeafIndex: functionsTreeLeafIndex,
90
90
  };
91
91
  }
92
92
 
93
93
  /**
94
- * Verifies that a private function with a membership proof as emitted by the ClassRegisterer contract is valid,
94
+ * Verifies that a private function with a membership proof as emitted by the ClassRegistry contract is valid,
95
95
  * as defined in the protocol specs at contract-deployment/classes:
96
96
  *
97
97
  * ```
@@ -106,7 +106,7 @@ export async function createPrivateFunctionMembershipProof(
106
106
  * // Compute artifact leaf and assert it belongs to the artifact
107
107
  * artifact_function_leaf = sha256(selector, metadata_hash, sha256(bytecode))
108
108
  * computed_artifact_private_function_tree_root = compute_root(artifact_function_leaf, artifact_function_tree_sibling_path)
109
- * computed_artifact_hash = sha256(computed_artifact_private_function_tree_root, unconstrained_functions_artifact_tree_root, artifact_metadata_hash)
109
+ * computed_artifact_hash = sha256(computed_artifact_private_function_tree_root, utility_functions_artifact_tree_root, artifact_metadata_hash)
110
110
  * assert computed_artifact_hash == contract_class.artifact_hash
111
111
  * ```
112
112
  * @param fn - Function to check membership proof for.
@@ -147,7 +147,7 @@ export async function isValidPrivateFunctionMembershipProof(
147
147
  const computedArtifactPrivateFunctionTreeRoot = Fr.fromBuffer(computedArtifactPrivateFunctionTreeRootBuffer);
148
148
  const computedArtifactHash = await computeArtifactHash({
149
149
  privateFunctionRoot: computedArtifactPrivateFunctionTreeRoot,
150
- unconstrainedFunctionRoot: fn.unconstrainedFunctionsArtifactTreeRoot,
150
+ utilityFunctionRoot: fn.utilityFunctionsTreeRoot,
151
151
  metadataHash: fn.artifactMetadataHash,
152
152
  });
153
153
  if (!contractClass.artifactHash.equals(computedArtifactHash)) {
@@ -156,7 +156,7 @@ export async function isValidPrivateFunctionMembershipProof(
156
156
  computedArtifactHash,
157
157
  computedFunctionArtifactHash: functionArtifactHash,
158
158
  computedArtifactPrivateFunctionTreeRoot,
159
- unconstrainedFunctionRoot: fn.unconstrainedFunctionsArtifactTreeRoot,
159
+ utilityFunctionRoot: fn.utilityFunctionsTreeRoot,
160
160
  metadataHash: fn.artifactMetadataHash,
161
161
  artifactFunctionTreeSiblingPath: fn.artifactTreeSiblingPath.map(fr => fr.toString()).join(','),
162
162
  });
@@ -13,29 +13,29 @@ import {
13
13
  } from './artifact_hash.js';
14
14
  import type {
15
15
  ContractClassPublic,
16
- UnconstrainedFunctionMembershipProof,
17
- UnconstrainedFunctionWithMembershipProof,
16
+ UtilityFunctionMembershipProof,
17
+ UtilityFunctionWithMembershipProof,
18
18
  } from './interfaces/index.js';
19
19
 
20
20
  /**
21
- * Creates a membership proof for an unconstrained function in a contract class, to be verified via `isValidUnconstrainedFunctionMembershipProof`.
21
+ * Creates a membership proof for a utility function in a contract class, to be verified via `isValidUtilityFunctionMembershipProof`.
22
22
  * @param selector - Selector of the function to create the proof for.
23
23
  * @param artifact - Artifact of the contract class where the function is defined.
24
24
  */
25
- export async function createUnconstrainedFunctionMembershipProof(
25
+ export async function createUtilityFunctionMembershipProof(
26
26
  selector: FunctionSelector,
27
27
  artifact: ContractArtifact,
28
- ): Promise<UnconstrainedFunctionMembershipProof> {
28
+ ): Promise<UtilityFunctionMembershipProof> {
29
29
  const log = createLogger('circuits:function_membership_proof');
30
30
 
31
31
  // Locate function artifact
32
- const uncontrainedFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.UNCONSTRAINED);
33
- const unconstrainedFunctionsAndSelectors = await Promise.all(
34
- uncontrainedFunctions.map(async fn => ({ fn, selector: await FunctionSelector.fromNameAndParameters(fn) })),
32
+ const utilityFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.UTILITY);
33
+ const utilityFunctionsAndSelectors = await Promise.all(
34
+ utilityFunctions.map(async fn => ({ fn, selector: await FunctionSelector.fromNameAndParameters(fn) })),
35
35
  );
36
- const fn = unconstrainedFunctionsAndSelectors.find(fnAndSelector => selector.equals(fnAndSelector.selector))?.fn;
36
+ const fn = utilityFunctionsAndSelectors.find(fnAndSelector => selector.equals(fnAndSelector.selector))?.fn;
37
37
  if (!fn) {
38
- throw new Error(`Unconstrained function with selector ${selector.toString()} not found`);
38
+ throw new Error(`Utility function with selector ${selector.toString()} not found`);
39
39
  }
40
40
  // Compute preimage for the artifact hash
41
41
  const { privateFunctionRoot: privateFunctionsArtifactTreeRoot, metadataHash: artifactMetadataHash } =
@@ -44,11 +44,11 @@ export async function createUnconstrainedFunctionMembershipProof(
44
44
  // Compute the sibling path for the "artifact tree"
45
45
  const functionMetadataHash = computeFunctionMetadataHash(fn);
46
46
  const functionArtifactHash = await computeFunctionArtifactHash({ ...fn, functionMetadataHash });
47
- const artifactTree = (await computeArtifactFunctionTree(artifact, FunctionType.UNCONSTRAINED))!;
47
+ const artifactTree = (await computeArtifactFunctionTree(artifact, FunctionType.UTILITY))!;
48
48
  const artifactTreeLeafIndex = artifactTree.getIndex(functionArtifactHash.toBuffer());
49
49
  const artifactTreeSiblingPath = artifactTree.getSiblingPath(artifactTreeLeafIndex).map(Fr.fromBuffer);
50
50
 
51
- log.debug(`Computed proof for unconstrained function with selector ${selector.toString()}`, {
51
+ log.debug(`Computed proof for utility function with selector ${selector.toString()}`, {
52
52
  functionArtifactHash,
53
53
  functionMetadataHash,
54
54
  artifactMetadataHash,
@@ -66,7 +66,7 @@ export async function createUnconstrainedFunctionMembershipProof(
66
66
  }
67
67
 
68
68
  /**
69
- * Verifies that an unconstrained function with a membership proof as emitted by the ClassRegisterer contract is valid,
69
+ * Verifies that a utility function with a membership proof as emitted by the ClassRegistry contract is valid,
70
70
  * as defined in the protocol specs at contract-deployment/classes:
71
71
  *
72
72
  * ```
@@ -75,15 +75,15 @@ export async function createUnconstrainedFunctionMembershipProof(
75
75
  *
76
76
  * // Compute artifact leaf and assert it belongs to the artifact
77
77
  * artifact_function_leaf = sha256(selector, metadata_hash, sha256(bytecode))
78
- * computed_artifact_unconstrained_function_tree_root = compute_root(artifact_function_leaf, artifact_function_tree_sibling_path, artifact_function_tree_leaf_index)
79
- * computed_artifact_hash = sha256(private_functions_artifact_tree_root, computed_artifact_unconstrained_function_tree_root, artifact_metadata_hash)
78
+ * computed_artifact_utility_function_tree_root = compute_root(artifact_function_leaf, artifact_function_tree_sibling_path, artifact_function_tree_leaf_index)
79
+ * computed_artifact_hash = sha256(private_functions_artifact_tree_root, computed_artifact_utility_function_tree_root, artifact_metadata_hash)
80
80
  * assert computed_artifact_hash == contract_class.artifact_hash
81
81
  * ```
82
82
  * @param fn - Function to check membership proof for.
83
83
  * @param contractClass - In which contract class the function is expected to be.
84
84
  */
85
- export async function isValidUnconstrainedFunctionMembershipProof(
86
- fn: UnconstrainedFunctionWithMembershipProof,
85
+ export async function isValidUtilityFunctionMembershipProof(
86
+ fn: UtilityFunctionWithMembershipProof,
87
87
  contractClass: Pick<ContractClassPublic, 'artifactHash'>,
88
88
  ) {
89
89
  const log = createLogger('circuits:function_membership_proof');
@@ -98,7 +98,7 @@ export async function isValidUnconstrainedFunctionMembershipProof(
98
98
  const computedArtifactFunctionTreeRoot = Fr.fromBuffer(computedArtifactFunctionTreeRootBuffer);
99
99
  const computedArtifactHash = await computeArtifactHash({
100
100
  privateFunctionRoot: fn.privateFunctionsArtifactTreeRoot,
101
- unconstrainedFunctionRoot: computedArtifactFunctionTreeRoot,
101
+ utilityFunctionRoot: computedArtifactFunctionTreeRoot,
102
102
  metadataHash: fn.artifactMetadataHash,
103
103
  });
104
104
  if (!contractClass.artifactHash.equals(computedArtifactHash)) {
@@ -1,8 +1,9 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import { jsonParseWithSchemaSync, jsonStringify } from '@aztec/foundation/json-rpc';
3
- import { createLogger } from '@aztec/foundation/log';
2
+ import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
3
+ import { type Logger, createLogger } from '@aztec/foundation/log';
4
4
 
5
5
  import fs from 'fs/promises';
6
+ import { inspect } from 'node:util';
6
7
  import { join } from 'path';
7
8
  import { z } from 'zod';
8
9
 
@@ -10,7 +11,12 @@ import { z } from 'zod';
10
11
  * Represents a version record for storing in a version file.
11
12
  */
12
13
  export class DatabaseVersion {
13
- constructor(public readonly schemaVersion: number, public readonly rollupAddress: EthAddress) {}
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
+ ) {}
14
20
 
15
21
  public toBuffer(): Buffer {
16
22
  return Buffer.from(jsonStringify(this));
@@ -18,7 +24,7 @@ export class DatabaseVersion {
18
24
 
19
25
  public static fromBuffer(buf: Buffer): DatabaseVersion {
20
26
  try {
21
- return jsonParseWithSchemaSync(buf.toString('utf-8'), DatabaseVersion.schema);
27
+ return jsonParseWithSchema(buf.toString('utf-8'), DatabaseVersion.schema);
22
28
  } catch (err) {
23
29
  throw new Error(`Failed to deserialize version information: ${err}`, { cause: err });
24
30
  }
@@ -59,6 +65,15 @@ export class DatabaseVersion {
59
65
  .transform(({ schemaVersion, rollupAddress }) => new DatabaseVersion(schemaVersion, rollupAddress));
60
66
  }
61
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
+
62
77
  /**
63
78
  * Returns an empty instance
64
79
  */
@@ -69,17 +84,35 @@ export class DatabaseVersion {
69
84
 
70
85
  export type DatabaseVersionManagerFs = Pick<typeof fs, 'readFile' | 'writeFile' | 'rm' | 'mkdir'>;
71
86
 
87
+ export const DATABASE_VERSION_FILE_NAME = 'db_version';
88
+
89
+ export type DatabaseVersionManagerOptions<T> = {
90
+ schemaVersion: number;
91
+ rollupAddress: EthAddress;
92
+ dataDirectory: string;
93
+ onOpen: (dataDir: string) => Promise<T>;
94
+ onUpgrade?: (dataDir: string, currentVersion: number, latestVersion: number) => Promise<void>;
95
+ fileSystem?: DatabaseVersionManagerFs;
96
+ log?: Logger;
97
+ };
98
+
72
99
  /**
73
100
  * A manager for handling database versioning and migrations.
74
101
  * This class will check the version of data in a directory and either
75
102
  * reset or upgrade based on version compatibility.
76
103
  */
77
104
  export class DatabaseVersionManager<T> {
78
- public static readonly VERSION_FILE = 'db_version';
105
+ public static readonly VERSION_FILE = DATABASE_VERSION_FILE_NAME;
79
106
 
80
107
  private readonly versionFile: string;
81
108
  private readonly currentVersion: DatabaseVersion;
82
109
 
110
+ private dataDirectory: string;
111
+ private onOpen: (dataDir: string) => Promise<T>;
112
+ private onUpgrade?: (dataDir: string, currentVersion: number, latestVersion: number) => Promise<void>;
113
+ private fileSystem: DatabaseVersionManagerFs;
114
+ private log: Logger;
115
+
83
116
  /**
84
117
  * Create a new version manager
85
118
  *
@@ -92,21 +125,32 @@ export class DatabaseVersionManager<T> {
92
125
  * @param log - Optional custom logger
93
126
  * @param options - Configuration options
94
127
  */
95
- constructor(
96
- schemaVersion: number,
97
- rollupAddress: EthAddress,
98
- private dataDirectory: string,
99
- private onOpen: (dataDir: string) => Promise<T>,
100
- private onUpgrade?: (dataDir: string, currentVersion: number, latestVersion: number) => Promise<void>,
101
- private fileSystem: DatabaseVersionManagerFs = fs,
102
- private log = createLogger(`foundation:version-manager`),
103
- ) {
128
+ constructor({
129
+ schemaVersion,
130
+ rollupAddress,
131
+ dataDirectory,
132
+ onOpen,
133
+ onUpgrade,
134
+ fileSystem = fs,
135
+ log = createLogger(`foundation:version-manager`),
136
+ }: DatabaseVersionManagerOptions<T>) {
104
137
  if (schemaVersion < 1) {
105
138
  throw new TypeError(`Invalid schema version received: ${schemaVersion}`);
106
139
  }
107
140
 
108
- this.versionFile = join(this.dataDirectory, DatabaseVersionManager.VERSION_FILE);
141
+ this.versionFile = join(dataDirectory, DatabaseVersionManager.VERSION_FILE);
109
142
  this.currentVersion = new DatabaseVersion(schemaVersion, rollupAddress);
143
+
144
+ this.dataDirectory = dataDirectory;
145
+ this.onOpen = onOpen;
146
+ this.onUpgrade = onUpgrade;
147
+ this.fileSystem = fileSystem;
148
+ this.log = log;
149
+ }
150
+
151
+ static async writeVersion(version: DatabaseVersion, dataDir: string, fileSystem: DatabaseVersionManagerFs = fs) {
152
+ await fileSystem.mkdir(dataDir, { recursive: true });
153
+ return fileSystem.writeFile(join(dataDir, DatabaseVersionManager.VERSION_FILE), version.toBuffer());
110
154
  }
111
155
 
112
156
  /**
@@ -120,6 +164,8 @@ export class DatabaseVersionManager<T> {
120
164
  public async open(): Promise<[T, boolean]> {
121
165
  // const storedVersion = await DatabaseVersion.readVersion(this.versionFile);
122
166
  let storedVersion: DatabaseVersion;
167
+ // a flag to suppress logs about 'resetting the data dir' when starting from an empty state
168
+ let shouldLogDataReset = true;
123
169
 
124
170
  try {
125
171
  const versionBuf = await this.fileSystem.readFile(this.versionFile);
@@ -127,6 +173,8 @@ export class DatabaseVersionManager<T> {
127
173
  } catch (err) {
128
174
  if (err && (err as Error & { code: string }).code === 'ENOENT') {
129
175
  storedVersion = DatabaseVersion.empty();
176
+ // only turn off these logs if the data dir didn't exist before
177
+ shouldLogDataReset = false;
130
178
  } else {
131
179
  this.log.warn(`Failed to read stored version information: ${err}. Defaulting to empty version`);
132
180
  storedVersion = DatabaseVersion.empty();
@@ -147,13 +195,21 @@ export class DatabaseVersionManager<T> {
147
195
  needsReset = true;
148
196
  }
149
197
  } else if (cmp !== 0) {
150
- this.log.info(
151
- `Can't upgrade from version ${storedVersion.schemaVersion} to ${this.currentVersion}. Resetting database at ${this.dataDirectory}`,
152
- );
198
+ if (shouldLogDataReset) {
199
+ this.log.info(
200
+ `Can't upgrade from version ${storedVersion} to ${this.currentVersion}. Resetting database at ${this.dataDirectory}`,
201
+ );
202
+ }
153
203
  needsReset = true;
154
204
  }
155
205
  } else {
156
- this.log.warn('Rollup address changed, resetting data directory');
206
+ if (shouldLogDataReset) {
207
+ this.log.warn('Rollup address has changed, resetting data directory', {
208
+ versionFile: this.versionFile,
209
+ storedVersion,
210
+ currentVersion: this.currentVersion,
211
+ });
212
+ }
157
213
  needsReset = true;
158
214
  }
159
215
 
@@ -171,17 +227,14 @@ export class DatabaseVersionManager<T> {
171
227
  /**
172
228
  * Writes the current version to the version file
173
229
  */
174
- private async writeVersion(): Promise<void> {
175
- // Ensure the directory exists
176
- await this.fileSystem.mkdir(this.dataDirectory, { recursive: true });
177
- // Write the version file
178
- await this.fileSystem.writeFile(this.versionFile, this.currentVersion.toBuffer());
230
+ public writeVersion(dir?: string): Promise<void> {
231
+ return DatabaseVersionManager.writeVersion(this.currentVersion, dir ?? this.dataDirectory, this.fileSystem);
179
232
  }
180
233
 
181
234
  /**
182
235
  * Resets the data directory by deleting it and recreating it
183
236
  */
184
- private async resetDataDirectory(): Promise<void> {
237
+ public async resetDataDirectory(): Promise<void> {
185
238
  try {
186
239
  await this.fileSystem.rm(this.dataDirectory, { recursive: true, force: true, maxRetries: 3 });
187
240
  await this.fileSystem.mkdir(this.dataDirectory, { recursive: true });