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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1022) hide show
  1. package/dest/abi/abi.d.ts +128 -1197
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +31 -16
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +6 -2
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +13 -1
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +57 -15
  12. package/dest/abi/decoder.d.ts +5 -44
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +12 -67
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +32 -6
  18. package/dest/abi/event_selector.d.ts +4 -7
  19. package/dest/abi/event_selector.d.ts.map +1 -1
  20. package/dest/abi/function_call.d.ts +7 -25
  21. package/dest/abi/function_call.d.ts.map +1 -1
  22. package/dest/abi/function_selector.d.ts +3 -6
  23. package/dest/abi/function_selector.d.ts.map +1 -1
  24. package/dest/abi/function_selector.js +2 -4
  25. package/dest/abi/function_signature_decoder.d.ts +43 -0
  26. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  27. package/dest/abi/function_signature_decoder.js +66 -0
  28. package/dest/abi/index.d.ts +2 -1
  29. package/dest/abi/index.d.ts.map +1 -1
  30. package/dest/abi/index.js +1 -0
  31. package/dest/abi/note_selector.d.ts +4 -7
  32. package/dest/abi/note_selector.d.ts.map +1 -1
  33. package/dest/abi/note_selector.js +1 -3
  34. package/dest/abi/selector.d.ts +2 -2
  35. package/dest/abi/selector.d.ts.map +1 -1
  36. package/dest/abi/selector.js +1 -1
  37. package/dest/abi/utils.d.ts +1 -1
  38. package/dest/abi/utils.d.ts.map +1 -1
  39. package/dest/abi/utils.js +1 -1
  40. package/dest/auth_witness/auth_witness.d.ts +2 -2
  41. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  42. package/dest/avm/avm.d.ts +1756 -10463
  43. package/dest/avm/avm.d.ts.map +1 -1
  44. package/dest/avm/avm.js +7 -4
  45. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  46. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  47. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  48. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  49. package/dest/avm/avm_proving_request.d.ts +653 -5446
  50. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  51. package/dest/avm/message_pack.js +12 -3
  52. package/dest/avm/public_data_write.d.ts +6 -12
  53. package/dest/avm/public_data_write.d.ts.map +1 -1
  54. package/dest/avm/revert_code.d.ts +5 -21
  55. package/dest/avm/revert_code.d.ts.map +1 -1
  56. package/dest/avm/revert_code.js +12 -30
  57. package/dest/aztec-address/index.d.ts +42 -12
  58. package/dest/aztec-address/index.d.ts.map +1 -1
  59. package/dest/aztec-address/index.js +40 -13
  60. package/dest/block/attestation_info.d.ts +3 -2
  61. package/dest/block/attestation_info.d.ts.map +1 -1
  62. package/dest/block/attestation_info.js +10 -5
  63. package/dest/block/block_data.d.ts +13 -38
  64. package/dest/block/block_data.d.ts.map +1 -1
  65. package/dest/block/block_data.js +2 -2
  66. package/dest/block/block_hash.d.ts +11 -10
  67. package/dest/block/block_hash.d.ts.map +1 -1
  68. package/dest/block/block_hash.js +10 -9
  69. package/dest/block/block_parameter.d.ts +37 -4
  70. package/dest/block/block_parameter.d.ts.map +1 -1
  71. package/dest/block/block_parameter.js +53 -2
  72. package/dest/block/in_block.d.ts +5 -24
  73. package/dest/block/in_block.d.ts.map +1 -1
  74. package/dest/block/index.d.ts +1 -2
  75. package/dest/block/index.d.ts.map +1 -1
  76. package/dest/block/index.js +0 -1
  77. package/dest/block/l2_block.d.ts +13 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block_info.d.ts +10 -29
  80. package/dest/block/l2_block_info.d.ts.map +1 -1
  81. package/dest/block/l2_block_info.js +6 -5
  82. package/dest/block/l2_block_source.d.ts +227 -354
  83. package/dest/block/l2_block_source.d.ts.map +1 -1
  84. package/dest/block/l2_block_source.js +88 -1
  85. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
  86. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  87. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +58 -0
  88. package/dest/block/l2_block_stream/index.d.ts +2 -1
  89. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  90. package/dest/block/l2_block_stream/index.js +1 -0
  91. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  92. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/interfaces.js +25 -1
  94. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  95. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  96. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  97. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  99. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  100. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  101. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  102. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  103. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  104. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  105. package/dest/block/proposal/attestations_and_signers.js +73 -25
  106. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  107. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  108. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  109. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  110. package/dest/block/test/l2_tips_store_test_suite.js +301 -36
  111. package/dest/block/validate_block_result.d.ts +16 -1
  112. package/dest/block/validate_block_result.d.ts.map +1 -1
  113. package/dest/block/validate_block_result.js +18 -3
  114. package/dest/checkpoint/checkpoint.d.ts +30 -96
  115. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint.js +11 -3
  117. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  118. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  119. package/dest/checkpoint/checkpoint_data.js +12 -0
  120. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  121. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  122. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  123. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  124. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  125. package/dest/checkpoint/digest.d.ts +18 -0
  126. package/dest/checkpoint/digest.d.ts.map +1 -0
  127. package/dest/checkpoint/digest.js +12 -0
  128. package/dest/checkpoint/index.d.ts +5 -1
  129. package/dest/checkpoint/index.d.ts.map +1 -1
  130. package/dest/checkpoint/index.js +4 -0
  131. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  132. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  133. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  134. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  135. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  136. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  137. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  138. package/dest/checkpoint/simulation_overrides.js +98 -0
  139. package/dest/checkpoint/validate.d.ts +19 -3
  140. package/dest/checkpoint/validate.d.ts.map +1 -1
  141. package/dest/checkpoint/validate.js +18 -6
  142. package/dest/config/chain-config.d.ts +4 -9
  143. package/dest/config/chain-config.d.ts.map +1 -1
  144. package/dest/config/chain-config.js +13 -12
  145. package/dest/config/index.d.ts +2 -2
  146. package/dest/config/index.d.ts.map +1 -1
  147. package/dest/config/index.js +1 -1
  148. package/dest/config/network-consensus-config.d.ts +72 -0
  149. package/dest/config/network-consensus-config.d.ts.map +1 -0
  150. package/dest/config/network-consensus-config.js +227 -0
  151. package/dest/config/node-rpc-config.d.ts +25 -1
  152. package/dest/config/node-rpc-config.d.ts.map +1 -1
  153. package/dest/config/node-rpc-config.js +45 -1
  154. package/dest/config/sequencer-config.d.ts +7 -3
  155. package/dest/config/sequencer-config.d.ts.map +1 -1
  156. package/dest/config/sequencer-config.js +38 -5
  157. package/dest/contract/complete_address.d.ts +3 -2
  158. package/dest/contract/complete_address.d.ts.map +1 -1
  159. package/dest/contract/complete_address.js +6 -2
  160. package/dest/contract/contract_address.d.ts +9 -8
  161. package/dest/contract/contract_address.d.ts.map +1 -1
  162. package/dest/contract/contract_address.js +5 -4
  163. package/dest/contract/contract_deployment_data.d.ts +15 -61
  164. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  165. package/dest/contract/contract_instance.d.ts +19 -3
  166. package/dest/contract/contract_instance.d.ts.map +1 -1
  167. package/dest/contract/contract_instance.js +55 -3
  168. package/dest/contract/interfaces/contract_class.d.ts +15 -86
  169. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  170. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  171. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  172. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  173. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  174. package/dest/contract/interfaces/contract_instance.js +11 -4
  175. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  176. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  177. package/dest/contract/interfaces/node-info.d.ts +11 -1
  178. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  179. package/dest/contract/interfaces/node-info.js +7 -1
  180. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  181. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  182. package/dest/contract/partial_address.d.ts +9 -3
  183. package/dest/contract/partial_address.d.ts.map +1 -1
  184. package/dest/contract/partial_address.js +8 -2
  185. package/dest/contract/private_function.d.ts +1 -1
  186. package/dest/contract/private_function.d.ts.map +1 -1
  187. package/dest/contract/private_function.js +2 -4
  188. package/dest/database-version/database_version.d.ts +5 -11
  189. package/dest/database-version/database_version.d.ts.map +1 -1
  190. package/dest/database-version/version_manager.d.ts +22 -4
  191. package/dest/database-version/version_manager.d.ts.map +1 -1
  192. package/dest/database-version/version_manager.js +87 -6
  193. package/dest/deserialization/index.d.ts +35 -3
  194. package/dest/deserialization/index.d.ts.map +1 -1
  195. package/dest/deserialization/index.js +32 -1
  196. package/dest/epoch-helpers/index.d.ts +8 -22
  197. package/dest/epoch-helpers/index.d.ts.map +1 -1
  198. package/dest/epoch-helpers/index.js +6 -0
  199. package/dest/file-store/factory.d.ts +4 -3
  200. package/dest/file-store/factory.d.ts.map +1 -1
  201. package/dest/file-store/factory.js +9 -2
  202. package/dest/file-store/http.d.ts +9 -2
  203. package/dest/file-store/http.d.ts.map +1 -1
  204. package/dest/file-store/http.js +20 -9
  205. package/dest/file-store/index.d.ts +3 -1
  206. package/dest/file-store/index.d.ts.map +1 -1
  207. package/dest/file-store/index.js +1 -0
  208. package/dest/file-store/memory.d.ts +24 -0
  209. package/dest/file-store/memory.d.ts.map +1 -0
  210. package/dest/file-store/memory.js +80 -0
  211. package/dest/gas/fee_math.d.ts +49 -0
  212. package/dest/gas/fee_math.d.ts.map +1 -0
  213. package/dest/gas/fee_math.js +80 -0
  214. package/dest/gas/gas.d.ts +9 -14
  215. package/dest/gas/gas.d.ts.map +1 -1
  216. package/dest/gas/gas.js +6 -3
  217. package/dest/gas/gas_fees.d.ts +13 -14
  218. package/dest/gas/gas_fees.d.ts.map +1 -1
  219. package/dest/gas/gas_fees.js +17 -4
  220. package/dest/gas/gas_settings.d.ts +60 -86
  221. package/dest/gas/gas_settings.d.ts.map +1 -1
  222. package/dest/gas/gas_settings.js +49 -9
  223. package/dest/gas/index.d.ts +3 -1
  224. package/dest/gas/index.d.ts.map +1 -1
  225. package/dest/gas/index.js +2 -0
  226. package/dest/gas/tx_gas_limits.d.ts +72 -0
  227. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  228. package/dest/gas/tx_gas_limits.js +85 -0
  229. package/dest/ha-signing/config.d.ts +29 -79
  230. package/dest/ha-signing/config.d.ts.map +1 -1
  231. package/dest/ha-signing/config.js +18 -21
  232. package/dest/ha-signing/index.d.ts +2 -2
  233. package/dest/ha-signing/index.d.ts.map +1 -1
  234. package/dest/ha-signing/index.js +1 -1
  235. package/dest/ha-signing/local_config.d.ts +12 -35
  236. package/dest/ha-signing/local_config.d.ts.map +1 -1
  237. package/dest/ha-signing/local_config.js +9 -3
  238. package/dest/ha-signing/types.d.ts +37 -32
  239. package/dest/ha-signing/types.d.ts.map +1 -1
  240. package/dest/ha-signing/types.js +13 -6
  241. package/dest/hash/hash.d.ts +19 -2
  242. package/dest/hash/hash.d.ts.map +1 -1
  243. package/dest/hash/hash.js +39 -9
  244. package/dest/interfaces/allowed_element.d.ts +4 -28
  245. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  246. package/dest/interfaces/api_limit.d.ts +7 -2
  247. package/dest/interfaces/api_limit.d.ts.map +1 -1
  248. package/dest/interfaces/api_limit.js +4 -1
  249. package/dest/interfaces/archiver.d.ts +27 -32
  250. package/dest/interfaces/archiver.d.ts.map +1 -1
  251. package/dest/interfaces/archiver.js +216 -70
  252. package/dest/interfaces/aztec-node-admin.d.ts +76 -305
  253. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  254. package/dest/interfaces/aztec-node-admin.js +60 -17
  255. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  256. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  257. package/dest/interfaces/aztec-node-debug.js +49 -0
  258. package/dest/interfaces/aztec-node.d.ts +162 -117
  259. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  260. package/dest/interfaces/aztec-node.js +358 -80
  261. package/dest/interfaces/block-builder.d.ts +11 -2
  262. package/dest/interfaces/block-builder.d.ts.map +1 -1
  263. package/dest/interfaces/block_response.d.ts +90 -0
  264. package/dest/interfaces/block_response.d.ts.map +1 -0
  265. package/dest/interfaces/block_response.js +30 -0
  266. package/dest/interfaces/chain_tips.d.ts +11 -0
  267. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  268. package/dest/interfaces/chain_tips.js +6 -0
  269. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  270. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  271. package/dest/interfaces/checkpoint_parameter.js +18 -0
  272. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  273. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  274. package/dest/interfaces/checkpoint_response.js +26 -0
  275. package/dest/interfaces/client.d.ts +9 -2
  276. package/dest/interfaces/client.d.ts.map +1 -1
  277. package/dest/interfaces/client.js +7 -1
  278. package/dest/interfaces/configs.d.ts +78 -134
  279. package/dest/interfaces/configs.d.ts.map +1 -1
  280. package/dest/interfaces/configs.js +16 -2
  281. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  282. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  283. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  284. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  285. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  286. package/dest/interfaces/l1_publish_info.js +26 -0
  287. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  288. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  289. package/dest/interfaces/l2_logs_source.js +5 -0
  290. package/dest/interfaces/merkle_tree_operations.d.ts +4 -3
  291. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  292. package/dest/interfaces/p2p-bootstrap.js +8 -2
  293. package/dest/interfaces/p2p.d.ts +63 -7
  294. package/dest/interfaces/p2p.d.ts.map +1 -1
  295. package/dest/interfaces/p2p.js +49 -6
  296. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  297. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  298. package/dest/interfaces/prover-agent.d.ts +5 -23
  299. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  300. package/dest/interfaces/prover-agent.js +4 -1
  301. package/dest/interfaces/prover-client.d.ts +7 -29
  302. package/dest/interfaces/prover-client.d.ts.map +1 -1
  303. package/dest/interfaces/prover-client.js +0 -3
  304. package/dest/interfaces/prover-node.d.ts +12 -8
  305. package/dest/interfaces/prover-node.d.ts.map +1 -1
  306. package/dest/interfaces/prover-node.js +37 -16
  307. package/dest/interfaces/proving-job-source.js +24 -4
  308. package/dest/interfaces/proving-job.d.ts +757 -5795
  309. package/dest/interfaces/proving-job.d.ts.map +1 -1
  310. package/dest/interfaces/proving-job.js +14 -5
  311. package/dest/interfaces/public_storage_override.d.ts +22 -0
  312. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  313. package/dest/interfaces/public_storage_override.js +7 -0
  314. package/dest/interfaces/server.d.ts +6 -2
  315. package/dest/interfaces/server.d.ts.map +1 -1
  316. package/dest/interfaces/server.js +5 -1
  317. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  318. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  319. package/dest/interfaces/slasher.d.ts +25 -65
  320. package/dest/interfaces/slasher.d.ts.map +1 -1
  321. package/dest/interfaces/slasher.js +8 -4
  322. package/dest/interfaces/tx_provider.d.ts +10 -1
  323. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  324. package/dest/interfaces/validator.d.ts +63 -252
  325. package/dest/interfaces/validator.d.ts.map +1 -1
  326. package/dest/interfaces/validator.js +8 -2
  327. package/dest/interfaces/world_state.d.ts +15 -2
  328. package/dest/interfaces/world_state.d.ts.map +1 -1
  329. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  330. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  331. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  332. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  333. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  334. package/dest/kernel/hints/key_validation_request.js +20 -18
  335. package/dest/kernel/hints/read_request.js +1 -1
  336. package/dest/kernel/index.d.ts +6 -2
  337. package/dest/kernel/index.d.ts.map +1 -1
  338. package/dest/kernel/index.js +5 -1
  339. package/dest/kernel/log_hash.d.ts +6 -2
  340. package/dest/kernel/log_hash.d.ts.map +1 -1
  341. package/dest/kernel/log_hash.js +23 -11
  342. package/dest/kernel/note_hash.js +1 -1
  343. package/dest/kernel/nullifier.js +1 -1
  344. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  345. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  346. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  347. package/dest/kernel/private_context_inputs.d.ts +4 -3
  348. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  349. package/dest/kernel/private_context_inputs.js +7 -3
  350. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -2
  351. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  352. package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
  353. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  354. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  355. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  356. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  357. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  358. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  359. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  360. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  361. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  362. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  363. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  364. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  365. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  366. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  367. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  368. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  369. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  370. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  371. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  372. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  373. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  374. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  375. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  376. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  377. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  378. package/dest/kernel/private_log_data.d.ts +1 -1
  379. package/dest/kernel/private_log_data.d.ts.map +1 -1
  380. package/dest/kernel/private_log_data.js +1 -1
  381. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  382. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  383. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  384. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  385. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  386. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  387. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  388. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  389. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  390. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  391. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  392. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  393. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  394. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  395. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  396. package/dest/kernel/public_call_request.d.ts +15 -30
  397. package/dest/kernel/public_call_request.d.ts.map +1 -1
  398. package/dest/kernel/public_call_request.js +16 -7
  399. package/dest/keys/derivation.d.ts +45 -6
  400. package/dest/keys/derivation.d.ts.map +1 -1
  401. package/dest/keys/derivation.js +55 -22
  402. package/dest/keys/public_key.d.ts +22 -3
  403. package/dest/keys/public_key.d.ts.map +1 -1
  404. package/dest/keys/public_key.js +20 -1
  405. package/dest/keys/public_keys.d.ts +55 -82
  406. package/dest/keys/public_keys.d.ts.map +1 -1
  407. package/dest/keys/public_keys.js +102 -74
  408. package/dest/kv-store/config.d.ts +3 -6
  409. package/dest/kv-store/config.d.ts.map +1 -1
  410. package/dest/kv-store/config.js +2 -7
  411. package/dest/l1-contracts/index.d.ts +2 -2
  412. package/dest/l1-contracts/index.d.ts.map +1 -1
  413. package/dest/l1-contracts/index.js +1 -1
  414. package/dest/logs/app_tagging_secret.d.ts +69 -0
  415. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  416. package/dest/logs/app_tagging_secret.js +116 -0
  417. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  418. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  419. package/dest/logs/app_tagging_secret_kind.js +17 -0
  420. package/dest/logs/contract_class_log.d.ts +16 -35
  421. package/dest/logs/contract_class_log.d.ts.map +1 -1
  422. package/dest/logs/contract_class_log.js +11 -13
  423. package/dest/logs/index.d.ts +7 -9
  424. package/dest/logs/index.d.ts.map +1 -1
  425. package/dest/logs/index.js +6 -8
  426. package/dest/logs/log_cursor.d.ts +51 -0
  427. package/dest/logs/log_cursor.d.ts.map +1 -0
  428. package/dest/logs/log_cursor.js +82 -0
  429. package/dest/logs/log_result.d.ts +54 -0
  430. package/dest/logs/log_result.d.ts.map +1 -0
  431. package/dest/logs/log_result.js +56 -0
  432. package/dest/logs/logs_query.d.ts +82 -0
  433. package/dest/logs/logs_query.d.ts.map +1 -0
  434. package/dest/logs/logs_query.js +50 -0
  435. package/dest/logs/pre_tag.d.ts +11 -24
  436. package/dest/logs/pre_tag.d.ts.map +1 -1
  437. package/dest/logs/pre_tag.js +2 -2
  438. package/dest/logs/private_log.d.ts +7 -12
  439. package/dest/logs/private_log.d.ts.map +1 -1
  440. package/dest/logs/private_log.js +6 -3
  441. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  442. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  443. package/dest/logs/query_all_logs_by_tags.js +64 -0
  444. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  445. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  446. package/dest/logs/shared_secret_derivation.js +49 -10
  447. package/dest/logs/siloed_tag.d.ts +8 -7
  448. package/dest/logs/siloed_tag.d.ts.map +1 -1
  449. package/dest/logs/siloed_tag.js +13 -3
  450. package/dest/logs/tag.d.ts +5 -6
  451. package/dest/logs/tag.d.ts.map +1 -1
  452. package/dest/logs/tag.js +4 -0
  453. package/dest/logs/tagging_index_range.d.ts +13 -31
  454. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  455. package/dest/logs/tagging_index_range.js +2 -2
  456. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  457. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  458. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  459. package/dest/messaging/index.d.ts +2 -1
  460. package/dest/messaging/index.d.ts.map +1 -1
  461. package/dest/messaging/index.js +1 -0
  462. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  463. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  464. package/dest/messaging/l1_to_l2_message.js +38 -15
  465. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  466. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  467. package/dest/messaging/l2_to_l1_membership.js +72 -12
  468. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  469. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  470. package/dest/messaging/l2_to_l1_message.js +21 -12
  471. package/dest/noir/index.d.ts +5 -3
  472. package/dest/noir/index.d.ts.map +1 -1
  473. package/dest/note/note.d.ts +2 -2
  474. package/dest/note/note.d.ts.map +1 -1
  475. package/dest/note/note_dao.d.ts +1 -1
  476. package/dest/note/note_dao.d.ts.map +1 -1
  477. package/dest/note/note_dao.js +1 -4
  478. package/dest/p2p/attestation_utils.d.ts +1 -1
  479. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  480. package/dest/p2p/attestation_utils.js +8 -1
  481. package/dest/p2p/block_proposal.d.ts +31 -14
  482. package/dest/p2p/block_proposal.d.ts.map +1 -1
  483. package/dest/p2p/block_proposal.js +57 -39
  484. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  485. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  486. package/dest/p2p/checkpoint_attestation.js +33 -24
  487. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  488. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  489. package/dest/p2p/checkpoint_proposal.js +59 -51
  490. package/dest/p2p/consensus_payload.d.ts +27 -20
  491. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  492. package/dest/p2p/consensus_payload.js +38 -19
  493. package/dest/p2p/gossipable.d.ts +4 -4
  494. package/dest/p2p/gossipable.d.ts.map +1 -1
  495. package/dest/p2p/index.d.ts +2 -1
  496. package/dest/p2p/index.d.ts.map +1 -1
  497. package/dest/p2p/index.js +1 -0
  498. package/dest/p2p/signature_utils.d.ts +35 -17
  499. package/dest/p2p/signature_utils.d.ts.map +1 -1
  500. package/dest/p2p/signature_utils.js +125 -20
  501. package/dest/p2p/signed_txs.d.ts +15 -13
  502. package/dest/p2p/signed_txs.d.ts.map +1 -1
  503. package/dest/p2p/signed_txs.js +26 -24
  504. package/dest/p2p/validated_proposal.d.ts +35 -0
  505. package/dest/p2p/validated_proposal.d.ts.map +1 -0
  506. package/dest/p2p/validated_proposal.js +17 -0
  507. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  508. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  509. package/dest/parity/parity_base_private_inputs.js +7 -5
  510. package/dest/parity/parity_public_inputs.d.ts +8 -4
  511. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  512. package/dest/parity/parity_public_inputs.js +6 -3
  513. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  514. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  515. package/dest/proofs/chonk_proof.d.ts +57 -7
  516. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  517. package/dest/proofs/chonk_proof.js +112 -15
  518. package/dest/proofs/recursive_proof.d.ts +2 -2
  519. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  520. package/dest/rollup/avm_proof_data.d.ts +3 -3
  521. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  522. package/dest/rollup/block_headers_hash.d.ts +1 -1
  523. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  524. package/dest/rollup/block_headers_hash.js +8 -2
  525. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  526. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  527. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  528. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  529. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  530. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  531. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  532. package/dest/rollup/checkpoint_header.d.ts +8 -3
  533. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  534. package/dest/rollup/checkpoint_header.js +20 -10
  535. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  536. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  537. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  538. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  539. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  540. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  541. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  542. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  543. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  544. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  545. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  546. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  547. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  548. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  549. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  550. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  551. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  552. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  553. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  554. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  555. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  556. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  557. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  558. package/dest/schemas/schemas.d.ts +32 -78
  559. package/dest/schemas/schemas.d.ts.map +1 -1
  560. package/dest/schemas/schemas.js +2 -2
  561. package/dest/slashing/helpers.d.ts +2 -2
  562. package/dest/slashing/helpers.d.ts.map +1 -1
  563. package/dest/slashing/helpers.js +10 -7
  564. package/dest/slashing/index.d.ts +2 -3
  565. package/dest/slashing/index.d.ts.map +1 -1
  566. package/dest/slashing/index.js +1 -2
  567. package/dest/slashing/serialization.d.ts +2 -6
  568. package/dest/slashing/serialization.d.ts.map +1 -1
  569. package/dest/slashing/serialization.js +0 -60
  570. package/dest/slashing/types.d.ts +18 -112
  571. package/dest/slashing/types.d.ts.map +1 -1
  572. package/dest/slashing/types.js +16 -24
  573. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  574. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  575. package/dest/slashing/{tally.js → votes.js} +1 -1
  576. package/dest/snapshots/types.d.ts +15 -78
  577. package/dest/snapshots/types.d.ts.map +1 -1
  578. package/dest/stats/stats.d.ts +2 -2
  579. package/dest/stats/stats.d.ts.map +1 -1
  580. package/dest/tests/factories.d.ts +24 -29
  581. package/dest/tests/factories.d.ts.map +1 -1
  582. package/dest/tests/factories.js +81 -59
  583. package/dest/tests/mocks.d.ts +8 -5
  584. package/dest/tests/mocks.d.ts.map +1 -1
  585. package/dest/tests/mocks.js +45 -56
  586. package/dest/timetable/budgets.d.ts +57 -0
  587. package/dest/timetable/budgets.d.ts.map +1 -0
  588. package/dest/timetable/budgets.js +56 -0
  589. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  590. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  591. package/dest/timetable/build_proposer_timetable.js +17 -0
  592. package/dest/timetable/consensus_timetable.d.ts +70 -0
  593. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  594. package/dest/timetable/consensus_timetable.js +89 -0
  595. package/dest/timetable/index.d.ts +5 -37
  596. package/dest/timetable/index.d.ts.map +1 -1
  597. package/dest/timetable/index.js +4 -39
  598. package/dest/timetable/proposer_timetable.d.ts +106 -0
  599. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  600. package/dest/timetable/proposer_timetable.js +132 -0
  601. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  602. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  603. package/dest/trees/append_only_tree_snapshot.js +6 -3
  604. package/dest/trees/nullifier_leaf.d.ts +19 -42
  605. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  606. package/dest/trees/nullifier_leaf.js +3 -0
  607. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  608. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  609. package/dest/trees/nullifier_membership_witness.js +0 -21
  610. package/dest/trees/public_data_leaf.d.ts +21 -53
  611. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  612. package/dest/trees/public_data_witness.d.ts +19 -71
  613. package/dest/trees/public_data_witness.d.ts.map +1 -1
  614. package/dest/trees/public_data_witness.js +0 -27
  615. package/dest/tx/block_header.d.ts +5 -4
  616. package/dest/tx/block_header.d.ts.map +1 -1
  617. package/dest/tx/block_header.js +7 -4
  618. package/dest/tx/call_context.d.ts +4 -14
  619. package/dest/tx/call_context.d.ts.map +1 -1
  620. package/dest/tx/capsule.d.ts +7 -3
  621. package/dest/tx/capsule.d.ts.map +1 -1
  622. package/dest/tx/capsule.js +9 -3
  623. package/dest/tx/execution_payload.d.ts +1 -1
  624. package/dest/tx/execution_payload.d.ts.map +1 -1
  625. package/dest/tx/execution_payload.js +1 -1
  626. package/dest/tx/fee_provider.d.ts +10 -0
  627. package/dest/tx/fee_provider.d.ts.map +1 -0
  628. package/dest/tx/fee_provider.js +1 -0
  629. package/dest/tx/function_data.d.ts +4 -10
  630. package/dest/tx/function_data.d.ts.map +1 -1
  631. package/dest/tx/global_variable_builder.d.ts +4 -15
  632. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  633. package/dest/tx/global_variables.d.ts +16 -49
  634. package/dest/tx/global_variables.d.ts.map +1 -1
  635. package/dest/tx/global_variables.js +10 -14
  636. package/dest/tx/hashed_values.d.ts +10 -3
  637. package/dest/tx/hashed_values.d.ts.map +1 -1
  638. package/dest/tx/hashed_values.js +15 -4
  639. package/dest/tx/in_tx.d.ts +5 -17
  640. package/dest/tx/in_tx.d.ts.map +1 -1
  641. package/dest/tx/index.d.ts +2 -1
  642. package/dest/tx/index.d.ts.map +1 -1
  643. package/dest/tx/index.js +1 -0
  644. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  645. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  646. package/dest/tx/indexed_tx_effect.js +9 -6
  647. package/dest/tx/partial_state_reference.d.ts +22 -65
  648. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  649. package/dest/tx/partial_state_reference.js +6 -3
  650. package/dest/tx/private_execution_result.d.ts +6 -16
  651. package/dest/tx/private_execution_result.d.ts.map +1 -1
  652. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  653. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  654. package/dest/tx/private_tx_constant_data.js +13 -4
  655. package/dest/tx/profiling.d.ts +54 -352
  656. package/dest/tx/profiling.d.ts.map +1 -1
  657. package/dest/tx/profiling.js +4 -4
  658. package/dest/tx/protocol_contracts.d.ts +5 -9
  659. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  660. package/dest/tx/proven_tx.d.ts +30 -74
  661. package/dest/tx/proven_tx.d.ts.map +1 -1
  662. package/dest/tx/proven_tx.js +6 -0
  663. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  664. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  665. package/dest/tx/public_call_request_with_calldata.js +6 -3
  666. package/dest/tx/simulated_tx.d.ts +73 -1256
  667. package/dest/tx/simulated_tx.d.ts.map +1 -1
  668. package/dest/tx/simulated_tx.js +19 -12
  669. package/dest/tx/state_reference.d.ts +30 -117
  670. package/dest/tx/state_reference.d.ts.map +1 -1
  671. package/dest/tx/state_reference.js +6 -4
  672. package/dest/tx/tree_snapshots.d.ts +27 -84
  673. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  674. package/dest/tx/tree_snapshots.js +6 -4
  675. package/dest/tx/tx.d.ts +29 -13
  676. package/dest/tx/tx.d.ts.map +1 -1
  677. package/dest/tx/tx.js +53 -25
  678. package/dest/tx/tx_constant_data.d.ts +4 -3
  679. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  680. package/dest/tx/tx_constant_data.js +6 -3
  681. package/dest/tx/tx_context.d.ts +32 -131
  682. package/dest/tx/tx_context.d.ts.map +1 -1
  683. package/dest/tx/tx_context.js +6 -6
  684. package/dest/tx/tx_hash.d.ts +6 -4
  685. package/dest/tx/tx_hash.d.ts.map +1 -1
  686. package/dest/tx/tx_hash.js +13 -5
  687. package/dest/tx/tx_receipt.d.ts +144 -63
  688. package/dest/tx/tx_receipt.d.ts.map +1 -1
  689. package/dest/tx/tx_receipt.js +143 -60
  690. package/dest/tx/validator/error_texts.d.ts +2 -2
  691. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  692. package/dest/tx/validator/error_texts.js +1 -1
  693. package/dest/tx/validator/tx_validator.d.ts +5 -27
  694. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  695. package/dest/tx/validator/tx_validator.js +0 -4
  696. package/dest/types/shared.d.ts +4 -12
  697. package/dest/types/shared.d.ts.map +1 -1
  698. package/dest/types/shared.js +6 -12
  699. package/dest/update-checker/dev_version.d.ts +3 -0
  700. package/dest/update-checker/dev_version.d.ts.map +1 -0
  701. package/dest/update-checker/dev_version.js +1 -0
  702. package/dest/update-checker/index.d.ts +2 -1
  703. package/dest/update-checker/index.d.ts.map +1 -1
  704. package/dest/update-checker/index.js +1 -0
  705. package/dest/update-checker/package_version.d.ts +6 -3
  706. package/dest/update-checker/package_version.d.ts.map +1 -1
  707. package/dest/update-checker/package_version.js +8 -19
  708. package/dest/validators/errors.d.ts +16 -1
  709. package/dest/validators/errors.d.ts.map +1 -1
  710. package/dest/validators/errors.js +12 -0
  711. package/dest/validators/schemas.d.ts +147 -614
  712. package/dest/validators/schemas.d.ts.map +1 -1
  713. package/dest/validators/schemas.js +6 -4
  714. package/dest/validators/types.d.ts +20 -3
  715. package/dest/validators/types.d.ts.map +1 -1
  716. package/dest/versioning/versioning.js +1 -1
  717. package/dest/vks/verification_key.d.ts +4 -139
  718. package/dest/vks/verification_key.d.ts.map +1 -1
  719. package/dest/vks/verification_key.js +5 -126
  720. package/dest/world-state/genesis_data.d.ts +21 -0
  721. package/dest/world-state/genesis_data.d.ts.map +1 -0
  722. package/dest/world-state/genesis_data.js +8 -0
  723. package/dest/world-state/index.d.ts +2 -1
  724. package/dest/world-state/index.d.ts.map +1 -1
  725. package/dest/world-state/index.js +1 -0
  726. package/dest/world-state/world_state_revision.d.ts +15 -26
  727. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  728. package/dest/world-state/world_state_revision.js +7 -1
  729. package/package.json +12 -11
  730. package/src/abi/abi.ts +61 -19
  731. package/src/abi/authorization_selector.ts +2 -8
  732. package/src/abi/buffer.ts +13 -1
  733. package/src/abi/contract_artifact.ts +63 -15
  734. package/src/abi/decoder.ts +23 -78
  735. package/src/abi/encoder.ts +42 -6
  736. package/src/abi/event_selector.ts +2 -8
  737. package/src/abi/function_selector.ts +4 -13
  738. package/src/abi/function_signature_decoder.ts +77 -0
  739. package/src/abi/index.ts +1 -0
  740. package/src/abi/note_selector.ts +3 -12
  741. package/src/abi/selector.ts +1 -1
  742. package/src/abi/utils.ts +6 -4
  743. package/src/avm/avm.ts +6 -1
  744. package/src/avm/message_pack.ts +12 -3
  745. package/src/avm/revert_code.ts +19 -39
  746. package/src/aztec-address/index.ts +50 -17
  747. package/src/block/attestation_info.ts +16 -11
  748. package/src/block/block_data.ts +3 -4
  749. package/src/block/block_hash.ts +21 -14
  750. package/src/block/block_parameter.ts +72 -4
  751. package/src/block/index.ts +0 -1
  752. package/src/block/l2_block_info.ts +8 -6
  753. package/src/block/l2_block_source.ts +272 -144
  754. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +77 -0
  755. package/src/block/l2_block_stream/index.ts +1 -0
  756. package/src/block/l2_block_stream/interfaces.ts +101 -9
  757. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  758. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  759. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  760. package/src/block/proposal/attestations_and_signers.ts +85 -24
  761. package/src/block/test/l2_tips_store_test_suite.ts +276 -22
  762. package/src/block/validate_block_result.ts +48 -2
  763. package/src/checkpoint/checkpoint.ts +13 -3
  764. package/src/checkpoint/checkpoint_data.ts +44 -4
  765. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  766. package/src/checkpoint/digest.ts +28 -0
  767. package/src/checkpoint/index.ts +4 -0
  768. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  769. package/src/checkpoint/simulation_overrides.ts +171 -0
  770. package/src/checkpoint/validate.ts +38 -6
  771. package/src/config/chain-config.ts +13 -16
  772. package/src/config/index.ts +1 -1
  773. package/src/config/network-consensus-config.ts +299 -0
  774. package/src/config/node-rpc-config.ts +83 -1
  775. package/src/config/sequencer-config.ts +68 -9
  776. package/src/contract/complete_address.ts +7 -3
  777. package/src/contract/contract_address.ts +10 -9
  778. package/src/contract/contract_instance.ts +73 -3
  779. package/src/contract/interfaces/contract_data_source.ts +2 -4
  780. package/src/contract/interfaces/contract_instance.ts +32 -10
  781. package/src/contract/interfaces/node-info.ts +11 -0
  782. package/src/contract/partial_address.ts +8 -2
  783. package/src/contract/private_function.ts +3 -1
  784. package/src/database-version/version_manager.ts +113 -6
  785. package/src/deserialization/index.ts +35 -2
  786. package/src/epoch-helpers/index.ts +13 -0
  787. package/src/file-store/factory.ts +20 -4
  788. package/src/file-store/http.ts +29 -10
  789. package/src/file-store/index.ts +2 -0
  790. package/src/file-store/memory.ts +94 -0
  791. package/src/gas/README.md +230 -35
  792. package/src/gas/fee_math.ts +120 -0
  793. package/src/gas/gas.ts +8 -3
  794. package/src/gas/gas_fees.ts +26 -13
  795. package/src/gas/gas_settings.ts +63 -15
  796. package/src/gas/index.ts +2 -0
  797. package/src/gas/tx_gas_limits.ts +123 -0
  798. package/src/ha-signing/config.ts +37 -23
  799. package/src/ha-signing/index.ts +3 -1
  800. package/src/ha-signing/local_config.ts +21 -2
  801. package/src/ha-signing/types.ts +48 -34
  802. package/src/hash/hash.ts +34 -10
  803. package/src/interfaces/api_limit.ts +6 -1
  804. package/src/interfaces/archiver.ts +96 -93
  805. package/src/interfaces/aztec-node-admin.ts +36 -21
  806. package/src/interfaces/aztec-node-debug.ts +92 -0
  807. package/src/interfaces/aztec-node.ts +411 -274
  808. package/src/interfaces/block-builder.ts +10 -1
  809. package/src/interfaces/block_response.ts +92 -0
  810. package/src/interfaces/chain_tips.ts +16 -0
  811. package/src/interfaces/checkpoint_parameter.ts +20 -0
  812. package/src/interfaces/checkpoint_response.ts +84 -0
  813. package/src/interfaces/client.ts +8 -1
  814. package/src/interfaces/configs.ts +79 -7
  815. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  816. package/src/interfaces/l1_publish_info.ts +40 -0
  817. package/src/interfaces/l2_logs_source.ts +13 -42
  818. package/src/interfaces/merkle_tree_operations.ts +3 -2
  819. package/src/interfaces/p2p-bootstrap.ts +2 -2
  820. package/src/interfaces/p2p.ts +80 -19
  821. package/src/interfaces/private_kernel_prover.ts +98 -12
  822. package/src/interfaces/prover-agent.ts +1 -1
  823. package/src/interfaces/prover-client.ts +3 -8
  824. package/src/interfaces/prover-node.ts +36 -21
  825. package/src/interfaces/proving-job-source.ts +4 -4
  826. package/src/interfaces/proving-job.ts +18 -6
  827. package/src/interfaces/public_storage_override.ts +26 -0
  828. package/src/interfaces/server.ts +5 -1
  829. package/src/interfaces/server_circuit_prover.ts +2 -2
  830. package/src/interfaces/slasher.ts +17 -10
  831. package/src/interfaces/tx_provider.ts +10 -0
  832. package/src/interfaces/validator.ts +51 -19
  833. package/src/interfaces/world_state.ts +15 -1
  834. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  835. package/src/kernel/hints/key_validation_request.ts +18 -16
  836. package/src/kernel/hints/read_request.ts +1 -1
  837. package/src/kernel/index.ts +5 -1
  838. package/src/kernel/log_hash.ts +36 -13
  839. package/src/kernel/note_hash.ts +1 -1
  840. package/src/kernel/nullifier.ts +1 -1
  841. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  842. package/src/kernel/private_context_inputs.ts +10 -3
  843. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
  844. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  845. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  846. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  847. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  848. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  849. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  850. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  851. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  852. package/src/kernel/private_log_data.ts +4 -1
  853. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  854. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  855. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  856. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  857. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  858. package/src/kernel/public_call_request.ts +22 -7
  859. package/src/keys/derivation.ts +79 -22
  860. package/src/keys/public_key.ts +26 -2
  861. package/src/keys/public_keys.ts +124 -110
  862. package/src/kv-store/config.ts +3 -10
  863. package/src/l1-contracts/index.ts +1 -1
  864. package/src/logs/app_tagging_secret.ts +160 -0
  865. package/src/logs/app_tagging_secret_kind.ts +21 -0
  866. package/src/logs/contract_class_log.ts +15 -14
  867. package/src/logs/index.ts +6 -8
  868. package/src/logs/log_cursor.ts +110 -0
  869. package/src/logs/log_result.ts +104 -0
  870. package/src/logs/logs_query.ts +138 -0
  871. package/src/logs/pre_tag.ts +3 -6
  872. package/src/logs/private_log.ts +9 -3
  873. package/src/logs/query_all_logs_by_tags.ts +98 -0
  874. package/src/logs/shared_secret_derivation.ts +55 -11
  875. package/src/logs/siloed_tag.ts +20 -11
  876. package/src/logs/tag.ts +8 -8
  877. package/src/logs/tagging_index_range.ts +4 -10
  878. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  879. package/src/messaging/index.ts +1 -0
  880. package/src/messaging/l1_to_l2_message.ts +56 -15
  881. package/src/messaging/l2_to_l1_membership.ts +108 -19
  882. package/src/messaging/l2_to_l1_message.ts +29 -9
  883. package/src/noir/index.ts +4 -1
  884. package/src/note/note_dao.ts +1 -4
  885. package/src/p2p/attestation_utils.ts +8 -1
  886. package/src/p2p/block_proposal.ts +111 -36
  887. package/src/p2p/checkpoint_attestation.ts +38 -30
  888. package/src/p2p/checkpoint_proposal.ts +128 -73
  889. package/src/p2p/consensus_payload.ts +59 -28
  890. package/src/p2p/gossipable.ts +4 -4
  891. package/src/p2p/index.ts +1 -0
  892. package/src/p2p/signature_utils.ts +117 -23
  893. package/src/p2p/signed_txs.ts +46 -28
  894. package/src/p2p/validated_proposal.ts +43 -0
  895. package/src/parity/parity_base_private_inputs.ts +10 -4
  896. package/src/parity/parity_public_inputs.ts +9 -2
  897. package/src/proofs/chonk_proof.ts +132 -12
  898. package/src/rollup/avm_proof_data.ts +2 -2
  899. package/src/rollup/block_headers_hash.ts +11 -2
  900. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  901. package/src/rollup/checkpoint_header.ts +16 -2
  902. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  903. package/src/schemas/schemas.ts +6 -1
  904. package/src/slashing/helpers.ts +13 -9
  905. package/src/slashing/index.ts +1 -2
  906. package/src/slashing/serialization.ts +1 -81
  907. package/src/slashing/types.ts +24 -49
  908. package/src/slashing/{tally.ts → votes.ts} +1 -1
  909. package/src/stats/stats.ts +6 -2
  910. package/src/tests/factories.ts +111 -86
  911. package/src/tests/mocks.ts +72 -71
  912. package/src/timetable/README.md +609 -0
  913. package/src/timetable/budgets.ts +87 -0
  914. package/src/timetable/build_proposer_timetable.ts +42 -0
  915. package/src/timetable/consensus_timetable.ts +126 -0
  916. package/src/timetable/index.ts +4 -66
  917. package/src/timetable/proposer_timetable.ts +190 -0
  918. package/src/timetable/timetable-example.svg +108 -0
  919. package/src/trees/append_only_tree_snapshot.ts +8 -3
  920. package/src/trees/nullifier_leaf.ts +4 -0
  921. package/src/trees/nullifier_membership_witness.ts +0 -21
  922. package/src/trees/public_data_witness.ts +0 -31
  923. package/src/tx/block_header.ts +10 -5
  924. package/src/tx/capsule.ts +10 -2
  925. package/src/tx/execution_payload.ts +2 -1
  926. package/src/tx/fee_provider.ts +10 -0
  927. package/src/tx/global_variable_builder.ts +3 -20
  928. package/src/tx/global_variables.ts +12 -20
  929. package/src/tx/hashed_values.ts +19 -9
  930. package/src/tx/index.ts +1 -0
  931. package/src/tx/indexed_tx_effect.ts +18 -6
  932. package/src/tx/partial_state_reference.ts +8 -3
  933. package/src/tx/private_tx_constant_data.ts +25 -2
  934. package/src/tx/profiling.ts +4 -4
  935. package/src/tx/proven_tx.ts +6 -0
  936. package/src/tx/public_call_request_with_calldata.ts +8 -3
  937. package/src/tx/simulated_tx.ts +31 -19
  938. package/src/tx/state_reference.ts +9 -4
  939. package/src/tx/tree_snapshots.ts +9 -4
  940. package/src/tx/tx.ts +79 -27
  941. package/src/tx/tx_constant_data.ts +8 -3
  942. package/src/tx/tx_context.ts +8 -3
  943. package/src/tx/tx_hash.ts +20 -5
  944. package/src/tx/tx_receipt.ts +265 -85
  945. package/src/tx/validator/error_texts.ts +2 -1
  946. package/src/tx/validator/tx_validator.ts +1 -5
  947. package/src/types/shared.ts +8 -13
  948. package/src/update-checker/dev_version.ts +2 -0
  949. package/src/update-checker/index.ts +1 -0
  950. package/src/update-checker/package_version.ts +10 -23
  951. package/src/validators/errors.ts +17 -0
  952. package/src/validators/schemas.ts +6 -4
  953. package/src/validators/types.ts +21 -2
  954. package/src/versioning/versioning.ts +1 -1
  955. package/src/vks/verification_key.ts +5 -184
  956. package/src/world-state/genesis_data.ts +37 -0
  957. package/src/world-state/index.ts +1 -0
  958. package/src/world-state/world_state_revision.ts +9 -1
  959. package/dest/abi/mocked_keys.d.ts +0 -2
  960. package/dest/abi/mocked_keys.d.ts.map +0 -1
  961. package/dest/abi/mocked_keys.js +0 -1
  962. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  963. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  964. package/dest/block/checkpointed_l2_block.js +0 -46
  965. package/dest/config/pipelining-config.d.ts +0 -19
  966. package/dest/config/pipelining-config.d.ts.map +0 -1
  967. package/dest/config/pipelining-config.js +0 -18
  968. package/dest/interfaces/epoch-prover.d.ts +0 -57
  969. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  970. package/dest/interfaces/epoch-prover.js +0 -1
  971. package/dest/interfaces/get_logs_response.d.ts +0 -97
  972. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  973. package/dest/interfaces/get_logs_response.js +0 -12
  974. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  975. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  976. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  977. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  978. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  979. package/dest/l1-contracts/slash_factory.js +0 -158
  980. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  981. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  982. package/dest/logs/extended_contract_class_log.js +0 -67
  983. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  984. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  985. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  986. package/dest/logs/extended_public_log.d.ts +0 -106
  987. package/dest/logs/extended_public_log.d.ts.map +0 -1
  988. package/dest/logs/extended_public_log.js +0 -73
  989. package/dest/logs/log_filter.d.ts +0 -25
  990. package/dest/logs/log_filter.d.ts.map +0 -1
  991. package/dest/logs/log_filter.js +0 -12
  992. package/dest/logs/log_id.d.ts +0 -85
  993. package/dest/logs/log_id.d.ts.map +0 -1
  994. package/dest/logs/log_id.js +0 -94
  995. package/dest/logs/message_context.d.ts +0 -29
  996. package/dest/logs/message_context.d.ts.map +0 -1
  997. package/dest/logs/message_context.js +0 -56
  998. package/dest/logs/pending_tagged_log.d.ts +0 -14
  999. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  1000. package/dest/logs/pending_tagged_log.js +0 -34
  1001. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  1002. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1003. package/dest/logs/tx_scoped_l2_log.js +0 -77
  1004. package/dest/slashing/empire.d.ts +0 -31
  1005. package/dest/slashing/empire.d.ts.map +0 -1
  1006. package/dest/slashing/empire.js +0 -87
  1007. package/src/abi/mocked_keys.ts +0 -2
  1008. package/src/block/checkpointed_l2_block.ts +0 -70
  1009. package/src/config/pipelining-config.ts +0 -31
  1010. package/src/interfaces/epoch-prover.ts +0 -72
  1011. package/src/interfaces/get_logs_response.ts +0 -35
  1012. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1013. package/src/l1-contracts/slash_factory.ts +0 -180
  1014. package/src/logs/extended_contract_class_log.ts +0 -87
  1015. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1016. package/src/logs/extended_public_log.ts +0 -94
  1017. package/src/logs/log_filter.ts +0 -36
  1018. package/src/logs/log_id.ts +0 -125
  1019. package/src/logs/message_context.ts +0 -62
  1020. package/src/logs/pending_tagged_log.ts +0 -41
  1021. package/src/logs/tx_scoped_l2_log.ts +0 -114
  1022. package/src/slashing/empire.ts +0 -104
@@ -1,4 +1,4 @@
1
- import type { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
+ import type { CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
2
  import type { SecretValue } from '@aztec/foundation/config';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
@@ -9,9 +9,10 @@ import type {
9
9
  BlockProposal,
10
10
  BlockProposalOptions,
11
11
  CheckpointAttestation,
12
- CheckpointLastBlockData,
13
12
  CheckpointProposal,
14
13
  CheckpointProposalOptions,
14
+ ValidatedBlockProposal,
15
+ ValidatedCheckpointProposalCore,
15
16
  } from '@aztec/stdlib/p2p';
16
17
  import type { CheckpointHeader } from '@aztec/stdlib/rollup';
17
18
  import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
@@ -20,6 +21,7 @@ import type { PeerId } from '@libp2p/interface';
20
21
  import { z } from 'zod';
21
22
 
22
23
  import type { CommitteeAttestationsAndSigners } from '../block/index.js';
24
+ import type { ChainConfig } from '../config/chain-config.js';
23
25
  import {
24
26
  type LocalSignerConfig,
25
27
  LocalSignerConfigSchema,
@@ -33,6 +35,9 @@ import { AllowedElementSchema } from './allowed_element.js';
33
35
  */
34
36
  export type ValidatorClientConfig = ValidatorHASignerConfig &
35
37
  LocalSignerConfig & {
38
+ /** The L1 chain id used for EIP-712 proposal-path signing. */
39
+ l1ChainId: ChainConfig['l1ChainId'];
40
+
36
41
  /** The private keys of the validators participating in attestation duties */
37
42
  validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
38
43
 
@@ -48,10 +53,7 @@ export type ValidatorClientConfig = ValidatorHASignerConfig &
48
53
  /** Interval between polling for new attestations from peers */
49
54
  attestationPollingIntervalMs: number;
50
55
 
51
- /** Whether to re-execute transactions in a block proposal before attesting */
52
- validatorReexecute: boolean;
53
-
54
- /** Whether to always reexecute block proposals, even for non-validator nodes or when out of the currnet committee */
56
+ /** Whether to always reexecute block proposals, even for non-validator nodes or when out of the current committee */
55
57
  alwaysReexecuteBlockProposals?: boolean;
56
58
 
57
59
  /** Whether to run in fisherman mode: validates all proposals and attestations but does not broadcast attestations or participate in consensus */
@@ -66,6 +68,9 @@ export type ValidatorClientConfig = ValidatorHASignerConfig &
66
68
  /** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
67
69
  attestToEquivocatedProposals?: boolean;
68
70
 
71
+ /** Accept proposal validation regardless of slot timing (for testing only) */
72
+ skipProposalSlotValidation?: boolean;
73
+
69
74
  /** Maximum L2 gas per block for validation. Proposals exceeding this limit are rejected. */
70
75
  validateMaxL2BlockGas?: number;
71
76
 
@@ -80,30 +85,44 @@ export type ValidatorClientConfig = ValidatorHASignerConfig &
80
85
  };
81
86
 
82
87
  export type ValidatorClientFullConfig = ValidatorClientConfig &
83
- Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal'> &
88
+ Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal' | 'maxBlocksPerCheckpoint'> &
89
+ // `blockDurationMs` is optional on the loose `SequencerConfig` but is always populated via the shared
90
+ // `numberConfigHelper(3000)` mapping, so it is required on the fully-resolved validator config.
91
+ Required<Pick<SequencerConfig, 'blockDurationMs'>> &
84
92
  Pick<
85
93
  SlasherConfig,
86
- 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'
94
+ | 'slashBroadcastedInvalidBlockPenalty'
95
+ | 'slashBroadcastedInvalidCheckpointProposalPenalty'
96
+ | 'slashDuplicateProposalPenalty'
97
+ | 'slashDuplicateAttestationPenalty'
98
+ | 'slashAttestInvalidCheckpointProposalPenalty'
87
99
  > & {
88
100
  /**
89
101
  * Whether transactions are disabled for this node
90
102
  * @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
91
103
  */
92
104
  disableTransactions?: boolean;
105
+
106
+ /**
107
+ * Maximum clock-disparity tolerance (ms) applied to proposal/attestation receive windows.
108
+ * @remarks Mirrors the property in P2PConfig. It's not picked from there to avoid circular dependencies.
109
+ */
110
+ maxGossipClockDisparityMs?: number;
93
111
  };
94
112
 
95
113
  export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>()(
96
114
  ValidatorHASignerConfigSchema.merge(LocalSignerConfigSchema).extend({
115
+ l1ChainId: z.number().int().nonnegative(),
97
116
  validatorAddresses: z.array(schemas.EthAddress).optional(),
98
117
  disableValidator: z.boolean(),
99
118
  disabledValidators: z.array(schemas.EthAddress),
100
119
  attestationPollingIntervalMs: z.number().min(0),
101
- validatorReexecute: z.boolean(),
102
120
  alwaysReexecuteBlockProposals: z.boolean().optional(),
103
121
  fishermanMode: z.boolean().optional(),
104
122
  skipCheckpointProposalValidation: z.boolean().optional(),
105
123
  skipPushProposedBlocksToArchiver: z.boolean().optional(),
106
124
  attestToEquivocatedProposals: z.boolean().optional(),
125
+ skipProposalSlotValidation: z.boolean().optional(),
107
126
  validateMaxL2BlockGas: z.number().optional(),
108
127
  validateMaxDABlockGas: z.number().optional(),
109
128
  validateMaxTxsPerBlock: z.number().optional(),
@@ -115,15 +134,18 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
115
134
  ValidatorClientConfigSchema.extend({
116
135
  txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
117
136
  broadcastInvalidBlockProposal: z.boolean().optional(),
137
+ blockDurationMs: z.number().positive(),
138
+ maxBlocksPerCheckpoint: z.number().positive().optional(),
118
139
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
140
+ slashBroadcastedInvalidCheckpointProposalPenalty: schemas.BigInt,
119
141
  slashDuplicateProposalPenalty: schemas.BigInt,
120
142
  slashDuplicateAttestationPenalty: schemas.BigInt,
143
+ slashAttestInvalidCheckpointProposalPenalty: schemas.BigInt,
121
144
  disableTransactions: z.boolean().optional(),
145
+ maxGossipClockDisparityMs: z.number().optional(),
122
146
  }),
123
147
  );
124
148
 
125
- export type CreateCheckpointProposalLastBlockData = Omit<CheckpointLastBlockData, 'txHashes'> & { txs: Tx[] };
126
-
127
149
  export interface Validator {
128
150
  start(): Promise<void>;
129
151
  updateConfig(config: Partial<ValidatorClientFullConfig>): void;
@@ -131,6 +153,7 @@ export interface Validator {
131
153
  // Block validation responsibilities
132
154
  createBlockProposal(
133
155
  blockHeader: BlockHeader,
156
+ checkpointNumber: CheckpointNumber,
134
157
  indexWithinCheckpoint: number,
135
158
  inHash: Fr,
136
159
  archive: Fr,
@@ -143,40 +166,49 @@ export interface Validator {
143
166
  createCheckpointProposal(
144
167
  checkpointHeader: CheckpointHeader,
145
168
  archive: Fr,
169
+ checkpointNumber: CheckpointNumber,
146
170
  feeAssetPriceModifier: bigint,
147
- lastBlockInfo: CreateCheckpointProposalLastBlockData | undefined,
171
+ lastBlockProposal: BlockProposal | undefined,
148
172
  proposerAddress: EthAddress | undefined,
149
173
  options: CheckpointProposalOptions,
150
174
  ): Promise<CheckpointProposal>;
151
175
 
152
176
  /**
153
- * Validate a block proposal from a peer.
177
+ * Validate a block proposal from a peer that has already passed p2p ingress validation.
154
178
  * Note: Validators do NOT attest to individual blocks - attestations are only for checkpoint proposals.
155
179
  * @returns true if the proposal is valid, false otherwise
156
180
  */
157
- validateBlockProposal(proposal: BlockProposal, sender: PeerId): Promise<boolean>;
181
+ validateBlockProposal(proposal: ValidatedBlockProposal, sender: PeerId): Promise<boolean>;
158
182
 
159
183
  /**
160
- * Validate and attest to a checkpoint proposal from a peer.
184
+ * Validate and attest to a checkpoint proposal from a peer that has already passed p2p ingress validation.
161
185
  * @returns Checkpoint attestations if valid, undefined otherwise
162
186
  */
163
187
  attestToCheckpointProposal(
164
- proposal: CheckpointProposal,
188
+ proposal: ValidatedCheckpointProposalCore,
165
189
  sender: PeerId,
166
190
  ): Promise<CheckpointAttestation[] | undefined>;
167
191
 
168
192
  broadcastBlockProposal(proposal: BlockProposal): Promise<void>;
169
193
 
170
194
  /** Collect own attestations for a checkpoint proposal (used when skipping p2p attestation collection) */
171
- collectOwnAttestations(proposal: CheckpointProposal): Promise<CheckpointAttestation[]>;
195
+ collectOwnAttestations(
196
+ proposal: CheckpointProposal,
197
+ checkpointNumber: CheckpointNumber,
198
+ ): Promise<CheckpointAttestation[]>;
172
199
 
173
200
  /** Collect attestations from the p2p network for a checkpoint proposal */
174
- collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date): Promise<CheckpointAttestation[]>;
201
+ collectAttestations(
202
+ proposal: CheckpointProposal,
203
+ required: number,
204
+ deadline: Date,
205
+ checkpointNumber: CheckpointNumber,
206
+ ): Promise<CheckpointAttestation[]>;
175
207
 
176
208
  signAttestationsAndSigners(
177
209
  attestationsAndSigners: CommitteeAttestationsAndSigners,
178
210
  proposer: EthAddress,
179
211
  slot: SlotNumber,
180
- blockNumber: BlockNumber | CheckpointNumber,
212
+ checkpointNumber: CheckpointNumber,
181
213
  ): Promise<Signature>;
182
214
  }
@@ -65,6 +65,20 @@ export interface ReadonlyWorldStateAccess {
65
65
 
66
66
  /** Defines the interface for a world state synchronizer. */
67
67
  export interface WorldStateSynchronizer extends ReadonlyWorldStateAccess, ForkMerkleTreeOperations {
68
+ /**
69
+ * Returns a read handle to the world state at `blockNumber`, but only after verifying that the block at that
70
+ * height is on the fork identified by `blockHash`. This pins the returned view to a specific fork so a reorg
71
+ * that replaced the block at `blockNumber` cannot be served silently, closing the gap between resolving a query
72
+ * and reading its snapshot.
73
+ *
74
+ * Rejects if the block at `blockNumber` does not match `blockHash` (a reorg), or if the block's hash cannot be
75
+ * read from the requested view. Both are transient from a caller's perspective: re-resolving the query against
76
+ * the current chain and retrying may succeed or produce a more precise error. However, if the block's history
77
+ * has been pruned away (it predates the oldest historical block kept by world state), the rejection is terminal:
78
+ * retrying cannot bring the data back.
79
+ */
80
+ getVerifiedSnapshot(blockNumber: BlockNumber, blockHash: BlockHash): Promise<MerkleTreeReadOperations>;
81
+
68
82
  /** Starts the synchronizer. */
69
83
  start(): Promise<void | PromiseWithResolvers<void>>;
70
84
 
@@ -92,7 +106,7 @@ export interface WorldStateSynchronizer extends ReadonlyWorldStateAccess, ForkMe
92
106
  clear(): Promise<void>;
93
107
  }
94
108
 
95
- export const WorldStateSyncStatusSchema: z.ZodType<WorldStateSyncStatus, z.ZodTypeDef, any> = z.object({
109
+ export const WorldStateSyncStatusSchema: z.ZodType<WorldStateSyncStatus, any> = z.object({
96
110
  finalizedBlockNumber: BlockNumberSchema,
97
111
  latestBlockNumber: BlockNumberSchema,
98
112
  latestBlockHash: z.string(),
@@ -1,8 +1,7 @@
1
- import { isDefined } from '@aztec/foundation/types';
2
-
3
1
  import {
4
2
  PrivateKernelResetDimensions,
5
3
  type PrivateKernelResetDimensionsConfig,
4
+ type ResetCatalogEntry,
6
5
  privateKernelResetDimensionNames,
7
6
  } from '../private_kernel_reset_dimensions.js';
8
7
 
@@ -12,13 +11,6 @@ interface DimensionOption {
12
11
  remainder?: PrivateKernelResetDimensions;
13
12
  }
14
13
 
15
- function computeCost(dimensions: PrivateKernelResetDimensions, config: PrivateKernelResetDimensionsConfig) {
16
- return privateKernelResetDimensionNames.reduce(
17
- (accum, name) => accum + dimensions[name] * config.dimensions[name].cost,
18
- 0,
19
- );
20
- }
21
-
22
14
  function getSize(dimensions: PrivateKernelResetDimensions) {
23
15
  return privateKernelResetDimensionNames.reduce((accum, name) => accum + dimensions[name], 0);
24
16
  }
@@ -38,124 +30,42 @@ function getRemainder(
38
30
  return remainingDimensions ? remainder : undefined;
39
31
  }
40
32
 
41
- function pickFromValues(targetValue: number, values: number[]) {
42
- // Find the min value in `values` that's greater than or equal to `targetValue`.
43
- const minGte = values.reduce(
44
- (prev: number | undefined, curr) => (curr >= targetValue && (prev === undefined || curr < prev) ? curr : prev),
45
- undefined,
46
- );
47
-
48
- // If no such value is found, returns the max value.
49
- return minGte ?? Math.max(...values);
50
- }
51
-
52
- function pickCheapest(options: DimensionOption[]) {
53
- return options.reduce((prev, curr) => (curr.cost < prev.cost ? curr : prev), options[0]);
54
- }
55
-
56
- function pickSmallestRemainder(options: DimensionOption[]) {
57
- const optionsWithSize = options
58
- .filter(o => o.remainder)
59
- .map(option => ({ option, size: getSize(option.remainder!) }));
60
- return optionsWithSize.reduce((prev, curr) => (curr.size < prev.size ? curr : prev), optionsWithSize[0])?.option;
61
- }
62
-
63
- function pickBestOption(options: DimensionOption[]) {
64
- const optionsResetAll = options.filter(opt => !opt.remainder);
65
- const optionsResetPartial = options.filter(opt => opt.remainder);
66
- // The best option is the cheapest one that can reset all dimensions.
67
- // If no such option exists, find one that can reset the most data.
68
- return pickCheapest(optionsResetAll) || pickSmallestRemainder(optionsResetPartial);
69
- }
70
-
71
- function findVariant(
72
- requestedDimensions: PrivateKernelResetDimensions,
73
- config: PrivateKernelResetDimensionsConfig,
74
- isQualified: (dimensions: PrivateKernelResetDimensions) => boolean,
75
- ): DimensionOption | undefined {
76
- const variant = PrivateKernelResetDimensions.empty();
77
- privateKernelResetDimensionNames.forEach(name => {
78
- variant[name] = pickFromValues(requestedDimensions[name], config.dimensions[name].variants);
79
- });
80
- if (!isQualified(variant)) {
81
- return;
33
+ // Returns the cheapest option that fully covers the request, or the option with the smallest
34
+ // remainder if none do. Caller must pass a non-empty list.
35
+ function pickBestOption(options: DimensionOption[]): DimensionOption {
36
+ const fullCoverage = options.filter(opt => !opt.remainder);
37
+ if (fullCoverage.length) {
38
+ return fullCoverage.reduce((prev, curr) => (curr.cost < prev.cost ? curr : prev));
82
39
  }
83
-
84
- return {
85
- dimensions: variant,
86
- cost: computeCost(variant, config),
87
- remainder: getRemainder(requestedDimensions, variant),
88
- };
40
+ return options.reduce((prev, curr) => (getSize(curr.remainder!) < getSize(prev.remainder!) ? curr : prev));
89
41
  }
90
42
 
91
- function findStandalone(
92
- requestedDimensions: PrivateKernelResetDimensions,
93
- config: PrivateKernelResetDimensionsConfig,
94
- isQualified: (dimensions: PrivateKernelResetDimensions) => boolean,
95
- ): DimensionOption | undefined {
96
- const needsReset = privateKernelResetDimensionNames.filter(name => requestedDimensions[name] > 0);
97
- if (needsReset.length !== 1) {
98
- // At the moment, we only use standalone to reset one dimension when it's about to overflow.
99
- return;
100
- }
101
-
102
- const name = needsReset[0];
103
- const value = pickFromValues(requestedDimensions[name], config.dimensions[name].standalone);
104
- if (!value) {
105
- return;
106
- }
107
-
108
- const dimensions = PrivateKernelResetDimensions.from({ [name]: value });
109
- if (!isQualified(dimensions)) {
110
- return;
111
- }
112
-
43
+ function buildOption(entry: ResetCatalogEntry, requestedDimensions: PrivateKernelResetDimensions): DimensionOption {
44
+ const dimensions = PrivateKernelResetDimensions.fromValues(entry.dimensions);
113
45
  return {
114
46
  dimensions,
115
- cost: computeCost(dimensions, config),
47
+ cost: entry.cost,
116
48
  remainder: getRemainder(requestedDimensions, dimensions),
117
49
  };
118
50
  }
119
51
 
120
- function findSpecialCase(
121
- requestedDimensions: PrivateKernelResetDimensions,
122
- config: PrivateKernelResetDimensionsConfig,
123
- isQualified: (dimensions: PrivateKernelResetDimensions) => boolean,
124
- ): DimensionOption | undefined {
125
- const specialCases = config.specialCases.map(PrivateKernelResetDimensions.fromValues);
126
- const options = specialCases.filter(isQualified).map(dimensions => ({
127
- dimensions,
128
- cost: computeCost(dimensions, config),
129
- remainder: getRemainder(requestedDimensions, dimensions),
130
- }));
131
- return pickBestOption(options);
132
- }
52
+ /**
53
+ * Picks which catalog group the selector should search. Mid-tx resets go to `inner` (no
54
+ * siloing); terminal kernels go to `finalTail` or `finalTailToPublic`, depending on whether
55
+ * the tx has public function calls.
56
+ */
57
+ export type ResetDimensionsMode = 'inner' | 'finalTail' | 'finalTailToPublic';
133
58
 
134
59
  export function findPrivateKernelResetDimensions(
135
60
  requestedDimensions: PrivateKernelResetDimensions,
136
61
  config: PrivateKernelResetDimensionsConfig,
137
- isInner = false,
62
+ mode: ResetDimensionsMode,
138
63
  allowRemainder = false,
139
64
  ) {
140
- const requestedValues = requestedDimensions.toValues();
141
- const isEnough = allowRemainder
142
- ? () => true
143
- : (dimensions: PrivateKernelResetDimensions) => dimensions.toValues().every((v, i) => v >= requestedValues[i]);
144
-
145
- const isQualified = !isInner
146
- ? isEnough
147
- : // If isInner is true, it's a reset to prevent overflow. The following must be zero because siloing can't be done at the moment.
148
- (dimensions: PrivateKernelResetDimensions) =>
149
- dimensions.NOTE_HASH_SILOING === 0 &&
150
- dimensions.NULLIFIER_SILOING === 0 &&
151
- dimensions.PRIVATE_LOG_SILOING === 0 &&
152
- isEnough(dimensions);
153
-
154
- const options = [
155
- findVariant(requestedDimensions, config, isQualified),
156
- findStandalone(requestedDimensions, config, isQualified),
157
- findSpecialCase(requestedDimensions, config, isQualified),
158
- ].filter(isDefined);
65
+ const catalog = config[mode];
66
+ const options = catalog
67
+ .map(entry => buildOption(entry, requestedDimensions))
68
+ .filter(option => allowRemainder || !option.remainder);
159
69
 
160
70
  if (!options.length) {
161
71
  throw new Error(`Cannot find an option for dimension: ${requestedDimensions.toValues()}`);
@@ -1,29 +1,31 @@
1
1
  import { KEY_VALIDATION_REQUEST_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin';
3
+ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
4
4
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
5
 
6
6
  /**
7
7
  * Request for validating keys used in the app.
8
+ *
9
+ * The master public key is exposed only as `pkMHash` (its `hashPublicKey` digest).
10
+ * The kernel reset circuit derives the corresponding point from the master secret key hint and
11
+ * asserts that its hash matches `pkMHash`.
8
12
  */
9
13
  export class KeyValidationRequest {
10
- /** App-siloed secret key corresponding to the same underlying secret as master public key above. */
14
+ /** App-siloed secret key corresponding to the same underlying secret as `pkMHash`. */
11
15
  public readonly skApp: Fr;
12
16
 
13
17
  constructor(
14
- /** Master public key corresponding to the same underlying secret as app secret key below. */
15
- public readonly pkM: Point,
18
+ /** Hash of the master public key corresponding to the same underlying secret as `skApp`. */
19
+ public readonly pkMHash: Fr,
16
20
  skApp: Fr | GrumpkinScalar,
17
21
  ) {
18
- // I am doing this conversion here because in some places skApp is represented as GrumpkinScalar (Fq).
19
- // I can do this conversion even though Fq.MODULUS is larger than Fr.MODULUS because when we pass in
20
- // the skApp as GrumpkinScalar it was converted to that form from Fr. So, it is safe to convert it back
21
- // to Fr. If this would change in the future the code below will throw an error so it should be easy to debug.
22
+ // skApp may arrive as a GrumpkinScalar (Fq) in some code paths; safe to truncate to Fr because
23
+ // the value originally came from an Fr poseidon hash and was widened to GrumpkinScalar.
22
24
  this.skApp = skApp instanceof Fr ? skApp : new Fr(skApp.toBigInt());
23
25
  }
24
26
 
25
27
  toBuffer() {
26
- return serializeToBuffer(this.pkM, this.skApp);
28
+ return serializeToBuffer(this.pkMHash, this.skApp);
27
29
  }
28
30
 
29
31
  get skAppAsGrumpkinScalar() {
@@ -32,11 +34,11 @@ export class KeyValidationRequest {
32
34
 
33
35
  static fromBuffer(buffer: Buffer | BufferReader) {
34
36
  const reader = BufferReader.asReader(buffer);
35
- return new KeyValidationRequest(Point.fromBuffer(reader), Fr.fromBuffer(reader));
37
+ return new KeyValidationRequest(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
36
38
  }
37
39
 
38
40
  toFields(): Fr[] {
39
- const fields = [this.pkM.toFields(), this.skApp].flat();
41
+ const fields = [this.pkMHash, this.skApp];
40
42
  if (fields.length !== KEY_VALIDATION_REQUEST_LENGTH) {
41
43
  throw new Error(
42
44
  `Invalid number of fields for KeyValidationRequest. Expected ${KEY_VALIDATION_REQUEST_LENGTH}, got ${fields.length}`,
@@ -47,18 +49,18 @@ export class KeyValidationRequest {
47
49
 
48
50
  static fromFields(fields: Fr[] | FieldReader): KeyValidationRequest {
49
51
  const reader = FieldReader.asReader(fields);
50
- return new KeyValidationRequest(Point.fromFields(reader), reader.readField());
52
+ return new KeyValidationRequest(reader.readField(), reader.readField());
51
53
  }
52
54
 
53
55
  isEmpty() {
54
- return this.pkM.isZero() && this.skApp.isZero();
56
+ return this.pkMHash.isZero() && this.skApp.isZero();
55
57
  }
56
58
 
57
59
  static empty() {
58
- return new KeyValidationRequest(Point.ZERO, Fr.ZERO);
60
+ return new KeyValidationRequest(Fr.ZERO, Fr.ZERO);
59
61
  }
60
62
 
61
- static async random() {
62
- return new KeyValidationRequest(await Point.random(), Fr.random());
63
+ static random() {
64
+ return new KeyValidationRequest(Fr.random(), Fr.random());
63
65
  }
64
66
  }
@@ -112,7 +112,7 @@ export class ScopedReadRequest {
112
112
 
113
113
  static fromFields(fields: Fr[] | FieldReader) {
114
114
  const reader = FieldReader.asReader(fields);
115
- return new ScopedReadRequest(reader.readObject(ReadRequest), AztecAddress.fromField(reader.readField()));
115
+ return new ScopedReadRequest(reader.readObject(ReadRequest), AztecAddress.fromFieldUnsafe(reader.readField()));
116
116
  }
117
117
 
118
118
  /**
@@ -7,10 +7,14 @@ export * from './private_call_data.js';
7
7
  export * from './private_kernel_circuit_public_inputs.js';
8
8
  export * from './private_kernel_data.js';
9
9
  export * from './private_kernel_init_circuit_private_inputs.js';
10
+ export * from './private_kernel_init_2_circuit_private_inputs.js';
11
+ export * from './private_kernel_init_3_circuit_private_inputs.js';
10
12
  export * from './private_kernel_inner_circuit_private_inputs.js';
13
+ export * from './private_kernel_inner_2_circuit_private_inputs.js';
14
+ export * from './private_kernel_inner_3_circuit_private_inputs.js';
11
15
  export * from './private_kernel_reset_circuit_private_inputs.js';
12
16
  export * from './private_kernel_reset_dimensions.js';
13
- export * from './private_kernel_tail_circuit_private_inputs.js';
17
+ export * from './private_kernel_reset_tail_circuit_private_inputs.js';
14
18
  export * from './private_kernel_tail_circuit_public_inputs.js';
15
19
  export * from './private_to_avm_accumulated_data.js';
16
20
  export * from './private_to_public_accumulated_data.js';
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+ import { BufferReader, BufferSink, FieldReader, serializeToSink } from '@aztec/foundation/serialize';
3
3
  import type { FieldsOf } from '@aztec/foundation/types';
4
4
 
5
5
  import { inspect } from 'util';
@@ -33,8 +33,13 @@ export class LogHash {
33
33
  return new LogHash(Fr.zero(), 0);
34
34
  }
35
35
 
36
- toBuffer(): Buffer {
37
- return serializeToBuffer(this.value, this.length);
36
+ toBuffer(): Buffer;
37
+ toBuffer(sink: BufferSink): void;
38
+ toBuffer(sink?: BufferSink): Buffer | void {
39
+ if (!sink) {
40
+ return BufferSink.serialize(this);
41
+ }
42
+ serializeToSink(sink, this.value, this.length);
38
43
  }
39
44
 
40
45
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -78,8 +83,13 @@ export class CountedLogHash {
78
83
  return new CountedLogHash(LogHash.empty(), 0);
79
84
  }
80
85
 
81
- toBuffer(): Buffer {
82
- return serializeToBuffer(this.logHash, this.counter);
86
+ toBuffer(): Buffer;
87
+ toBuffer(sink: BufferSink): void;
88
+ toBuffer(sink?: BufferSink): Buffer | void {
89
+ if (!sink) {
90
+ return BufferSink.serialize(this);
91
+ }
92
+ serializeToSink(sink, this.logHash, this.counter);
83
93
  }
84
94
 
85
95
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -104,7 +114,7 @@ export class ScopedLogHash {
104
114
 
105
115
  static fromFields(fields: Fr[] | FieldReader) {
106
116
  const reader = FieldReader.asReader(fields);
107
- return new ScopedLogHash(reader.readObject(LogHash), AztecAddress.fromField(reader.readField()));
117
+ return new ScopedLogHash(reader.readObject(LogHash), AztecAddress.fromFieldUnsafe(reader.readField()));
108
118
  }
109
119
 
110
120
  isEmpty() {
@@ -115,8 +125,13 @@ export class ScopedLogHash {
115
125
  return new ScopedLogHash(LogHash.empty(), AztecAddress.ZERO);
116
126
  }
117
127
 
118
- toBuffer(): Buffer {
119
- return serializeToBuffer(this.logHash, this.contractAddress);
128
+ toBuffer(): Buffer;
129
+ toBuffer(sink: BufferSink): void;
130
+ toBuffer(sink?: BufferSink): Buffer | void {
131
+ if (!sink) {
132
+ return BufferSink.serialize(this);
133
+ }
134
+ serializeToSink(sink, this.logHash, this.contractAddress);
120
135
  }
121
136
 
122
137
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -141,11 +156,19 @@ export class ScopedCountedLogHash {
141
156
 
142
157
  static fromFields(fields: Fr[] | FieldReader) {
143
158
  const reader = FieldReader.asReader(fields);
144
- return new ScopedCountedLogHash(reader.readObject(CountedLogHash), AztecAddress.fromField(reader.readField()));
145
- }
146
-
147
- toBuffer(): Buffer {
148
- return serializeToBuffer(this.inner, this.contractAddress);
159
+ return new ScopedCountedLogHash(
160
+ reader.readObject(CountedLogHash),
161
+ AztecAddress.fromFieldUnsafe(reader.readField()),
162
+ );
163
+ }
164
+
165
+ toBuffer(): Buffer;
166
+ toBuffer(sink: BufferSink): void;
167
+ toBuffer(sink?: BufferSink): Buffer | void {
168
+ if (!sink) {
169
+ return BufferSink.serialize(this);
170
+ }
171
+ serializeToSink(sink, this.inner, this.contractAddress);
149
172
  }
150
173
 
151
174
  static fromBuffer(buffer: Buffer | BufferReader) {
@@ -65,7 +65,7 @@ export class ScopedNoteHash implements Ordered {
65
65
 
66
66
  static fromFields(fields: Fr[] | FieldReader) {
67
67
  const reader = FieldReader.asReader(fields);
68
- return new ScopedNoteHash(reader.readObject(NoteHash), AztecAddress.fromField(reader.readField()));
68
+ return new ScopedNoteHash(reader.readObject(NoteHash), AztecAddress.fromFieldUnsafe(reader.readField()));
69
69
  }
70
70
 
71
71
  isEmpty() {
@@ -70,7 +70,7 @@ export class ScopedNullifier implements Ordered {
70
70
 
71
71
  static fromFields(fields: Fr[] | FieldReader) {
72
72
  const reader = FieldReader.asReader(fields);
73
- return new ScopedNullifier(reader.readObject(Nullifier), AztecAddress.fromField(reader.readField()));
73
+ return new ScopedNullifier(reader.readObject(Nullifier), AztecAddress.fromFieldUnsafe(reader.readField()));
74
74
  }
75
75
 
76
76
  isEmpty() {
@@ -144,6 +144,11 @@ export class PrivateCircuitPublicInputs {
144
144
  * Hash of the contract class logs emitted in this function call.
145
145
  */
146
146
  public contractClassLogsHashes: ClaimedLengthArray<CountedLogHash, typeof MAX_CONTRACT_CLASS_LOGS_PER_CALL>,
147
+ /**
148
+ * The tx request's salt. Keeps `tx_request.hash()` (the protocol nullifier) unpredictable, and lets the init
149
+ * kernel bind this proof to a specific tx request (it asserts this equals `tx_request.salt`).
150
+ */
151
+ public txRequestSalt: Fr,
147
152
  ) {}
148
153
 
149
154
  /**
@@ -188,6 +193,7 @@ export class PrivateCircuitPublicInputs {
188
193
  reader.readObject(ClaimedLengthArrayFromBuffer(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)),
189
194
  reader.readObject(ClaimedLengthArrayFromBuffer(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)),
190
195
  reader.readObject(ClaimedLengthArrayFromBuffer(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)),
196
+ reader.readObject(Fr),
191
197
  );
192
198
  }
193
199
 
@@ -219,6 +225,7 @@ export class PrivateCircuitPublicInputs {
219
225
  reader.readObject(ClaimedLengthArrayFromFields(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)),
220
226
  reader.readObject(ClaimedLengthArrayFromFields(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)),
221
227
  reader.readObject(ClaimedLengthArrayFromFields(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)),
228
+ reader.readField(),
222
229
  );
223
230
  }
224
231
 
@@ -251,6 +258,7 @@ export class PrivateCircuitPublicInputs {
251
258
  ClaimedLengthArray.empty(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL),
252
259
  ClaimedLengthArray.empty(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL),
253
260
  ClaimedLengthArray.empty(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL),
261
+ Fr.ZERO,
254
262
  );
255
263
  }
256
264
 
@@ -278,7 +286,8 @@ export class PrivateCircuitPublicInputs {
278
286
  this.nullifiers.isEmpty() &&
279
287
  this.l2ToL1Msgs.isEmpty() &&
280
288
  this.privateLogs.isEmpty() &&
281
- this.contractClassLogsHashes.isEmpty()
289
+ this.contractClassLogsHashes.isEmpty() &&
290
+ this.txRequestSalt.isZero()
282
291
  );
283
292
  }
284
293
 
@@ -312,6 +321,7 @@ export class PrivateCircuitPublicInputs {
312
321
  fields.l2ToL1Msgs,
313
322
  fields.privateLogs,
314
323
  fields.contractClassLogsHashes,
324
+ fields.txRequestSalt,
315
325
  ] as const;
316
326
  }
317
327
 
@@ -346,6 +356,7 @@ export class PrivateCircuitPublicInputs {
346
356
  this.l2ToL1Msgs,
347
357
  this.privateLogs,
348
358
  this.contractClassLogsHashes,
359
+ this.txRequestSalt,
349
360
  ]);
350
361
  }
351
362