@aztec/stdlib 0.0.1-commit.9ef841308 → 0.0.1-commit.a4600f49

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 (1069) hide show
  1. package/dest/abi/abi.d.ts +121 -1197
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +31 -16
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +6 -2
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +13 -1
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/encoder.d.ts +1 -1
  13. package/dest/abi/encoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.js +32 -6
  15. package/dest/abi/event_selector.d.ts +4 -7
  16. package/dest/abi/event_selector.d.ts.map +1 -1
  17. package/dest/abi/function_call.d.ts +7 -25
  18. package/dest/abi/function_call.d.ts.map +1 -1
  19. package/dest/abi/function_selector.d.ts +3 -6
  20. package/dest/abi/function_selector.d.ts.map +1 -1
  21. package/dest/abi/function_selector.js +1 -3
  22. package/dest/abi/note_selector.d.ts +4 -7
  23. package/dest/abi/note_selector.d.ts.map +1 -1
  24. package/dest/abi/note_selector.js +1 -3
  25. package/dest/abi/selector.d.ts +2 -2
  26. package/dest/abi/selector.d.ts.map +1 -1
  27. package/dest/abi/selector.js +1 -1
  28. package/dest/abi/utils.d.ts +1 -1
  29. package/dest/abi/utils.d.ts.map +1 -1
  30. package/dest/abi/utils.js +1 -1
  31. package/dest/auth_witness/auth_witness.d.ts +2 -2
  32. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  33. package/dest/avm/avm.d.ts +1756 -10463
  34. package/dest/avm/avm.d.ts.map +1 -1
  35. package/dest/avm/avm.js +7 -4
  36. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  37. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  38. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  39. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  40. package/dest/avm/avm_proving_request.d.ts +674 -5467
  41. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  42. package/dest/avm/index.d.ts +1 -6
  43. package/dest/avm/index.d.ts.map +1 -1
  44. package/dest/avm/index.js +0 -5
  45. package/dest/avm/message_pack.js +12 -3
  46. package/dest/avm/public_data_write.d.ts +6 -12
  47. package/dest/avm/public_data_write.d.ts.map +1 -1
  48. package/dest/avm/revert_code.d.ts +5 -21
  49. package/dest/avm/revert_code.d.ts.map +1 -1
  50. package/dest/avm/revert_code.js +12 -30
  51. package/dest/aztec-address/index.d.ts +42 -12
  52. package/dest/aztec-address/index.d.ts.map +1 -1
  53. package/dest/aztec-address/index.js +40 -13
  54. package/dest/block/attestation_info.d.ts +3 -2
  55. package/dest/block/attestation_info.d.ts.map +1 -1
  56. package/dest/block/attestation_info.js +10 -5
  57. package/dest/block/block_data.d.ts +13 -38
  58. package/dest/block/block_data.d.ts.map +1 -1
  59. package/dest/block/block_data.js +2 -2
  60. package/dest/block/block_hash.d.ts +11 -10
  61. package/dest/block/block_hash.d.ts.map +1 -1
  62. package/dest/block/block_hash.js +10 -9
  63. package/dest/block/block_parameter.d.ts +37 -4
  64. package/dest/block/block_parameter.d.ts.map +1 -1
  65. package/dest/block/block_parameter.js +53 -2
  66. package/dest/block/in_block.d.ts +5 -24
  67. package/dest/block/in_block.d.ts.map +1 -1
  68. package/dest/block/index.d.ts +1 -2
  69. package/dest/block/index.d.ts.map +1 -1
  70. package/dest/block/index.js +0 -1
  71. package/dest/block/l2_block.d.ts +13 -41
  72. package/dest/block/l2_block.d.ts.map +1 -1
  73. package/dest/block/l2_block_info.d.ts +10 -29
  74. package/dest/block/l2_block_info.d.ts.map +1 -1
  75. package/dest/block/l2_block_info.js +6 -5
  76. package/dest/block/l2_block_source.d.ts +228 -354
  77. package/dest/block/l2_block_source.d.ts.map +1 -1
  78. package/dest/block/l2_block_source.js +81 -1
  79. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  80. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  81. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  82. package/dest/block/l2_block_stream/index.d.ts +2 -1
  83. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  84. package/dest/block/l2_block_stream/index.js +1 -0
  85. package/dest/block/l2_block_stream/interfaces.d.ts +83 -10
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/interfaces.js +25 -1
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
  89. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  90. package/dest/block/l2_block_stream/l2_block_stream.js +159 -135
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  95. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  96. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  97. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  98. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  99. package/dest/block/proposal/attestations_and_signers.js +73 -25
  100. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  101. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  104. package/dest/block/test/l2_tips_store_test_suite.js +296 -36
  105. package/dest/block/validate_block_result.d.ts +16 -1
  106. package/dest/block/validate_block_result.d.ts.map +1 -1
  107. package/dest/block/validate_block_result.js +18 -3
  108. package/dest/checkpoint/checkpoint.d.ts +30 -96
  109. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint.js +11 -3
  111. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  112. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint_data.js +12 -0
  114. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  115. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  117. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  119. package/dest/checkpoint/digest.d.ts +18 -0
  120. package/dest/checkpoint/digest.d.ts.map +1 -0
  121. package/dest/checkpoint/digest.js +12 -0
  122. package/dest/checkpoint/index.d.ts +5 -1
  123. package/dest/checkpoint/index.d.ts.map +1 -1
  124. package/dest/checkpoint/index.js +4 -0
  125. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  126. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  128. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  129. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  130. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  131. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  132. package/dest/checkpoint/simulation_overrides.js +98 -0
  133. package/dest/checkpoint/validate.d.ts +11 -3
  134. package/dest/checkpoint/validate.d.ts.map +1 -1
  135. package/dest/checkpoint/validate.js +9 -6
  136. package/dest/config/chain-config.d.ts +4 -9
  137. package/dest/config/chain-config.d.ts.map +1 -1
  138. package/dest/config/chain-config.js +13 -12
  139. package/dest/config/index.d.ts +2 -2
  140. package/dest/config/index.d.ts.map +1 -1
  141. package/dest/config/index.js +1 -1
  142. package/dest/config/network-consensus-config.d.ts +72 -0
  143. package/dest/config/network-consensus-config.d.ts.map +1 -0
  144. package/dest/config/network-consensus-config.js +223 -0
  145. package/dest/config/sequencer-config.d.ts +7 -3
  146. package/dest/config/sequencer-config.d.ts.map +1 -1
  147. package/dest/config/sequencer-config.js +38 -5
  148. package/dest/contract/complete_address.d.ts +3 -2
  149. package/dest/contract/complete_address.d.ts.map +1 -1
  150. package/dest/contract/complete_address.js +6 -2
  151. package/dest/contract/contract_address.d.ts +9 -8
  152. package/dest/contract/contract_address.d.ts.map +1 -1
  153. package/dest/contract/contract_address.js +5 -4
  154. package/dest/contract/contract_class.d.ts +1 -1
  155. package/dest/contract/contract_class.d.ts.map +1 -1
  156. package/dest/contract/contract_class.js +3 -2
  157. package/dest/contract/contract_deployment_data.d.ts +15 -61
  158. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  159. package/dest/contract/contract_instance.d.ts +19 -3
  160. package/dest/contract/contract_instance.d.ts.map +1 -1
  161. package/dest/contract/contract_instance.js +55 -3
  162. package/dest/contract/index.d.ts +1 -2
  163. package/dest/contract/index.d.ts.map +1 -1
  164. package/dest/contract/index.js +0 -1
  165. package/dest/contract/interfaces/contract_class.d.ts +15 -86
  166. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  167. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  168. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  169. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  170. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  171. package/dest/contract/interfaces/contract_instance.js +11 -4
  172. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  173. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  174. package/dest/contract/interfaces/node-info.d.ts +11 -1
  175. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  176. package/dest/contract/interfaces/node-info.js +7 -1
  177. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  178. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  179. package/dest/contract/partial_address.d.ts +9 -3
  180. package/dest/contract/partial_address.d.ts.map +1 -1
  181. package/dest/contract/partial_address.js +8 -2
  182. package/dest/contract/private_function.d.ts +1 -1
  183. package/dest/contract/private_function.d.ts.map +1 -1
  184. package/dest/contract/private_function.js +2 -4
  185. package/dest/database-version/database_version.d.ts +5 -11
  186. package/dest/database-version/database_version.d.ts.map +1 -1
  187. package/dest/database-version/version_manager.d.ts +22 -4
  188. package/dest/database-version/version_manager.d.ts.map +1 -1
  189. package/dest/database-version/version_manager.js +87 -6
  190. package/dest/deserialization/index.d.ts +35 -3
  191. package/dest/deserialization/index.d.ts.map +1 -1
  192. package/dest/deserialization/index.js +32 -1
  193. package/dest/epoch-helpers/index.d.ts +6 -22
  194. package/dest/epoch-helpers/index.d.ts.map +1 -1
  195. package/dest/epoch-helpers/index.js +3 -0
  196. package/dest/file-store/factory.d.ts +1 -1
  197. package/dest/file-store/factory.d.ts.map +1 -1
  198. package/dest/file-store/factory.js +7 -0
  199. package/dest/file-store/index.d.ts +2 -1
  200. package/dest/file-store/index.d.ts.map +1 -1
  201. package/dest/file-store/index.js +1 -0
  202. package/dest/file-store/memory.d.ts +24 -0
  203. package/dest/file-store/memory.d.ts.map +1 -0
  204. package/dest/file-store/memory.js +80 -0
  205. package/dest/gas/fee_math.d.ts +49 -0
  206. package/dest/gas/fee_math.d.ts.map +1 -0
  207. package/dest/gas/fee_math.js +80 -0
  208. package/dest/gas/gas.d.ts +9 -14
  209. package/dest/gas/gas.d.ts.map +1 -1
  210. package/dest/gas/gas.js +6 -3
  211. package/dest/gas/gas_fees.d.ts +13 -14
  212. package/dest/gas/gas_fees.d.ts.map +1 -1
  213. package/dest/gas/gas_fees.js +17 -4
  214. package/dest/gas/gas_settings.d.ts +60 -86
  215. package/dest/gas/gas_settings.d.ts.map +1 -1
  216. package/dest/gas/gas_settings.js +49 -9
  217. package/dest/gas/index.d.ts +3 -1
  218. package/dest/gas/index.d.ts.map +1 -1
  219. package/dest/gas/index.js +2 -0
  220. package/dest/gas/tx_gas_limits.d.ts +72 -0
  221. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  222. package/dest/gas/tx_gas_limits.js +85 -0
  223. package/dest/ha-signing/config.d.ts +29 -79
  224. package/dest/ha-signing/config.d.ts.map +1 -1
  225. package/dest/ha-signing/config.js +18 -21
  226. package/dest/ha-signing/index.d.ts +2 -2
  227. package/dest/ha-signing/index.d.ts.map +1 -1
  228. package/dest/ha-signing/index.js +1 -1
  229. package/dest/ha-signing/local_config.d.ts +12 -35
  230. package/dest/ha-signing/local_config.d.ts.map +1 -1
  231. package/dest/ha-signing/local_config.js +9 -3
  232. package/dest/ha-signing/types.d.ts +37 -32
  233. package/dest/ha-signing/types.d.ts.map +1 -1
  234. package/dest/ha-signing/types.js +13 -6
  235. package/dest/hash/hash.d.ts +16 -1
  236. package/dest/hash/hash.d.ts.map +1 -1
  237. package/dest/hash/hash.js +34 -2
  238. package/dest/interfaces/allowed_element.d.ts +4 -28
  239. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  240. package/dest/interfaces/api_limit.d.ts +1 -1
  241. package/dest/interfaces/api_limit.js +1 -1
  242. package/dest/interfaces/archiver.d.ts +20 -32
  243. package/dest/interfaces/archiver.d.ts.map +1 -1
  244. package/dest/interfaces/archiver.js +215 -70
  245. package/dest/interfaces/aztec-node-admin.d.ts +74 -302
  246. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  247. package/dest/interfaces/aztec-node-admin.js +60 -17
  248. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  249. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  250. package/dest/interfaces/aztec-node-debug.js +49 -0
  251. package/dest/interfaces/aztec-node.d.ts +160 -116
  252. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  253. package/dest/interfaces/aztec-node.js +350 -74
  254. package/dest/interfaces/block-builder.d.ts +5 -1
  255. package/dest/interfaces/block-builder.d.ts.map +1 -1
  256. package/dest/interfaces/block_response.d.ts +90 -0
  257. package/dest/interfaces/block_response.d.ts.map +1 -0
  258. package/dest/interfaces/block_response.js +30 -0
  259. package/dest/interfaces/chain_tips.d.ts +11 -0
  260. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  261. package/dest/interfaces/chain_tips.js +6 -0
  262. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  263. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  264. package/dest/interfaces/checkpoint_parameter.js +18 -0
  265. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  266. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  267. package/dest/interfaces/checkpoint_response.js +26 -0
  268. package/dest/interfaces/client.d.ts +9 -2
  269. package/dest/interfaces/client.d.ts.map +1 -1
  270. package/dest/interfaces/client.js +7 -1
  271. package/dest/interfaces/configs.d.ts +66 -134
  272. package/dest/interfaces/configs.d.ts.map +1 -1
  273. package/dest/interfaces/configs.js +14 -2
  274. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  275. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  276. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  277. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  278. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  279. package/dest/interfaces/l1_publish_info.js +26 -0
  280. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  281. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  282. package/dest/interfaces/l2_logs_source.js +5 -0
  283. package/dest/interfaces/merkle_tree_operations.d.ts +11 -5
  284. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  285. package/dest/interfaces/p2p-bootstrap.js +8 -2
  286. package/dest/interfaces/p2p.d.ts +46 -7
  287. package/dest/interfaces/p2p.d.ts.map +1 -1
  288. package/dest/interfaces/p2p.js +41 -6
  289. package/dest/interfaces/private_kernel_prover.d.ts +131 -12
  290. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  291. package/dest/interfaces/prover-agent.d.ts +5 -23
  292. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  293. package/dest/interfaces/prover-agent.js +4 -1
  294. package/dest/interfaces/prover-client.d.ts +7 -29
  295. package/dest/interfaces/prover-client.d.ts.map +1 -1
  296. package/dest/interfaces/prover-client.js +0 -3
  297. package/dest/interfaces/prover-node.d.ts +12 -8
  298. package/dest/interfaces/prover-node.d.ts.map +1 -1
  299. package/dest/interfaces/prover-node.js +37 -16
  300. package/dest/interfaces/proving-job-source.js +24 -4
  301. package/dest/interfaces/proving-job.d.ts +727 -5778
  302. package/dest/interfaces/proving-job.d.ts.map +1 -1
  303. package/dest/interfaces/proving-job.js +3 -3
  304. package/dest/interfaces/public_storage_override.d.ts +22 -0
  305. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  306. package/dest/interfaces/public_storage_override.js +7 -0
  307. package/dest/interfaces/server.d.ts +6 -3
  308. package/dest/interfaces/server.d.ts.map +1 -1
  309. package/dest/interfaces/server.js +5 -2
  310. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  311. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  312. package/dest/interfaces/slasher.d.ts +25 -65
  313. package/dest/interfaces/slasher.d.ts.map +1 -1
  314. package/dest/interfaces/slasher.js +8 -4
  315. package/dest/interfaces/tx_provider.d.ts +6 -1
  316. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  317. package/dest/interfaces/validator.d.ts +58 -239
  318. package/dest/interfaces/validator.d.ts.map +1 -1
  319. package/dest/interfaces/validator.js +8 -1
  320. package/dest/interfaces/world_state.d.ts +15 -2
  321. package/dest/interfaces/world_state.d.ts.map +1 -1
  322. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  323. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  324. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  325. package/dest/kernel/hints/index.d.ts +1 -2
  326. package/dest/kernel/hints/index.d.ts.map +1 -1
  327. package/dest/kernel/hints/index.js +0 -1
  328. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  329. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  330. package/dest/kernel/hints/key_validation_request.js +20 -18
  331. package/dest/kernel/hints/read_request.js +1 -1
  332. package/dest/kernel/index.d.ts +10 -2
  333. package/dest/kernel/index.d.ts.map +1 -1
  334. package/dest/kernel/index.js +9 -1
  335. package/dest/kernel/log_hash.d.ts +6 -2
  336. package/dest/kernel/log_hash.d.ts.map +1 -1
  337. package/dest/kernel/log_hash.js +23 -11
  338. package/dest/kernel/note_hash.js +1 -1
  339. package/dest/kernel/nullifier.js +1 -1
  340. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  341. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  342. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  343. package/dest/kernel/private_context_inputs.d.ts +4 -3
  344. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  345. package/dest/kernel/private_context_inputs.js +7 -3
  346. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -10
  347. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  348. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  349. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  350. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  351. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  352. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  353. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  354. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  355. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  356. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  357. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  358. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  359. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  360. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  361. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  362. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  363. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  364. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  365. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  366. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  367. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  368. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  369. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  370. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  371. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  372. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  373. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  374. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  375. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  376. package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
  377. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  378. package/dest/kernel/private_kernel_prover_output.js +4 -1
  379. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  380. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  381. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  382. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  383. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  384. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  385. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  386. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  387. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  388. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  389. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  390. package/dest/kernel/private_log_data.d.ts +1 -1
  391. package/dest/kernel/private_log_data.d.ts.map +1 -1
  392. package/dest/kernel/private_log_data.js +1 -1
  393. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  394. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  395. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  396. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  397. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  398. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  399. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  400. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  401. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  402. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  403. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  404. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  405. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  406. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  407. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  408. package/dest/kernel/public_call_request.d.ts +15 -30
  409. package/dest/kernel/public_call_request.d.ts.map +1 -1
  410. package/dest/kernel/public_call_request.js +16 -7
  411. package/dest/kernel/utils/index.d.ts +1 -2
  412. package/dest/kernel/utils/index.d.ts.map +1 -1
  413. package/dest/kernel/utils/index.js +0 -1
  414. package/dest/keys/derivation.d.ts +45 -5
  415. package/dest/keys/derivation.d.ts.map +1 -1
  416. package/dest/keys/derivation.js +59 -19
  417. package/dest/keys/public_key.d.ts +22 -3
  418. package/dest/keys/public_key.d.ts.map +1 -1
  419. package/dest/keys/public_key.js +20 -1
  420. package/dest/keys/public_keys.d.ts +55 -82
  421. package/dest/keys/public_keys.d.ts.map +1 -1
  422. package/dest/keys/public_keys.js +102 -74
  423. package/dest/kv-store/config.d.ts +3 -6
  424. package/dest/kv-store/config.d.ts.map +1 -1
  425. package/dest/kv-store/config.js +2 -7
  426. package/dest/l1-contracts/index.d.ts +2 -2
  427. package/dest/l1-contracts/index.d.ts.map +1 -1
  428. package/dest/l1-contracts/index.js +1 -1
  429. package/dest/logs/app_tagging_secret.d.ts +69 -0
  430. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  431. package/dest/logs/app_tagging_secret.js +125 -0
  432. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  433. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  434. package/dest/logs/app_tagging_secret_kind.js +17 -0
  435. package/dest/logs/contract_class_log.d.ts +16 -35
  436. package/dest/logs/contract_class_log.d.ts.map +1 -1
  437. package/dest/logs/contract_class_log.js +11 -13
  438. package/dest/logs/index.d.ts +7 -7
  439. package/dest/logs/index.d.ts.map +1 -1
  440. package/dest/logs/index.js +6 -6
  441. package/dest/logs/log_cursor.d.ts +51 -0
  442. package/dest/logs/log_cursor.d.ts.map +1 -0
  443. package/dest/logs/log_cursor.js +82 -0
  444. package/dest/logs/log_result.d.ts +54 -0
  445. package/dest/logs/log_result.d.ts.map +1 -0
  446. package/dest/logs/log_result.js +56 -0
  447. package/dest/logs/logs_query.d.ts +82 -0
  448. package/dest/logs/logs_query.d.ts.map +1 -0
  449. package/dest/logs/logs_query.js +50 -0
  450. package/dest/logs/message_context.d.ts +4 -13
  451. package/dest/logs/message_context.d.ts.map +1 -1
  452. package/dest/logs/message_context.js +1 -62
  453. package/dest/logs/pending_tagged_log.d.ts +6 -8
  454. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  455. package/dest/logs/pending_tagged_log.js +1 -31
  456. package/dest/logs/pre_tag.d.ts +11 -24
  457. package/dest/logs/pre_tag.d.ts.map +1 -1
  458. package/dest/logs/pre_tag.js +2 -2
  459. package/dest/logs/private_log.d.ts +7 -12
  460. package/dest/logs/private_log.d.ts.map +1 -1
  461. package/dest/logs/private_log.js +6 -3
  462. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  463. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  464. package/dest/logs/query_all_logs_by_tags.js +64 -0
  465. package/dest/logs/shared_secret_derivation.d.ts +19 -6
  466. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  467. package/dest/logs/shared_secret_derivation.js +26 -11
  468. package/dest/logs/siloed_tag.d.ts +5 -7
  469. package/dest/logs/siloed_tag.d.ts.map +1 -1
  470. package/dest/logs/siloed_tag.js +7 -1
  471. package/dest/logs/tag.d.ts +5 -6
  472. package/dest/logs/tag.d.ts.map +1 -1
  473. package/dest/logs/tag.js +4 -0
  474. package/dest/logs/tagging_index_range.d.ts +13 -31
  475. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  476. package/dest/logs/tagging_index_range.js +2 -2
  477. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  478. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  479. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  480. package/dest/messaging/index.d.ts +2 -1
  481. package/dest/messaging/index.d.ts.map +1 -1
  482. package/dest/messaging/index.js +1 -0
  483. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  484. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  485. package/dest/messaging/l2_to_l1_membership.js +72 -12
  486. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  487. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  488. package/dest/messaging/l2_to_l1_message.js +21 -12
  489. package/dest/noir/index.d.ts +3 -1
  490. package/dest/noir/index.d.ts.map +1 -1
  491. package/dest/note/note.d.ts +2 -2
  492. package/dest/note/note.d.ts.map +1 -1
  493. package/dest/p2p/attestation_utils.d.ts +1 -1
  494. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  495. package/dest/p2p/attestation_utils.js +8 -1
  496. package/dest/p2p/block_proposal.d.ts +31 -14
  497. package/dest/p2p/block_proposal.d.ts.map +1 -1
  498. package/dest/p2p/block_proposal.js +57 -39
  499. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  500. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  501. package/dest/p2p/checkpoint_attestation.js +33 -24
  502. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  503. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  504. package/dest/p2p/checkpoint_proposal.js +59 -51
  505. package/dest/p2p/consensus_payload.d.ts +27 -20
  506. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  507. package/dest/p2p/consensus_payload.js +38 -19
  508. package/dest/p2p/gossipable.d.ts +4 -4
  509. package/dest/p2p/gossipable.d.ts.map +1 -1
  510. package/dest/p2p/index.d.ts +1 -2
  511. package/dest/p2p/index.d.ts.map +1 -1
  512. package/dest/p2p/index.js +0 -1
  513. package/dest/p2p/signature_utils.d.ts +35 -17
  514. package/dest/p2p/signature_utils.d.ts.map +1 -1
  515. package/dest/p2p/signature_utils.js +125 -20
  516. package/dest/p2p/signed_txs.d.ts +15 -13
  517. package/dest/p2p/signed_txs.d.ts.map +1 -1
  518. package/dest/p2p/signed_txs.js +26 -24
  519. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  520. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  521. package/dest/parity/parity_base_private_inputs.js +7 -5
  522. package/dest/parity/parity_public_inputs.d.ts +8 -4
  523. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  524. package/dest/parity/parity_public_inputs.js +6 -3
  525. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  526. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  527. package/dest/proofs/chonk_proof.d.ts +17 -11
  528. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  529. package/dest/proofs/chonk_proof.js +44 -22
  530. package/dest/proofs/recursive_proof.d.ts +2 -2
  531. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  532. package/dest/rollup/avm_proof_data.d.ts +3 -3
  533. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  534. package/dest/rollup/block_headers_hash.d.ts +1 -1
  535. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  536. package/dest/rollup/block_headers_hash.js +8 -2
  537. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  538. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  539. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  540. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  541. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  542. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  543. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  544. package/dest/rollup/checkpoint_header.d.ts +8 -3
  545. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  546. package/dest/rollup/checkpoint_header.js +20 -10
  547. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  548. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  549. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  550. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  551. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  552. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  553. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  554. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  555. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  556. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  557. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  558. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  559. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  560. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  561. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  562. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  563. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  564. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  565. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  566. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  567. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  568. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  569. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  570. package/dest/schemas/schemas.d.ts +32 -78
  571. package/dest/schemas/schemas.d.ts.map +1 -1
  572. package/dest/schemas/schemas.js +2 -2
  573. package/dest/slashing/helpers.d.ts +2 -2
  574. package/dest/slashing/helpers.d.ts.map +1 -1
  575. package/dest/slashing/helpers.js +10 -7
  576. package/dest/slashing/index.d.ts +2 -3
  577. package/dest/slashing/index.d.ts.map +1 -1
  578. package/dest/slashing/index.js +1 -2
  579. package/dest/slashing/serialization.d.ts +2 -6
  580. package/dest/slashing/serialization.d.ts.map +1 -1
  581. package/dest/slashing/serialization.js +0 -60
  582. package/dest/slashing/types.d.ts +18 -112
  583. package/dest/slashing/types.d.ts.map +1 -1
  584. package/dest/slashing/types.js +16 -24
  585. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  586. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  587. package/dest/slashing/{tally.js → votes.js} +1 -1
  588. package/dest/snapshots/types.d.ts +15 -78
  589. package/dest/snapshots/types.d.ts.map +1 -1
  590. package/dest/stats/stats.d.ts +2 -2
  591. package/dest/stats/stats.d.ts.map +1 -1
  592. package/dest/tests/factories.d.ts +24 -55
  593. package/dest/tests/factories.d.ts.map +1 -1
  594. package/dest/tests/factories.js +81 -89
  595. package/dest/tests/mocks.d.ts +8 -5
  596. package/dest/tests/mocks.d.ts.map +1 -1
  597. package/dest/tests/mocks.js +45 -56
  598. package/dest/timetable/budgets.d.ts +57 -0
  599. package/dest/timetable/budgets.d.ts.map +1 -0
  600. package/dest/timetable/budgets.js +56 -0
  601. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  602. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  603. package/dest/timetable/build_proposer_timetable.js +17 -0
  604. package/dest/timetable/consensus_timetable.d.ts +70 -0
  605. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  606. package/dest/timetable/consensus_timetable.js +89 -0
  607. package/dest/timetable/index.d.ts +5 -37
  608. package/dest/timetable/index.d.ts.map +1 -1
  609. package/dest/timetable/index.js +4 -39
  610. package/dest/timetable/proposer_timetable.d.ts +106 -0
  611. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  612. package/dest/timetable/proposer_timetable.js +132 -0
  613. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  614. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  615. package/dest/trees/append_only_tree_snapshot.js +6 -3
  616. package/dest/trees/nullifier_leaf.d.ts +19 -42
  617. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  618. package/dest/trees/nullifier_leaf.js +3 -0
  619. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  620. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  621. package/dest/trees/nullifier_membership_witness.js +0 -21
  622. package/dest/trees/public_data_leaf.d.ts +21 -53
  623. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  624. package/dest/trees/public_data_witness.d.ts +19 -71
  625. package/dest/trees/public_data_witness.d.ts.map +1 -1
  626. package/dest/trees/public_data_witness.js +0 -27
  627. package/dest/tx/block_header.d.ts +5 -4
  628. package/dest/tx/block_header.d.ts.map +1 -1
  629. package/dest/tx/block_header.js +7 -4
  630. package/dest/tx/call_context.d.ts +4 -14
  631. package/dest/tx/call_context.d.ts.map +1 -1
  632. package/dest/tx/capsule.d.ts +2 -2
  633. package/dest/tx/capsule.d.ts.map +1 -1
  634. package/dest/tx/execution_payload.d.ts +1 -1
  635. package/dest/tx/execution_payload.d.ts.map +1 -1
  636. package/dest/tx/execution_payload.js +1 -1
  637. package/dest/tx/fee_provider.d.ts +10 -0
  638. package/dest/tx/fee_provider.d.ts.map +1 -0
  639. package/dest/tx/fee_provider.js +1 -0
  640. package/dest/tx/function_data.d.ts +4 -10
  641. package/dest/tx/function_data.d.ts.map +1 -1
  642. package/dest/tx/global_variable_builder.d.ts +4 -15
  643. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  644. package/dest/tx/global_variables.d.ts +16 -49
  645. package/dest/tx/global_variables.d.ts.map +1 -1
  646. package/dest/tx/global_variables.js +10 -14
  647. package/dest/tx/hashed_values.d.ts +4 -3
  648. package/dest/tx/hashed_values.d.ts.map +1 -1
  649. package/dest/tx/hashed_values.js +6 -3
  650. package/dest/tx/in_tx.d.ts +5 -17
  651. package/dest/tx/in_tx.d.ts.map +1 -1
  652. package/dest/tx/index.d.ts +2 -2
  653. package/dest/tx/index.d.ts.map +1 -1
  654. package/dest/tx/index.js +1 -1
  655. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  656. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  657. package/dest/tx/indexed_tx_effect.js +9 -6
  658. package/dest/tx/partial_state_reference.d.ts +22 -65
  659. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  660. package/dest/tx/partial_state_reference.js +6 -3
  661. package/dest/tx/private_execution_result.d.ts +6 -16
  662. package/dest/tx/private_execution_result.d.ts.map +1 -1
  663. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  664. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  665. package/dest/tx/private_tx_constant_data.js +13 -4
  666. package/dest/tx/profiling.d.ts +54 -352
  667. package/dest/tx/profiling.d.ts.map +1 -1
  668. package/dest/tx/profiling.js +6 -4
  669. package/dest/tx/protocol_contracts.d.ts +5 -9
  670. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  671. package/dest/tx/proven_tx.d.ts +30 -74
  672. package/dest/tx/proven_tx.d.ts.map +1 -1
  673. package/dest/tx/proven_tx.js +6 -0
  674. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  675. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  676. package/dest/tx/public_call_request_with_calldata.js +6 -3
  677. package/dest/tx/simulated_tx.d.ts +73 -1256
  678. package/dest/tx/simulated_tx.d.ts.map +1 -1
  679. package/dest/tx/simulated_tx.js +13 -11
  680. package/dest/tx/state_reference.d.ts +30 -117
  681. package/dest/tx/state_reference.d.ts.map +1 -1
  682. package/dest/tx/state_reference.js +6 -4
  683. package/dest/tx/tree_snapshots.d.ts +27 -84
  684. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  685. package/dest/tx/tree_snapshots.js +6 -4
  686. package/dest/tx/tx.d.ts +22 -13
  687. package/dest/tx/tx.d.ts.map +1 -1
  688. package/dest/tx/tx.js +44 -22
  689. package/dest/tx/tx_constant_data.d.ts +4 -3
  690. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  691. package/dest/tx/tx_constant_data.js +6 -3
  692. package/dest/tx/tx_context.d.ts +32 -131
  693. package/dest/tx/tx_context.d.ts.map +1 -1
  694. package/dest/tx/tx_context.js +6 -6
  695. package/dest/tx/tx_hash.d.ts +6 -4
  696. package/dest/tx/tx_hash.d.ts.map +1 -1
  697. package/dest/tx/tx_hash.js +13 -5
  698. package/dest/tx/tx_receipt.d.ts +144 -63
  699. package/dest/tx/tx_receipt.d.ts.map +1 -1
  700. package/dest/tx/tx_receipt.js +143 -60
  701. package/dest/tx/validator/error_texts.d.ts +2 -2
  702. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  703. package/dest/tx/validator/error_texts.js +1 -1
  704. package/dest/tx/validator/tx_validator.d.ts +5 -27
  705. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  706. package/dest/tx/validator/tx_validator.js +0 -4
  707. package/dest/types/shared.d.ts +4 -12
  708. package/dest/types/shared.d.ts.map +1 -1
  709. package/dest/types/shared.js +6 -12
  710. package/dest/update-checker/dev_version.d.ts +3 -0
  711. package/dest/update-checker/dev_version.d.ts.map +1 -0
  712. package/dest/update-checker/dev_version.js +1 -0
  713. package/dest/update-checker/index.d.ts +2 -1
  714. package/dest/update-checker/index.d.ts.map +1 -1
  715. package/dest/update-checker/index.js +1 -0
  716. package/dest/update-checker/package_version.d.ts +6 -3
  717. package/dest/update-checker/package_version.d.ts.map +1 -1
  718. package/dest/update-checker/package_version.js +8 -19
  719. package/dest/validators/schemas.d.ts +147 -614
  720. package/dest/validators/schemas.d.ts.map +1 -1
  721. package/dest/validators/schemas.js +6 -4
  722. package/dest/validators/types.d.ts +20 -3
  723. package/dest/validators/types.d.ts.map +1 -1
  724. package/dest/versioning/versioning.js +1 -1
  725. package/dest/vks/verification_key.d.ts +4 -139
  726. package/dest/vks/verification_key.d.ts.map +1 -1
  727. package/dest/vks/verification_key.js +5 -126
  728. package/dest/world-state/genesis_data.d.ts +13 -0
  729. package/dest/world-state/genesis_data.d.ts.map +1 -0
  730. package/dest/world-state/genesis_data.js +7 -0
  731. package/dest/world-state/index.d.ts +2 -1
  732. package/dest/world-state/index.d.ts.map +1 -1
  733. package/dest/world-state/index.js +1 -0
  734. package/dest/world-state/world_state_revision.d.ts +11 -39
  735. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  736. package/dest/world-state/world_state_revision.js +7 -21
  737. package/package.json +12 -11
  738. package/src/abi/abi.ts +53 -19
  739. package/src/abi/authorization_selector.ts +2 -8
  740. package/src/abi/buffer.ts +13 -1
  741. package/src/abi/contract_artifact.ts +11 -6
  742. package/src/abi/encoder.ts +42 -6
  743. package/src/abi/event_selector.ts +2 -8
  744. package/src/abi/function_selector.ts +3 -12
  745. package/src/abi/note_selector.ts +3 -12
  746. package/src/abi/selector.ts +1 -1
  747. package/src/abi/utils.ts +6 -4
  748. package/src/avm/avm.ts +6 -1
  749. package/src/avm/index.ts +0 -5
  750. package/src/avm/message_pack.ts +12 -3
  751. package/src/avm/revert_code.ts +19 -39
  752. package/src/aztec-address/index.ts +50 -17
  753. package/src/block/attestation_info.ts +16 -11
  754. package/src/block/block_data.ts +3 -4
  755. package/src/block/block_hash.ts +21 -14
  756. package/src/block/block_parameter.ts +72 -4
  757. package/src/block/index.ts +0 -1
  758. package/src/block/l2_block_info.ts +8 -6
  759. package/src/block/l2_block_source.ts +258 -144
  760. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  761. package/src/block/l2_block_stream/index.ts +1 -0
  762. package/src/block/l2_block_stream/interfaces.ts +99 -9
  763. package/src/block/l2_block_stream/l2_block_stream.ts +229 -177
  764. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  765. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  766. package/src/block/proposal/attestations_and_signers.ts +85 -24
  767. package/src/block/test/l2_tips_store_test_suite.ts +271 -22
  768. package/src/block/validate_block_result.ts +48 -2
  769. package/src/checkpoint/checkpoint.ts +13 -3
  770. package/src/checkpoint/checkpoint_data.ts +44 -4
  771. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  772. package/src/checkpoint/digest.ts +28 -0
  773. package/src/checkpoint/index.ts +4 -0
  774. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  775. package/src/checkpoint/simulation_overrides.ts +171 -0
  776. package/src/checkpoint/validate.ts +16 -6
  777. package/src/config/chain-config.ts +13 -16
  778. package/src/config/index.ts +1 -1
  779. package/src/config/network-consensus-config.ts +291 -0
  780. package/src/config/sequencer-config.ts +68 -9
  781. package/src/contract/complete_address.ts +7 -3
  782. package/src/contract/contract_address.ts +10 -9
  783. package/src/contract/contract_class.ts +3 -2
  784. package/src/contract/contract_instance.ts +73 -3
  785. package/src/contract/index.ts +0 -1
  786. package/src/contract/interfaces/contract_data_source.ts +2 -4
  787. package/src/contract/interfaces/contract_instance.ts +32 -10
  788. package/src/contract/interfaces/node-info.ts +11 -0
  789. package/src/contract/partial_address.ts +8 -2
  790. package/src/contract/private_function.ts +3 -1
  791. package/src/database-version/version_manager.ts +113 -6
  792. package/src/deserialization/index.ts +35 -2
  793. package/src/epoch-helpers/index.ts +5 -0
  794. package/src/file-store/factory.ts +7 -0
  795. package/src/file-store/index.ts +1 -0
  796. package/src/file-store/memory.ts +94 -0
  797. package/src/gas/README.md +123 -0
  798. package/src/gas/fee_math.ts +120 -0
  799. package/src/gas/gas.ts +8 -3
  800. package/src/gas/gas_fees.ts +26 -13
  801. package/src/gas/gas_settings.ts +63 -15
  802. package/src/gas/index.ts +2 -0
  803. package/src/gas/tx_gas_limits.ts +123 -0
  804. package/src/ha-signing/config.ts +37 -23
  805. package/src/ha-signing/index.ts +3 -1
  806. package/src/ha-signing/local_config.ts +21 -2
  807. package/src/ha-signing/types.ts +48 -34
  808. package/src/hash/hash.ts +29 -2
  809. package/src/interfaces/api_limit.ts +1 -1
  810. package/src/interfaces/archiver.ts +88 -93
  811. package/src/interfaces/aztec-node-admin.ts +36 -21
  812. package/src/interfaces/aztec-node-debug.ts +92 -0
  813. package/src/interfaces/aztec-node.ts +398 -271
  814. package/src/interfaces/block-builder.ts +4 -0
  815. package/src/interfaces/block_response.ts +92 -0
  816. package/src/interfaces/chain_tips.ts +16 -0
  817. package/src/interfaces/checkpoint_parameter.ts +20 -0
  818. package/src/interfaces/checkpoint_response.ts +84 -0
  819. package/src/interfaces/client.ts +8 -1
  820. package/src/interfaces/configs.ts +67 -7
  821. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  822. package/src/interfaces/l1_publish_info.ts +40 -0
  823. package/src/interfaces/l2_logs_source.ts +13 -42
  824. package/src/interfaces/merkle_tree_operations.ts +11 -4
  825. package/src/interfaces/p2p-bootstrap.ts +2 -2
  826. package/src/interfaces/p2p.ts +59 -19
  827. package/src/interfaces/private_kernel_prover.ts +192 -13
  828. package/src/interfaces/prover-agent.ts +1 -1
  829. package/src/interfaces/prover-client.ts +3 -8
  830. package/src/interfaces/prover-node.ts +36 -21
  831. package/src/interfaces/proving-job-source.ts +4 -4
  832. package/src/interfaces/proving-job.ts +6 -6
  833. package/src/interfaces/public_storage_override.ts +26 -0
  834. package/src/interfaces/server.ts +5 -2
  835. package/src/interfaces/server_circuit_prover.ts +2 -2
  836. package/src/interfaces/slasher.ts +17 -10
  837. package/src/interfaces/tx_provider.ts +6 -0
  838. package/src/interfaces/validator.ts +44 -10
  839. package/src/interfaces/world_state.ts +15 -1
  840. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  841. package/src/kernel/hints/index.ts +0 -1
  842. package/src/kernel/hints/key_validation_request.ts +18 -16
  843. package/src/kernel/hints/read_request.ts +1 -1
  844. package/src/kernel/index.ts +9 -1
  845. package/src/kernel/log_hash.ts +36 -13
  846. package/src/kernel/note_hash.ts +1 -1
  847. package/src/kernel/nullifier.ts +1 -1
  848. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  849. package/src/kernel/private_context_inputs.ts +10 -3
  850. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  851. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  852. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  853. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  854. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  855. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  856. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  857. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  858. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  859. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  860. package/src/kernel/private_kernel_prover_output.ts +4 -0
  861. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  862. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  863. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  864. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  865. package/src/kernel/private_log_data.ts +4 -1
  866. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  867. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  868. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  869. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  870. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  871. package/src/kernel/public_call_request.ts +22 -7
  872. package/src/kernel/utils/index.ts +0 -1
  873. package/src/keys/derivation.ts +81 -19
  874. package/src/keys/public_key.ts +26 -2
  875. package/src/keys/public_keys.ts +124 -110
  876. package/src/kv-store/config.ts +3 -10
  877. package/src/l1-contracts/index.ts +1 -1
  878. package/src/logs/app_tagging_secret.ts +169 -0
  879. package/src/logs/app_tagging_secret_kind.ts +21 -0
  880. package/src/logs/contract_class_log.ts +15 -14
  881. package/src/logs/index.ts +6 -6
  882. package/src/logs/log_cursor.ts +110 -0
  883. package/src/logs/log_result.ts +104 -0
  884. package/src/logs/logs_query.ts +138 -0
  885. package/src/logs/message_context.ts +6 -60
  886. package/src/logs/pending_tagged_log.ts +6 -33
  887. package/src/logs/pre_tag.ts +3 -6
  888. package/src/logs/private_log.ts +9 -3
  889. package/src/logs/query_all_logs_by_tags.ts +98 -0
  890. package/src/logs/shared_secret_derivation.ts +31 -15
  891. package/src/logs/siloed_tag.ts +14 -10
  892. package/src/logs/tag.ts +8 -8
  893. package/src/logs/tagging_index_range.ts +4 -10
  894. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  895. package/src/messaging/index.ts +1 -0
  896. package/src/messaging/l2_to_l1_membership.ts +108 -19
  897. package/src/messaging/l2_to_l1_message.ts +29 -9
  898. package/src/noir/index.ts +2 -0
  899. package/src/p2p/attestation_utils.ts +8 -1
  900. package/src/p2p/block_proposal.ts +111 -36
  901. package/src/p2p/checkpoint_attestation.ts +38 -30
  902. package/src/p2p/checkpoint_proposal.ts +128 -73
  903. package/src/p2p/consensus_payload.ts +59 -28
  904. package/src/p2p/gossipable.ts +4 -4
  905. package/src/p2p/index.ts +0 -1
  906. package/src/p2p/signature_utils.ts +117 -23
  907. package/src/p2p/signed_txs.ts +46 -28
  908. package/src/parity/parity_base_private_inputs.ts +10 -4
  909. package/src/parity/parity_public_inputs.ts +9 -2
  910. package/src/proofs/chonk_proof.ts +49 -15
  911. package/src/rollup/avm_proof_data.ts +2 -2
  912. package/src/rollup/block_headers_hash.ts +11 -2
  913. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  914. package/src/rollup/checkpoint_header.ts +16 -2
  915. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  916. package/src/schemas/schemas.ts +6 -1
  917. package/src/slashing/helpers.ts +13 -9
  918. package/src/slashing/index.ts +1 -2
  919. package/src/slashing/serialization.ts +1 -81
  920. package/src/slashing/types.ts +24 -49
  921. package/src/slashing/{tally.ts → votes.ts} +1 -1
  922. package/src/stats/stats.ts +10 -2
  923. package/src/tests/factories.ts +111 -124
  924. package/src/tests/mocks.ts +72 -71
  925. package/src/timetable/README.md +609 -0
  926. package/src/timetable/budgets.ts +87 -0
  927. package/src/timetable/build_proposer_timetable.ts +42 -0
  928. package/src/timetable/consensus_timetable.ts +126 -0
  929. package/src/timetable/index.ts +4 -66
  930. package/src/timetable/proposer_timetable.ts +190 -0
  931. package/src/timetable/timetable-example.svg +108 -0
  932. package/src/trees/append_only_tree_snapshot.ts +8 -3
  933. package/src/trees/nullifier_leaf.ts +4 -0
  934. package/src/trees/nullifier_membership_witness.ts +0 -21
  935. package/src/trees/public_data_witness.ts +0 -31
  936. package/src/tx/block_header.ts +10 -5
  937. package/src/tx/execution_payload.ts +2 -1
  938. package/src/tx/fee_provider.ts +10 -0
  939. package/src/tx/global_variable_builder.ts +3 -20
  940. package/src/tx/global_variables.ts +12 -20
  941. package/src/tx/hashed_values.ts +8 -3
  942. package/src/tx/index.ts +1 -1
  943. package/src/tx/indexed_tx_effect.ts +18 -6
  944. package/src/tx/partial_state_reference.ts +8 -3
  945. package/src/tx/private_tx_constant_data.ts +25 -2
  946. package/src/tx/profiling.ts +6 -4
  947. package/src/tx/proven_tx.ts +6 -0
  948. package/src/tx/public_call_request_with_calldata.ts +8 -3
  949. package/src/tx/simulated_tx.ts +22 -21
  950. package/src/tx/state_reference.ts +9 -4
  951. package/src/tx/tree_snapshots.ts +9 -4
  952. package/src/tx/tx.ts +60 -24
  953. package/src/tx/tx_constant_data.ts +8 -3
  954. package/src/tx/tx_context.ts +8 -3
  955. package/src/tx/tx_hash.ts +20 -5
  956. package/src/tx/tx_receipt.ts +265 -85
  957. package/src/tx/validator/error_texts.ts +2 -1
  958. package/src/tx/validator/tx_validator.ts +1 -5
  959. package/src/types/shared.ts +8 -13
  960. package/src/update-checker/dev_version.ts +2 -0
  961. package/src/update-checker/index.ts +1 -0
  962. package/src/update-checker/package_version.ts +10 -23
  963. package/src/validators/schemas.ts +6 -4
  964. package/src/validators/types.ts +21 -2
  965. package/src/versioning/versioning.ts +1 -1
  966. package/src/vks/verification_key.ts +5 -184
  967. package/src/world-state/genesis_data.ts +27 -0
  968. package/src/world-state/index.ts +1 -0
  969. package/src/world-state/world_state_revision.ts +9 -34
  970. package/dest/abi/mocked_keys.d.ts +0 -2
  971. package/dest/abi/mocked_keys.d.ts.map +0 -1
  972. package/dest/abi/mocked_keys.js +0 -1
  973. package/dest/avm/contract_storage_read.d.ts +0 -58
  974. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  975. package/dest/avm/contract_storage_read.js +0 -65
  976. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  977. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  978. package/dest/avm/contract_storage_update_request.js +0 -80
  979. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  980. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  981. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  982. package/dest/avm/public_data_update_request.d.ts +0 -62
  983. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  984. package/dest/avm/public_data_update_request.js +0 -67
  985. package/dest/avm/public_inner_call_request.d.ts +0 -50
  986. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  987. package/dest/avm/public_inner_call_request.js +0 -74
  988. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  989. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  990. package/dest/block/checkpointed_l2_block.js +0 -46
  991. package/dest/config/pipelining-config.d.ts +0 -19
  992. package/dest/config/pipelining-config.d.ts.map +0 -1
  993. package/dest/config/pipelining-config.js +0 -18
  994. package/dest/contract/deployment_info.d.ts +0 -24
  995. package/dest/contract/deployment_info.d.ts.map +0 -1
  996. package/dest/contract/deployment_info.js +0 -3
  997. package/dest/interfaces/epoch-prover.d.ts +0 -57
  998. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  999. package/dest/interfaces/epoch-prover.js +0 -1
  1000. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1001. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1002. package/dest/interfaces/get_logs_response.js +0 -12
  1003. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1004. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1005. package/dest/interfaces/prover-coordination.js +0 -1
  1006. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1007. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1008. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1009. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1010. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1011. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1012. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1013. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1014. package/dest/kernel/utils/optional_number.js +0 -42
  1015. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1016. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1017. package/dest/l1-contracts/slash_factory.js +0 -158
  1018. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1019. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1020. package/dest/logs/extended_contract_class_log.js +0 -67
  1021. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1022. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1023. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  1024. package/dest/logs/extended_public_log.d.ts +0 -106
  1025. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1026. package/dest/logs/extended_public_log.js +0 -73
  1027. package/dest/logs/log_filter.d.ts +0 -25
  1028. package/dest/logs/log_filter.d.ts.map +0 -1
  1029. package/dest/logs/log_filter.js +0 -12
  1030. package/dest/logs/log_id.d.ts +0 -85
  1031. package/dest/logs/log_id.d.ts.map +0 -1
  1032. package/dest/logs/log_id.js +0 -94
  1033. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  1034. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1035. package/dest/logs/tx_scoped_l2_log.js +0 -77
  1036. package/dest/p2p/interface.d.ts +0 -5
  1037. package/dest/p2p/interface.d.ts.map +0 -1
  1038. package/dest/p2p/interface.js +0 -1
  1039. package/dest/slashing/empire.d.ts +0 -31
  1040. package/dest/slashing/empire.d.ts.map +0 -1
  1041. package/dest/slashing/empire.js +0 -87
  1042. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1043. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1044. package/dest/tx/validator/empty_validator.js +0 -7
  1045. package/src/abi/mocked_keys.ts +0 -2
  1046. package/src/avm/contract_storage_read.ts +0 -77
  1047. package/src/avm/contract_storage_update_request.ts +0 -93
  1048. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1049. package/src/avm/public_data_update_request.ts +0 -106
  1050. package/src/avm/public_inner_call_request.ts +0 -85
  1051. package/src/block/checkpointed_l2_block.ts +0 -70
  1052. package/src/config/pipelining-config.ts +0 -31
  1053. package/src/contract/deployment_info.ts +0 -25
  1054. package/src/interfaces/epoch-prover.ts +0 -72
  1055. package/src/interfaces/get_logs_response.ts +0 -35
  1056. package/src/interfaces/prover-coordination.ts +0 -17
  1057. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1058. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1059. package/src/kernel/utils/optional_number.ts +0 -50
  1060. package/src/l1-contracts/slash_factory.ts +0 -180
  1061. package/src/logs/extended_contract_class_log.ts +0 -87
  1062. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1063. package/src/logs/extended_public_log.ts +0 -94
  1064. package/src/logs/log_filter.ts +0 -36
  1065. package/src/logs/log_id.ts +0 -125
  1066. package/src/logs/tx_scoped_l2_log.ts +0 -114
  1067. package/src/p2p/interface.ts +0 -4
  1068. package/src/slashing/empire.ts +0 -104
  1069. package/src/tx/validator/empty_validator.ts +0 -7
@@ -0,0 +1,291 @@
1
+ import { type L1ContractsConfig, l1ContractsConfigMappings, validateSlotDurations } from '@aztec/ethereum/config';
2
+ import { type EnvVar, pickConfigMappings } from '@aztec/foundation/config';
3
+
4
+ import type { SequencerConfig } from '../interfaces/configs.js';
5
+ import {
6
+ DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME,
7
+ DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME,
8
+ DEFAULT_MIN_BLOCK_DURATION,
9
+ DEFAULT_P2P_PROPAGATION_TIME,
10
+ } from '../timetable/budgets.js';
11
+ import { ProposerTimetable } from '../timetable/proposer_timetable.js';
12
+ import { sharedSequencerConfigMappings } from './sequencer-config.js';
13
+
14
+ /**
15
+ * Environment variables whose values must be identical across every node of a network. They fall into three
16
+ * categories, all consensus-critical:
17
+ *
18
+ * - Timing/protocol consensus: slot and epoch durations, block sub-slot duration, max blocks per checkpoint, and
19
+ * the checkpoint-proposal materialization grace. Proposers and validators must agree on these to land on the
20
+ * same proposed chain and the same checkpoint-proposal receive/handoff deadlines.
21
+ * - Network identity and L1-posted deployment params: the L1 chain id and the staking/governance/slashing
22
+ * parameters baked into the deployed rollup contract (committee size, lags, thresholds, mana target, fee
23
+ * pricing, governance/slashing round sizes, quorums, slash amounts, etc.). A node disagreeing with the rollup
24
+ * it points at would compute the wrong epoch geometry, fees, or slashing rounds.
25
+ * - Node-side slashing offense consensus: the offense detection/penalty parameters validators apply locally to
26
+ * decide which payloads to sign. Validators must agree on these to reach the on-chain slashing quorum.
27
+ *
28
+ * Deliberately excluded: bootnodes, P2P/store/OTEL/sentinel settings, SEQ_MIN_TX_PER_BLOCK, SEQ_MAX_TX_PER_*,
29
+ * AZTEC_SLASHER_ENABLED, PROVER_REAL_PROOFS, TRANSACTIONS_DISABLED, and AZTEC_ENTRY_QUEUE_* (mainnet-only genesis
30
+ * params enforced by L1).
31
+ */
32
+ export const NETWORK_CONSENSUS_ENV_VARS = [
33
+ // Timing/protocol consensus.
34
+ 'ETHEREUM_SLOT_DURATION',
35
+ 'AZTEC_SLOT_DURATION',
36
+ 'AZTEC_EPOCH_DURATION',
37
+ 'SEQ_BLOCK_DURATION_MS',
38
+ 'MAX_BLOCKS_PER_CHECKPOINT',
39
+ 'CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS',
40
+
41
+ // Network identity / L1-posted deployment params.
42
+ 'L1_CHAIN_ID',
43
+ 'AZTEC_TARGET_COMMITTEE_SIZE',
44
+ 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET',
45
+ 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO',
46
+ 'AZTEC_ACTIVATION_THRESHOLD',
47
+ 'AZTEC_EJECTION_THRESHOLD',
48
+ 'AZTEC_LOCAL_EJECTION_THRESHOLD',
49
+ 'AZTEC_EXIT_DELAY_SECONDS',
50
+ 'AZTEC_INBOX_LAG',
51
+ 'AZTEC_PROOF_SUBMISSION_EPOCHS',
52
+ 'AZTEC_MANA_TARGET',
53
+ 'AZTEC_PROVING_COST_PER_MANA',
54
+ 'AZTEC_INITIAL_ETH_PER_FEE_ASSET',
55
+ 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE',
56
+ 'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
57
+ 'AZTEC_SLASHING_QUORUM',
58
+ 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS',
59
+ 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS',
60
+ 'AZTEC_SLASHING_OFFSET_IN_ROUNDS',
61
+ 'AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS',
62
+ 'AZTEC_SLASHING_VETOER',
63
+ 'AZTEC_SLASHING_DISABLE_DURATION',
64
+ 'AZTEC_SLASH_AMOUNT_SMALL',
65
+ 'AZTEC_SLASH_AMOUNT_MEDIUM',
66
+ 'AZTEC_SLASH_AMOUNT_LARGE',
67
+
68
+ // Node-side slashing offense consensus.
69
+ 'SLASH_OFFENSE_EXPIRATION_ROUNDS',
70
+ 'SLASH_MAX_PAYLOAD_SIZE',
71
+ 'SLASH_EXECUTE_ROUNDS_LOOK_BACK',
72
+ 'SLASH_DATA_WITHHOLDING_TOLERANCE_SLOTS',
73
+ 'SLASH_DATA_WITHHOLDING_PENALTY',
74
+ 'SLASH_INACTIVITY_TARGET_PERCENTAGE',
75
+ 'SLASH_INACTIVITY_CONSECUTIVE_EPOCH_THRESHOLD',
76
+ 'SLASH_INACTIVITY_PENALTY',
77
+ 'SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY',
78
+ 'SLASH_DUPLICATE_PROPOSAL_PENALTY',
79
+ 'SLASH_DUPLICATE_ATTESTATION_PENALTY',
80
+ 'SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY',
81
+ 'SLASH_ATTEST_INVALID_CHECKPOINT_PROPOSAL_PENALTY',
82
+ 'SLASH_UNKNOWN_PENALTY',
83
+ 'SLASH_INVALID_BLOCK_PENALTY',
84
+ 'SLASH_INVALID_CHECKPOINT_PROPOSAL_PENALTY',
85
+ 'SLASH_GRACE_PERIOD_L2_SLOTS',
86
+ ] as const satisfies readonly EnvVar[];
87
+
88
+ /** A consensus-critical environment variable name; see {@link NETWORK_CONSENSUS_ENV_VARS}. */
89
+ export type ConsensusEnvVar = (typeof NETWORK_CONSENSUS_ENV_VARS)[number];
90
+
91
+ /**
92
+ * The subset of consensus-critical timing config whose geometry can be validated in isolation. Composed by
93
+ * picking the canonical fields from their owning config types so the field set never drifts from the config
94
+ * layer: slot durations from {@link L1ContractsConfig}, block sub-slot/checkpoint timings from
95
+ * {@link SequencerConfig} (whose fields are optional there, hence `Required`).
96
+ */
97
+ export type NetworkConsensusConfig = Pick<L1ContractsConfig, 'aztecSlotDuration' | 'ethereumSlotDuration'> &
98
+ Required<Pick<SequencerConfig, 'blockDurationMs' | 'maxBlocksPerCheckpoint' | 'checkpointProposalSyncGraceSeconds'>>;
99
+
100
+ /** Config mappings for the slot-timing fields of {@link NetworkConsensusConfig}, picked from their owners. */
101
+ const networkConsensusConfigMappings = {
102
+ ...pickConfigMappings(l1ContractsConfigMappings, ['aztecSlotDuration', 'ethereumSlotDuration']),
103
+ ...pickConfigMappings(sharedSequencerConfigMappings, [
104
+ 'blockDurationMs',
105
+ 'maxBlocksPerCheckpoint',
106
+ 'checkpointProposalSyncGraceSeconds',
107
+ ]),
108
+ };
109
+
110
+ /**
111
+ * Extracts the timing {@link NetworkConsensusConfig} from a generated network config object. The env-var names
112
+ * and the per-field parsing both come from the canonical config mappings (`l1ContractsConfigMappings` and
113
+ * `sharedSequencerConfigMappings`), so each field is parsed exactly as the node's config layer would parse it.
114
+ * A field whose env var is absent becomes `NaN`, which {@link validateNetworkConsensusConfig} reports as an
115
+ * error. Never throws: parse helpers that would throw or yield `undefined` are coerced to `NaN`.
116
+ */
117
+ export function getConsensusConfigFromNetworkEnv(
118
+ values: Record<string, string | number | boolean>,
119
+ ): NetworkConsensusConfig {
120
+ const result = {} as Record<keyof NetworkConsensusConfig, number>;
121
+ for (const [field, mapping] of Object.entries(networkConsensusConfigMappings)) {
122
+ const raw = mapping.env !== undefined ? values[mapping.env] : undefined;
123
+ if (raw === undefined) {
124
+ result[field as keyof NetworkConsensusConfig] = NaN;
125
+ continue;
126
+ }
127
+ let parsed: number | undefined;
128
+ try {
129
+ parsed = mapping.parseEnv ? mapping.parseEnv(String(raw)) : Number(raw);
130
+ } catch {
131
+ parsed = NaN;
132
+ }
133
+ result[field as keyof NetworkConsensusConfig] = parsed ?? NaN;
134
+ }
135
+ return result;
136
+ }
137
+
138
+ /**
139
+ * Validates a {@link NetworkConsensusConfig} for self-consistency, returning a list of error messages (empty
140
+ * when valid). Used by the cli unit test that gates the generated network configs.
141
+ *
142
+ * The check requires `maxBlocksPerCheckpoint` to be *exactly* what a {@link ProposerTimetable} built from the
143
+ * same slot timings and the production default budgets derives. This exact-equality requirement ensures the
144
+ * published network value is precisely what the production default budgets produce, so every node running those
145
+ * defaults agrees on the per-checkpoint block count without clamping.
146
+ */
147
+ export function validateNetworkConsensusConfig(config: NetworkConsensusConfig): string[] {
148
+ const errors: string[] = [];
149
+
150
+ for (const [field, value] of Object.entries(config)) {
151
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
152
+ errors.push(`${field} must be a finite number (got ${value})`);
153
+ }
154
+ }
155
+ if (errors.length > 0) {
156
+ return errors;
157
+ }
158
+
159
+ errors.push(...validateSlotDurations(config));
160
+ if (config.blockDurationMs <= 0) {
161
+ errors.push(`blockDurationMs must be positive (got ${config.blockDurationMs})`);
162
+ }
163
+ if (config.blockDurationMs / 1000 > config.aztecSlotDuration) {
164
+ errors.push(
165
+ `blockDurationMs (${config.blockDurationMs}ms) exceeds aztecSlotDuration (${config.aztecSlotDuration}s)`,
166
+ );
167
+ }
168
+ if (config.maxBlocksPerCheckpoint < 1) {
169
+ errors.push(`maxBlocksPerCheckpoint must be at least 1 (got ${config.maxBlocksPerCheckpoint})`);
170
+ }
171
+ if (config.checkpointProposalSyncGraceSeconds < 0) {
172
+ errors.push(
173
+ `checkpointProposalSyncGraceSeconds must be non-negative (got ${config.checkpointProposalSyncGraceSeconds})`,
174
+ );
175
+ }
176
+ if (errors.length > 0) {
177
+ return errors;
178
+ }
179
+
180
+ let computed: number;
181
+ try {
182
+ computed = new ProposerTimetable({
183
+ l1Constants: {
184
+ l1GenesisTime: 0n,
185
+ slotDuration: config.aztecSlotDuration,
186
+ ethereumSlotDuration: config.ethereumSlotDuration,
187
+ },
188
+ blockDuration: config.blockDurationMs / 1000,
189
+ minBlockDuration: DEFAULT_MIN_BLOCK_DURATION,
190
+ p2pPropagationTime: DEFAULT_P2P_PROPAGATION_TIME,
191
+ checkpointProposalPrepareTime: DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME,
192
+ checkpointProposalInitTime: DEFAULT_CHECKPOINT_PROPOSAL_INIT_TIME,
193
+ checkpointProposalSyncGrace: config.checkpointProposalSyncGraceSeconds,
194
+ }).getMaxBlocksPerCheckpoint();
195
+ } catch (err) {
196
+ // The timetable constructor throws when not even one block fits the default budgets; report instead.
197
+ errors.push(
198
+ `maxBlocksPerCheckpoint (${config.maxBlocksPerCheckpoint}) cannot be achieved: the default operational ` +
199
+ `budgets fit fewer than one block for slot duration ${config.aztecSlotDuration}s and block duration ` +
200
+ `${config.blockDurationMs / 1000}s (${err instanceof Error ? err.message : String(err)})`,
201
+ );
202
+ return errors;
203
+ }
204
+
205
+ if (computed !== config.maxBlocksPerCheckpoint) {
206
+ errors.push(
207
+ `maxBlocksPerCheckpoint (${config.maxBlocksPerCheckpoint}) does not match the ${computed} blocks the ` +
208
+ `production default budgets derive for slot duration ${config.aztecSlotDuration}s and block duration ` +
209
+ `${config.blockDurationMs / 1000}s`,
210
+ );
211
+ }
212
+
213
+ return errors;
214
+ }
215
+
216
+ /**
217
+ * Enforces that operators do not silently override consensus-critical values diverging from the network config.
218
+ *
219
+ * For each var in {@link NETWORK_CONSENSUS_ENV_VARS} present in `networkConfig`: if the operator set it in `env`
220
+ * to a conflicting value, this throws unless `ALLOW_OVERRIDING_NETWORK_CONFIG` is truthy (in which case it logs
221
+ * and keeps the operator value).
222
+ *
223
+ * This function is pure: it never writes to `env`. Instead it returns the canonical env writes the caller
224
+ * should apply — a map of env-var name to canonical string value for every numeric var whose env value matched
225
+ * the network value numerically. Applying these closes a bypass where the config layer parses some vars with
226
+ * `parseInt` (which reads '6e3' as 6); rewriting them to the network value's string form keeps the operator's
227
+ * numerically-equal value but in canonical form. Vars kept under `ALLOW_OVERRIDING_NETWORK_CONFIG` (genuine
228
+ * conflicts) are not included, so the operator value is preserved untouched.
229
+ *
230
+ * @returns Canonical env writes (env-var name -> canonical string value) for the caller to apply.
231
+ */
232
+ export function checkConsensusEnvOverrides(
233
+ networkConfig: Record<string, string | number | boolean>,
234
+ env: { [key: string]: string | undefined } = process.env,
235
+ log?: (msg: string) => void,
236
+ ): Record<string, string> {
237
+ const allowOverride = allowsNetworkConfigOverride(env);
238
+ const canonical: Record<string, string> = {};
239
+ const conflicts: string[] = [];
240
+
241
+ for (const envVar of NETWORK_CONSENSUS_ENV_VARS) {
242
+ const networkValue = networkConfig[envVar];
243
+ if (networkValue === undefined) {
244
+ continue;
245
+ }
246
+
247
+ const current = env[envVar];
248
+ if (current === undefined || current === '') {
249
+ continue;
250
+ }
251
+
252
+ const networkIsNumeric = typeof networkValue === 'number';
253
+ const matches = networkIsNumeric ? Number(current) === networkValue : current === String(networkValue);
254
+ if (matches) {
255
+ if (networkIsNumeric) {
256
+ canonical[envVar] = String(networkValue);
257
+ }
258
+ continue;
259
+ }
260
+
261
+ const conflict = `${envVar}=${current} conflicts with the network value ${networkValue}`;
262
+ if (allowOverride) {
263
+ log?.(
264
+ `Environment variable ${conflict}. Consensus-critical values must match across the network, but ` +
265
+ `ALLOW_OVERRIDING_NETWORK_CONFIG is set so the operator value is kept (only do this if you know what ` +
266
+ `you are doing).`,
267
+ );
268
+ continue;
269
+ }
270
+ conflicts.push(conflict);
271
+ }
272
+
273
+ // Accumulate every conflict so the operator sees all the env vars they need to reconcile at once, rather than
274
+ // fixing them one failed startup at a time.
275
+ if (conflicts.length > 0) {
276
+ throw new Error(
277
+ `Environment variables conflict with consensus-critical network values:\n` +
278
+ conflicts.map(c => ` - ${c}`).join('\n') +
279
+ `\nConsensus-critical values must match across the network. Set ALLOW_OVERRIDING_NETWORK_CONFIG=1 to ` +
280
+ `override (only do this if you know what you are doing).`,
281
+ );
282
+ }
283
+
284
+ return canonical;
285
+ }
286
+
287
+ /** Whether the env opts into overriding network-wide consensus values (`ALLOW_OVERRIDING_NETWORK_CONFIG`). */
288
+ export function allowsNetworkConfigOverride(env: { [key: string]: string | undefined } = process.env): boolean {
289
+ const value = env.ALLOW_OVERRIDING_NETWORK_CONFIG;
290
+ return value === '1' || value?.toLowerCase() === 'true';
291
+ }
@@ -1,10 +1,28 @@
1
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import {
2
+ type ConfigMappingsType,
3
+ floatConfigHelper,
4
+ numberConfigHelper,
5
+ optionalNumberConfigHelper,
6
+ } from '@aztec/foundation/config';
2
7
 
3
8
  import type { SequencerConfig } from '../interfaces/configs.js';
9
+ import {
10
+ DEFAULT_BLOCK_DURATION,
11
+ DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME,
12
+ DEFAULT_MIN_BLOCK_DURATION,
13
+ DEFAULT_P2P_PROPAGATION_TIME,
14
+ getDefaultCheckpointProposalSyncGrace,
15
+ } from '../timetable/index.js';
16
+
17
+ /** Default duration per block in milliseconds, used to derive how many blocks fit in a slot. */
18
+ export const DEFAULT_BLOCK_DURATION_MS = DEFAULT_BLOCK_DURATION * 1000;
4
19
 
5
20
  /** Default maximum number of transactions per block. */
6
21
  export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
7
22
 
23
+ /** Default maximum number of blocks the sequencer packs into a single checkpoint. */
24
+ export const DEFAULT_MAX_BLOCKS_PER_CHECKPOINT = 24;
25
+
8
26
  /**
9
27
  * Partial sequencer config mappings for fields that need to be shared across packages.
10
28
  * The full sequencer config mappings remain in sequencer-client, but shared fields
@@ -12,26 +30,67 @@ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
12
30
  * to avoid duplication.
13
31
  */
14
32
  export const sharedSequencerConfigMappings: ConfigMappingsType<
15
- Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'>
33
+ Pick<
34
+ SequencerConfig,
35
+ | 'blockDurationMs'
36
+ | 'checkpointProposalSyncGraceSeconds'
37
+ | 'expectedBlockProposalsPerSlot'
38
+ | 'maxTxsPerBlock'
39
+ | 'attestationPropagationTime'
40
+ | 'checkpointProposalPrepareTime'
41
+ | 'minBlockDuration'
42
+ | 'maxBlocksPerCheckpoint'
43
+ >
16
44
  > = {
17
45
  blockDurationMs: {
18
46
  env: 'SEQ_BLOCK_DURATION_MS',
19
- description:
20
- 'Duration per block in milliseconds when building multiple blocks per slot. ' +
21
- 'If undefined (default), builds a single block per slot using the full slot duration.',
22
- parseEnv: (val: string) => (val ? parseInt(val, 10) : undefined),
47
+ description: 'Duration per block in milliseconds, used to derive how many blocks fit in a slot.',
48
+ ...numberConfigHelper(DEFAULT_BLOCK_DURATION_MS),
23
49
  },
24
50
  expectedBlockProposalsPerSlot: {
25
51
  env: 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT',
26
52
  description:
27
53
  'Expected number of block proposals per slot for P2P peer scoring. ' +
28
54
  '0 (default) disables block proposal scoring. Set to a positive value to enable.',
29
- parseEnv: (val: string) => (val ? parseInt(val, 10) : 0),
30
- defaultValue: 0,
55
+ ...numberConfigHelper(0),
56
+ },
57
+ checkpointProposalSyncGraceSeconds: {
58
+ env: 'CHECKPOINT_PROPOSAL_SYNC_GRACE_SECONDS',
59
+ description:
60
+ 'Consensus grace in seconds for a received checkpoint proposal to materialize into local proposed state. ' +
61
+ 'Defaults to twice the block duration.',
62
+ defaultValue: getDefaultCheckpointProposalSyncGrace(DEFAULT_BLOCK_DURATION_MS / 1000),
63
+ ...optionalNumberConfigHelper(),
31
64
  },
32
65
  maxTxsPerBlock: {
33
66
  env: 'SEQ_MAX_TX_PER_BLOCK',
34
67
  description: 'The maximum number of txs to include in a block.',
35
- parseEnv: (val: string) => (val ? parseInt(val, 10) : undefined),
68
+ ...optionalNumberConfigHelper(),
69
+ },
70
+ attestationPropagationTime: {
71
+ env: 'SEQ_ATTESTATION_PROPAGATION_TIME',
72
+ description: 'How many seconds it takes for proposals and attestations to travel across the p2p layer (one-way).',
73
+ defaultValue: DEFAULT_P2P_PROPAGATION_TIME,
74
+ ...floatConfigHelper(DEFAULT_P2P_PROPAGATION_TIME),
75
+ },
76
+ checkpointProposalPrepareTime: {
77
+ env: 'SEQ_CHECKPOINT_PROPOSAL_PREPARE_TIME',
78
+ description:
79
+ 'Local time in seconds between the last block build finishing and the checkpoint proposal being ready for p2p send.',
80
+ defaultValue: DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME,
81
+ ...floatConfigHelper(DEFAULT_CHECKPOINT_PROPOSAL_PREPARE_TIME),
82
+ },
83
+ minBlockDuration: {
84
+ env: 'SEQ_MIN_BLOCK_DURATION',
85
+ description: 'Minimum block-building time in seconds still worth allocating if the proposer starts late.',
86
+ defaultValue: DEFAULT_MIN_BLOCK_DURATION,
87
+ ...floatConfigHelper(DEFAULT_MIN_BLOCK_DURATION),
88
+ },
89
+ maxBlocksPerCheckpoint: {
90
+ env: 'MAX_BLOCKS_PER_CHECKPOINT',
91
+ description:
92
+ 'Maximum number of blocks the sequencer packs into a single checkpoint, and the maximum indexWithinCheckpoint accepted on inbound block proposals.',
93
+ parseEnv: (val: string) => parseInt(val, 10),
94
+ defaultValue: DEFAULT_MAX_BLOCKS_PER_CHECKPOINT,
36
95
  },
37
96
  };
@@ -38,7 +38,8 @@ export class CompleteAddress {
38
38
  }
39
39
 
40
40
  /** Size in bytes of an instance */
41
- static readonly SIZE_IN_BYTES = 32 * 10;
41
+ // address (1 Fr) + publicKeys (1 Fr hash + 1 Point + 4 Fr hashes = 7 Fr) + partialAddress (1 Fr) = 9 Fr
42
+ static readonly SIZE_IN_BYTES = 32 * 9;
42
43
 
43
44
  static get schema() {
44
45
  return hexSchemaFor(CompleteAddress);
@@ -54,8 +55,11 @@ export class CompleteAddress {
54
55
 
55
56
  static async fromSecretKeyAndPartialAddress(secretKey: Fr, partialAddress: Fr): Promise<CompleteAddress> {
56
57
  const { publicKeys } = await deriveKeys(secretKey);
57
- const address = await computeAddress(publicKeys, partialAddress);
58
+ return await this.fromPublicKeysAndPartialAddress(publicKeys, partialAddress);
59
+ }
58
60
 
61
+ static async fromPublicKeysAndPartialAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<CompleteAddress> {
62
+ const address = await computeAddress(publicKeys, partialAddress);
59
63
  return new CompleteAddress(address, publicKeys, partialAddress);
60
64
  }
61
65
 
@@ -87,7 +91,7 @@ export class CompleteAddress {
87
91
  * @returns A readable string representation of the complete address.
88
92
  */
89
93
  public toReadableString(): string {
90
- return `Address: ${this.address.toString()}\nMaster Nullifier Public Key: ${this.publicKeys.masterNullifierPublicKey.toString()}\nMaster Incoming Viewing Public Key: ${this.publicKeys.masterIncomingViewingPublicKey.toString()}\nMaster Outgoing Viewing Public Key: ${this.publicKeys.masterOutgoingViewingPublicKey.toString()}\nMaster Tagging Public Key: ${this.publicKeys.masterTaggingPublicKey.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`;
94
+ return `Address: ${this.address.toString()}\nNpkM hash: ${this.publicKeys.npkMHash.toString()}\nIvpkM: ${this.publicKeys.ivpkM.toString()}\nOvpkM hash: ${this.publicKeys.ovpkMHash.toString()}\nTpkM hash: ${this.publicKeys.tpkMHash.toString()}\nMspkM hash: ${this.publicKeys.mspkMHash.toString()}\nFbpkM hash: ${this.publicKeys.fbpkMHash.toString()}\nPartial Address: ${this.partialAddress.toString()}\n`;
91
95
  }
92
96
 
93
97
  /**
@@ -6,22 +6,23 @@ import { type FunctionAbi, FunctionSelector, encodeArguments } from '../abi/inde
6
6
  import type { AztecAddress } from '../aztec-address/index.js';
7
7
  import { computeVarArgsHash } from '../hash/hash.js';
8
8
  import { computeAddress } from '../keys/index.js';
9
- import type { ContractInstance } from './interfaces/contract_instance.js';
9
+ import type { ContractInstance, ContractInstancePreimage } from './interfaces/contract_instance.js';
10
+ import type { PartialAddress } from './partial_address.js';
10
11
 
11
12
  // TODO(@spalladino): Review all generator indices in this file
12
13
 
13
14
  /**
14
15
  * Returns the deployment address for a given contract instance.
15
16
  * ```
16
- * salted_initialization_hash = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [salt, initialization_hash, deployer])
17
+ * salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer, immutables_hash])
17
18
  * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
18
- * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
19
+ * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V2, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
19
20
  * ```
20
21
  * @param instance - A contract instance for which to calculate the deployment address.
21
22
  */
22
23
  export async function computeContractAddressFromInstance(
23
24
  instance:
24
- | ContractInstance
25
+ | ContractInstancePreimage
25
26
  | ({ originalContractClassId: Fr; saltedInitializationHash: Fr } & Pick<ContractInstance, 'publicKeys'>),
26
27
  ): Promise<AztecAddress> {
27
28
  const partialAddress = await computePartialAddress(instance);
@@ -34,9 +35,9 @@ export async function computeContractAddressFromInstance(
34
35
  */
35
36
  export async function computePartialAddress(
36
37
  instance:
37
- | Pick<ContractInstance, 'originalContractClassId' | 'initializationHash' | 'salt' | 'deployer'>
38
+ | Pick<ContractInstance, 'originalContractClassId' | 'initializationHash' | 'salt' | 'deployer' | 'immutablesHash'>
38
39
  | { originalContractClassId: Fr; saltedInitializationHash: Fr },
39
- ): Promise<Fr> {
40
+ ): Promise<PartialAddress> {
40
41
  const saltedInitializationHash =
41
42
  'saltedInitializationHash' in instance
42
43
  ? instance.saltedInitializationHash
@@ -53,11 +54,11 @@ export async function computePartialAddress(
53
54
  * @param instance - Contract instance for which to compute the salted initialization hash.
54
55
  */
55
56
  export function computeSaltedInitializationHash(
56
- instance: Pick<ContractInstance, 'initializationHash' | 'salt' | 'deployer'>,
57
+ instance: Pick<ContractInstance, 'initializationHash' | 'salt' | 'deployer' | 'immutablesHash'>,
57
58
  ): Promise<Fr> {
58
59
  return poseidon2HashWithSeparator(
59
- [instance.salt, instance.initializationHash, instance.deployer],
60
- DomainSeparator.PARTIAL_ADDRESS,
60
+ [instance.salt, instance.initializationHash, instance.deployer, instance.immutablesHash],
61
+ DomainSeparator.SALTED_INITIALIZATION_HASH,
61
62
  );
62
63
  }
63
64
 
@@ -1,4 +1,5 @@
1
- import { vkAsFieldsMegaHonk } from '@aztec/foundation/crypto/keys';
1
+ import { CircuitKind } from '@aztec/bb.js';
2
+ import { vkAsFields } from '@aztec/foundation/crypto/keys';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
 
4
5
  import { type ContractArtifact, type FunctionArtifact, FunctionSelector, FunctionType } from '../abi/index.js';
@@ -60,5 +61,5 @@ export async function computeVerificationKeyHash(f: FunctionArtifact) {
60
61
  if (!f.verificationKey) {
61
62
  throw new Error(`Private function ${f.name} must have a verification key`);
62
63
  }
63
- return hashVK(await vkAsFieldsMegaHonk(Buffer.from(f.verificationKey, 'base64')));
64
+ return hashVK(await vkAsFields(Buffer.from(f.verificationKey, 'base64'), CircuitKind.App));
64
65
  }
@@ -18,9 +18,14 @@ import {
18
18
  computeInitializationHash,
19
19
  computeInitializationHashFromEncodedArgs,
20
20
  } from './contract_address.js';
21
- import type { ContractInstance, ContractInstanceWithAddress } from './interfaces/contract_instance.js';
21
+ import type {
22
+ ContractInstance,
23
+ ContractInstancePreimage,
24
+ ContractInstancePreimageWithAddress,
25
+ ContractInstanceWithAddress,
26
+ } from './interfaces/contract_instance.js';
22
27
 
23
- const VERSION = 1 as const;
28
+ const VERSION = 2 as const;
24
29
 
25
30
  export type ContractInstantiationData = {
26
31
  constructorArtifact?: FunctionAbi | string;
@@ -29,6 +34,7 @@ export type ContractInstantiationData = {
29
34
  salt: Fr;
30
35
  publicKeys?: PublicKeys;
31
36
  deployer?: AztecAddress;
37
+ immutablesHash?: Fr;
32
38
  };
33
39
 
34
40
  export class SerializableContractInstance {
@@ -38,6 +44,7 @@ export class SerializableContractInstance {
38
44
  public readonly currentContractClassId: Fr;
39
45
  public readonly originalContractClassId: Fr;
40
46
  public readonly initializationHash: Fr;
47
+ public readonly immutablesHash: Fr;
41
48
  public readonly publicKeys: PublicKeys;
42
49
 
43
50
  constructor(instance: ContractInstance) {
@@ -49,6 +56,7 @@ export class SerializableContractInstance {
49
56
  this.currentContractClassId = instance.currentContractClassId;
50
57
  this.originalContractClassId = instance.originalContractClassId;
51
58
  this.initializationHash = instance.initializationHash;
59
+ this.immutablesHash = instance.immutablesHash;
52
60
  this.publicKeys = instance.publicKeys;
53
61
  }
54
62
 
@@ -60,6 +68,7 @@ export class SerializableContractInstance {
60
68
  this.currentContractClassId,
61
69
  this.originalContractClassId,
62
70
  this.initializationHash,
71
+ this.immutablesHash,
63
72
  this.publicKeys,
64
73
  );
65
74
  }
@@ -78,6 +87,7 @@ export class SerializableContractInstance {
78
87
  currentContractClassId: reader.readObject(Fr),
79
88
  originalContractClassId: reader.readObject(Fr),
80
89
  initializationHash: reader.readObject(Fr),
90
+ immutablesHash: reader.readObject(Fr),
81
91
  publicKeys: reader.readObject(PublicKeys),
82
92
  });
83
93
  }
@@ -90,6 +100,7 @@ export class SerializableContractInstance {
90
100
  currentContractClassId: Fr.random(),
91
101
  originalContractClassId: Fr.random(),
92
102
  initializationHash: Fr.random(),
103
+ immutablesHash: Fr.random(),
93
104
  publicKeys: await PublicKeys.random(),
94
105
  ...opts,
95
106
  });
@@ -103,11 +114,68 @@ export class SerializableContractInstance {
103
114
  currentContractClassId: Fr.zero(),
104
115
  originalContractClassId: Fr.zero(),
105
116
  initializationHash: Fr.zero(),
117
+ immutablesHash: Fr.zero(),
106
118
  publicKeys: PublicKeys.default(),
107
119
  });
108
120
  }
109
121
  }
110
122
 
123
+ export class SerializableContractInstancePreimage {
124
+ public readonly version = VERSION;
125
+ public readonly salt: Fr;
126
+ public readonly deployer: AztecAddress;
127
+ public readonly originalContractClassId: Fr;
128
+ public readonly initializationHash: Fr;
129
+ public readonly immutablesHash: Fr;
130
+ public readonly publicKeys: PublicKeys;
131
+
132
+ constructor(instance: ContractInstancePreimage) {
133
+ if (instance.version !== VERSION) {
134
+ throw new Error(`Unexpected contract class version ${instance.version}`);
135
+ }
136
+ this.salt = instance.salt;
137
+ this.deployer = instance.deployer;
138
+ this.originalContractClassId = instance.originalContractClassId;
139
+ this.initializationHash = instance.initializationHash;
140
+ this.immutablesHash = instance.immutablesHash;
141
+ this.publicKeys = instance.publicKeys;
142
+ }
143
+
144
+ public toBuffer() {
145
+ return serializeToBuffer(
146
+ numToUInt8(this.version),
147
+ this.salt,
148
+ this.deployer,
149
+ this.originalContractClassId,
150
+ this.initializationHash,
151
+ this.immutablesHash,
152
+ this.publicKeys,
153
+ );
154
+ }
155
+
156
+ /** Returns a copy of this object with its address included. */
157
+ withAddress(address: AztecAddress): ContractInstancePreimageWithAddress {
158
+ return { ...this, address };
159
+ }
160
+
161
+ static fromBuffer(bufferOrReader: Buffer | BufferReader): SerializableContractInstancePreimage {
162
+ const reader = BufferReader.asReader(bufferOrReader);
163
+ const version = reader.readUInt8();
164
+ if (version !== VERSION) {
165
+ throw new Error(`Unexpected contract instance preimage version ${version}`);
166
+ }
167
+ return new SerializableContractInstancePreimage({
168
+ version: VERSION,
169
+ salt: reader.readObject(Fr),
170
+ deployer: reader.readObject(AztecAddress),
171
+ originalContractClassId: reader.readObject(Fr),
172
+ initializationHash: reader.readObject(Fr),
173
+ immutablesHash: reader.readObject(Fr),
174
+ publicKeys: reader.readObject(PublicKeys),
175
+ });
176
+ }
177
+ }
178
+
111
179
  /**
112
180
  * Generates a Contract Instance from some instantiation params.
113
181
  * @param artifact - The account contract build artifact.
@@ -130,15 +198,17 @@ export async function getContractInstanceFromInstantiationParams(
130
198
  )
131
199
  : await computeInitializationHash(constructorArtifact, args);
132
200
  const publicKeys = opts.publicKeys ?? PublicKeys.default();
201
+ const immutablesHash = opts.immutablesHash ?? Fr.ZERO;
133
202
 
134
203
  const instance: ContractInstance = {
135
204
  currentContractClassId: contractClass.id,
136
205
  originalContractClassId: contractClass.id,
137
206
  initializationHash,
207
+ immutablesHash,
138
208
  publicKeys,
139
209
  salt: opts.salt,
140
210
  deployer,
141
- version: 1,
211
+ version: 2,
142
212
  };
143
213
 
144
214
  return { ...instance, address: await computeContractAddressFromInstance(instance) };
@@ -9,5 +9,4 @@ export * from './private_function.js';
9
9
  export * from './interfaces/index.js';
10
10
  export * from './contract_function_dao.js';
11
11
  export * from './partial_address.js';
12
- export * from './deployment_info.js';
13
12
  export * from './complete_address.js';
@@ -25,11 +25,9 @@ export interface ContractDataSource {
25
25
  /**
26
26
  * Returns a publicly deployed contract instance given its address.
27
27
  * @param address - Address of the deployed contract.
28
- * @param timestamp - Timestamp at which to retrieve the contract instance. If not provided, the latest block should
29
- * be used.
30
- * TODO(#15170): Fix the implementations ignoring the timestamp param and make timestamp required.
28
+ * @param timestamp - Timestamp at which to resolve the contract instance's current class id.
31
29
  */
32
- getContract(address: AztecAddress, timestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
30
+ getContract(address: AztecAddress, timestamp: UInt64): Promise<ContractInstanceWithAddress | undefined>;
33
31
 
34
32
  /**
35
33
  * Returns the list of all class ids known.