@aztec/stdlib 0.0.1-commit.f504929 → 0.0.1-commit.f5a9928

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 (1064) hide show
  1. package/dest/abi/abi.d.ts +149 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +19 -5
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +38 -5
  9. package/dest/abi/contract_artifact.d.ts +14 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +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 +21 -41
  78. package/dest/block/l2_block.d.ts.map +1 -1
  79. package/dest/block/l2_block.js +12 -2
  80. package/dest/block/l2_block_info.d.ts +10 -29
  81. package/dest/block/l2_block_info.d.ts.map +1 -1
  82. package/dest/block/l2_block_info.js +6 -5
  83. package/dest/block/l2_block_source.d.ts +234 -355
  84. package/dest/block/l2_block_source.d.ts.map +1 -1
  85. package/dest/block/l2_block_source.js +85 -1
  86. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
  87. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  88. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +61 -0
  89. package/dest/block/l2_block_stream/index.d.ts +2 -1
  90. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  91. package/dest/block/l2_block_stream/index.js +1 -0
  92. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  93. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  94. package/dest/block/l2_block_stream/interfaces.js +25 -1
  95. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  96. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  97. package/dest/block/l2_block_stream/l2_block_stream.js +185 -134
  98. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  99. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  100. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  101. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  102. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  103. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  104. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  105. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  106. package/dest/block/proposal/attestations_and_signers.js +73 -25
  107. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  108. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  109. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  110. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  111. package/dest/block/test/l2_tips_store_test_suite.js +301 -36
  112. package/dest/block/validate_block_result.d.ts +16 -1
  113. package/dest/block/validate_block_result.d.ts.map +1 -1
  114. package/dest/block/validate_block_result.js +18 -3
  115. package/dest/checkpoint/checkpoint.d.ts +31 -96
  116. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  117. package/dest/checkpoint/checkpoint.js +20 -7
  118. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  119. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  120. package/dest/checkpoint/checkpoint_data.js +12 -0
  121. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  122. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  123. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  124. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  125. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  126. package/dest/checkpoint/digest.d.ts +18 -0
  127. package/dest/checkpoint/digest.d.ts.map +1 -0
  128. package/dest/checkpoint/digest.js +12 -0
  129. package/dest/checkpoint/index.d.ts +6 -1
  130. package/dest/checkpoint/index.d.ts.map +1 -1
  131. package/dest/checkpoint/index.js +5 -0
  132. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  133. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  134. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  135. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  136. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  137. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  138. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  139. package/dest/checkpoint/simulation_overrides.js +98 -0
  140. package/dest/checkpoint/validate.d.ts +52 -0
  141. package/dest/checkpoint/validate.d.ts.map +1 -0
  142. package/dest/checkpoint/validate.js +132 -0
  143. package/dest/config/chain-config.d.ts +4 -9
  144. package/dest/config/chain-config.d.ts.map +1 -1
  145. package/dest/config/chain-config.js +13 -12
  146. package/dest/config/index.d.ts +2 -1
  147. package/dest/config/index.d.ts.map +1 -1
  148. package/dest/config/index.js +1 -0
  149. package/dest/config/network-consensus-config.d.ts +72 -0
  150. package/dest/config/network-consensus-config.d.ts.map +1 -0
  151. package/dest/config/network-consensus-config.js +227 -0
  152. package/dest/config/node-rpc-config.d.ts +13 -1
  153. package/dest/config/node-rpc-config.d.ts.map +1 -1
  154. package/dest/config/node-rpc-config.js +34 -1
  155. package/dest/config/sequencer-config.d.ts +6 -2
  156. package/dest/config/sequencer-config.d.ts.map +1 -1
  157. package/dest/config/sequencer-config.js +38 -6
  158. package/dest/contract/complete_address.d.ts +3 -2
  159. package/dest/contract/complete_address.d.ts.map +1 -1
  160. package/dest/contract/complete_address.js +6 -2
  161. package/dest/contract/contract_address.d.ts +10 -9
  162. package/dest/contract/contract_address.d.ts.map +1 -1
  163. package/dest/contract/contract_address.js +6 -5
  164. package/dest/contract/contract_class_id.d.ts +2 -2
  165. package/dest/contract/contract_class_id.js +2 -2
  166. package/dest/contract/contract_deployment_data.d.ts +15 -61
  167. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  168. package/dest/contract/contract_instance.d.ts +19 -3
  169. package/dest/contract/contract_instance.d.ts.map +1 -1
  170. package/dest/contract/contract_instance.js +55 -3
  171. package/dest/contract/index.d.ts +1 -3
  172. package/dest/contract/index.d.ts.map +1 -1
  173. package/dest/contract/index.js +0 -2
  174. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  175. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  176. package/dest/contract/interfaces/contract_class.js +1 -28
  177. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  178. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  179. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  180. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  181. package/dest/contract/interfaces/contract_instance.js +11 -4
  182. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  183. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  184. package/dest/contract/interfaces/node-info.d.ts +11 -1
  185. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  186. package/dest/contract/interfaces/node-info.js +7 -1
  187. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  188. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  189. package/dest/contract/partial_address.d.ts +9 -3
  190. package/dest/contract/partial_address.d.ts.map +1 -1
  191. package/dest/contract/partial_address.js +8 -2
  192. package/dest/contract/private_function.d.ts +1 -1
  193. package/dest/contract/private_function.d.ts.map +1 -1
  194. package/dest/contract/private_function.js +2 -4
  195. package/dest/database-version/database_version.d.ts +5 -11
  196. package/dest/database-version/database_version.d.ts.map +1 -1
  197. package/dest/database-version/version_manager.d.ts +22 -4
  198. package/dest/database-version/version_manager.d.ts.map +1 -1
  199. package/dest/database-version/version_manager.js +87 -6
  200. package/dest/deserialization/index.d.ts +35 -3
  201. package/dest/deserialization/index.d.ts.map +1 -1
  202. package/dest/deserialization/index.js +32 -1
  203. package/dest/epoch-helpers/index.d.ts +12 -20
  204. package/dest/epoch-helpers/index.d.ts.map +1 -1
  205. package/dest/epoch-helpers/index.js +16 -2
  206. package/dest/file-store/factory.d.ts +4 -3
  207. package/dest/file-store/factory.d.ts.map +1 -1
  208. package/dest/file-store/factory.js +9 -2
  209. package/dest/file-store/http.d.ts +9 -2
  210. package/dest/file-store/http.d.ts.map +1 -1
  211. package/dest/file-store/http.js +20 -9
  212. package/dest/file-store/index.d.ts +3 -1
  213. package/dest/file-store/index.d.ts.map +1 -1
  214. package/dest/file-store/index.js +1 -0
  215. package/dest/file-store/memory.d.ts +24 -0
  216. package/dest/file-store/memory.d.ts.map +1 -0
  217. package/dest/file-store/memory.js +80 -0
  218. package/dest/gas/fee_math.d.ts +49 -0
  219. package/dest/gas/fee_math.d.ts.map +1 -0
  220. package/dest/gas/fee_math.js +80 -0
  221. package/dest/gas/gas.d.ts +9 -14
  222. package/dest/gas/gas.d.ts.map +1 -1
  223. package/dest/gas/gas.js +6 -3
  224. package/dest/gas/gas_fees.d.ts +13 -14
  225. package/dest/gas/gas_fees.d.ts.map +1 -1
  226. package/dest/gas/gas_fees.js +17 -4
  227. package/dest/gas/gas_settings.d.ts +60 -86
  228. package/dest/gas/gas_settings.d.ts.map +1 -1
  229. package/dest/gas/gas_settings.js +49 -9
  230. package/dest/gas/index.d.ts +3 -1
  231. package/dest/gas/index.d.ts.map +1 -1
  232. package/dest/gas/index.js +2 -0
  233. package/dest/gas/tx_gas_limits.d.ts +72 -0
  234. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  235. package/dest/gas/tx_gas_limits.js +85 -0
  236. package/dest/ha-signing/config.d.ts +45 -60
  237. package/dest/ha-signing/config.d.ts.map +1 -1
  238. package/dest/ha-signing/config.js +32 -30
  239. package/dest/ha-signing/index.d.ts +4 -3
  240. package/dest/ha-signing/index.d.ts.map +1 -1
  241. package/dest/ha-signing/index.js +3 -2
  242. package/dest/ha-signing/local_config.d.ts +40 -0
  243. package/dest/ha-signing/local_config.d.ts.map +1 -0
  244. package/dest/ha-signing/local_config.js +30 -0
  245. package/dest/ha-signing/types.d.ts +37 -32
  246. package/dest/ha-signing/types.d.ts.map +1 -1
  247. package/dest/ha-signing/types.js +13 -6
  248. package/dest/hash/hash.d.ts +34 -2
  249. package/dest/hash/hash.d.ts.map +1 -1
  250. package/dest/hash/hash.js +63 -9
  251. package/dest/interfaces/allowed_element.d.ts +16 -16
  252. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  253. package/dest/interfaces/allowed_element.js +8 -2
  254. package/dest/interfaces/api_limit.d.ts +7 -2
  255. package/dest/interfaces/api_limit.d.ts.map +1 -1
  256. package/dest/interfaces/api_limit.js +4 -1
  257. package/dest/interfaces/archiver.d.ts +27 -32
  258. package/dest/interfaces/archiver.d.ts.map +1 -1
  259. package/dest/interfaces/archiver.js +216 -69
  260. package/dest/interfaces/aztec-node-admin.d.ts +91 -260
  261. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  262. package/dest/interfaces/aztec-node-admin.js +60 -17
  263. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  264. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  265. package/dest/interfaces/aztec-node-debug.js +49 -0
  266. package/dest/interfaces/aztec-node.d.ts +167 -116
  267. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  268. package/dest/interfaces/aztec-node.js +359 -78
  269. package/dest/interfaces/block-builder.d.ts +48 -12
  270. package/dest/interfaces/block-builder.d.ts.map +1 -1
  271. package/dest/interfaces/block-builder.js +12 -5
  272. package/dest/interfaces/block_response.d.ts +90 -0
  273. package/dest/interfaces/block_response.d.ts.map +1 -0
  274. package/dest/interfaces/block_response.js +30 -0
  275. package/dest/interfaces/chain_tips.d.ts +11 -0
  276. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  277. package/dest/interfaces/chain_tips.js +6 -0
  278. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  279. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  280. package/dest/interfaces/checkpoint_parameter.js +18 -0
  281. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  282. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  283. package/dest/interfaces/checkpoint_response.js +26 -0
  284. package/dest/interfaces/client.d.ts +9 -2
  285. package/dest/interfaces/client.d.ts.map +1 -1
  286. package/dest/interfaces/client.js +7 -1
  287. package/dest/interfaces/configs.d.ts +93 -109
  288. package/dest/interfaces/configs.d.ts.map +1 -1
  289. package/dest/interfaces/configs.js +19 -3
  290. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  291. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  292. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  293. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  294. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  295. package/dest/interfaces/l1_publish_info.js +26 -0
  296. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  297. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  298. package/dest/interfaces/l2_logs_source.js +5 -0
  299. package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
  300. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  301. package/dest/interfaces/p2p-bootstrap.js +8 -2
  302. package/dest/interfaces/p2p.d.ts +63 -7
  303. package/dest/interfaces/p2p.d.ts.map +1 -1
  304. package/dest/interfaces/p2p.js +49 -6
  305. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  306. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  307. package/dest/interfaces/prover-agent.d.ts +5 -23
  308. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  309. package/dest/interfaces/prover-agent.js +4 -1
  310. package/dest/interfaces/prover-client.d.ts +10 -27
  311. package/dest/interfaces/prover-client.d.ts.map +1 -1
  312. package/dest/interfaces/prover-client.js +7 -4
  313. package/dest/interfaces/prover-node.d.ts +12 -8
  314. package/dest/interfaces/prover-node.d.ts.map +1 -1
  315. package/dest/interfaces/prover-node.js +37 -16
  316. package/dest/interfaces/proving-job-source.js +24 -4
  317. package/dest/interfaces/proving-job.d.ts +757 -5795
  318. package/dest/interfaces/proving-job.d.ts.map +1 -1
  319. package/dest/interfaces/proving-job.js +14 -5
  320. package/dest/interfaces/public_storage_override.d.ts +22 -0
  321. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  322. package/dest/interfaces/public_storage_override.js +7 -0
  323. package/dest/interfaces/server.d.ts +6 -2
  324. package/dest/interfaces/server.d.ts.map +1 -1
  325. package/dest/interfaces/server.js +5 -1
  326. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  327. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  328. package/dest/interfaces/slasher.d.ts +25 -65
  329. package/dest/interfaces/slasher.d.ts.map +1 -1
  330. package/dest/interfaces/slasher.js +8 -4
  331. package/dest/interfaces/tx_provider.d.ts +10 -1
  332. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  333. package/dest/interfaces/validator.d.ts +87 -197
  334. package/dest/interfaces/validator.d.ts.map +1 -1
  335. package/dest/interfaces/validator.js +15 -6
  336. package/dest/interfaces/world_state.d.ts +19 -5
  337. package/dest/interfaces/world_state.d.ts.map +1 -1
  338. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  339. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  340. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  341. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  342. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  343. package/dest/kernel/hints/key_validation_request.js +20 -18
  344. package/dest/kernel/hints/read_request.js +1 -1
  345. package/dest/kernel/index.d.ts +6 -2
  346. package/dest/kernel/index.d.ts.map +1 -1
  347. package/dest/kernel/index.js +5 -1
  348. package/dest/kernel/log_hash.d.ts +6 -2
  349. package/dest/kernel/log_hash.d.ts.map +1 -1
  350. package/dest/kernel/log_hash.js +23 -11
  351. package/dest/kernel/note_hash.js +1 -1
  352. package/dest/kernel/nullifier.js +1 -1
  353. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  354. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  355. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  356. package/dest/kernel/private_context_inputs.d.ts +4 -3
  357. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  358. package/dest/kernel/private_context_inputs.js +7 -3
  359. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -2
  360. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  361. package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
  362. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  363. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  364. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  365. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  366. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  367. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  368. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  369. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  370. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  371. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  372. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  373. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  374. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  375. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  376. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  377. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  378. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -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_tail_circuit_public_inputs.d.ts +10 -6
  385. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  386. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +26 -7
  387. package/dest/kernel/private_log_data.d.ts +1 -1
  388. package/dest/kernel/private_log_data.d.ts.map +1 -1
  389. package/dest/kernel/private_log_data.js +1 -1
  390. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  391. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  392. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  393. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  394. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  395. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  396. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  397. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  398. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  399. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  400. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  401. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  402. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  403. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  404. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  405. package/dest/kernel/public_call_request.d.ts +15 -30
  406. package/dest/kernel/public_call_request.d.ts.map +1 -1
  407. package/dest/kernel/public_call_request.js +16 -7
  408. package/dest/keys/derivation.d.ts +45 -6
  409. package/dest/keys/derivation.d.ts.map +1 -1
  410. package/dest/keys/derivation.js +55 -22
  411. package/dest/keys/public_key.d.ts +22 -3
  412. package/dest/keys/public_key.d.ts.map +1 -1
  413. package/dest/keys/public_key.js +20 -1
  414. package/dest/keys/public_keys.d.ts +55 -82
  415. package/dest/keys/public_keys.d.ts.map +1 -1
  416. package/dest/keys/public_keys.js +102 -74
  417. package/dest/kv-store/config.d.ts +14 -0
  418. package/dest/kv-store/config.d.ts.map +1 -0
  419. package/dest/kv-store/config.js +21 -0
  420. package/dest/kv-store/index.d.ts +2 -0
  421. package/dest/kv-store/index.d.ts.map +1 -0
  422. package/dest/kv-store/index.js +1 -0
  423. package/dest/l1-contracts/index.d.ts +2 -2
  424. package/dest/l1-contracts/index.d.ts.map +1 -1
  425. package/dest/l1-contracts/index.js +1 -1
  426. package/dest/logs/app_tagging_secret.d.ts +69 -0
  427. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  428. package/dest/logs/app_tagging_secret.js +116 -0
  429. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  430. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  431. package/dest/logs/app_tagging_secret_kind.js +17 -0
  432. package/dest/logs/contract_class_log.d.ts +16 -35
  433. package/dest/logs/contract_class_log.d.ts.map +1 -1
  434. package/dest/logs/contract_class_log.js +11 -13
  435. package/dest/logs/index.d.ts +8 -9
  436. package/dest/logs/index.d.ts.map +1 -1
  437. package/dest/logs/index.js +7 -8
  438. package/dest/logs/log_cursor.d.ts +51 -0
  439. package/dest/logs/log_cursor.d.ts.map +1 -0
  440. package/dest/logs/log_cursor.js +82 -0
  441. package/dest/logs/log_result.d.ts +54 -0
  442. package/dest/logs/log_result.d.ts.map +1 -0
  443. package/dest/logs/log_result.js +56 -0
  444. package/dest/logs/logs_query.d.ts +82 -0
  445. package/dest/logs/logs_query.d.ts.map +1 -0
  446. package/dest/logs/logs_query.js +50 -0
  447. package/dest/logs/pre_tag.d.ts +11 -24
  448. package/dest/logs/pre_tag.d.ts.map +1 -1
  449. package/dest/logs/pre_tag.js +2 -2
  450. package/dest/logs/private_log.d.ts +7 -12
  451. package/dest/logs/private_log.d.ts.map +1 -1
  452. package/dest/logs/private_log.js +6 -3
  453. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  454. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  455. package/dest/logs/query_all_logs_by_tags.js +64 -0
  456. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  457. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  458. package/dest/logs/shared_secret_derivation.js +49 -10
  459. package/dest/logs/siloed_tag.d.ts +8 -7
  460. package/dest/logs/siloed_tag.d.ts.map +1 -1
  461. package/dest/logs/siloed_tag.js +13 -3
  462. package/dest/logs/tag.d.ts +5 -6
  463. package/dest/logs/tag.d.ts.map +1 -1
  464. package/dest/logs/tag.js +4 -0
  465. package/dest/logs/tagging_index_range.d.ts +22 -0
  466. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  467. package/dest/logs/tagging_index_range.js +8 -0
  468. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  469. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  470. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  471. package/dest/messaging/index.d.ts +2 -1
  472. package/dest/messaging/index.d.ts.map +1 -1
  473. package/dest/messaging/index.js +1 -0
  474. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  475. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  476. package/dest/messaging/l1_to_l2_message.js +38 -15
  477. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  478. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  479. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  480. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  481. package/dest/messaging/l2_to_l1_membership.js +130 -27
  482. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  483. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  484. package/dest/messaging/l2_to_l1_message.js +21 -12
  485. package/dest/noir/index.d.ts +7 -5
  486. package/dest/noir/index.d.ts.map +1 -1
  487. package/dest/note/note.d.ts +2 -2
  488. package/dest/note/note.d.ts.map +1 -1
  489. package/dest/note/note_dao.d.ts +1 -1
  490. package/dest/note/note_dao.d.ts.map +1 -1
  491. package/dest/note/note_dao.js +1 -4
  492. package/dest/p2p/attestation_utils.d.ts +1 -1
  493. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  494. package/dest/p2p/attestation_utils.js +8 -1
  495. package/dest/p2p/block_proposal.d.ts +31 -14
  496. package/dest/p2p/block_proposal.d.ts.map +1 -1
  497. package/dest/p2p/block_proposal.js +57 -39
  498. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  499. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  500. package/dest/p2p/checkpoint_attestation.js +33 -24
  501. package/dest/p2p/checkpoint_proposal.d.ts +36 -21
  502. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  503. package/dest/p2p/checkpoint_proposal.js +59 -61
  504. package/dest/p2p/consensus_payload.d.ts +27 -20
  505. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  506. package/dest/p2p/consensus_payload.js +38 -19
  507. package/dest/p2p/gossipable.d.ts +4 -4
  508. package/dest/p2p/gossipable.d.ts.map +1 -1
  509. package/dest/p2p/index.d.ts +2 -1
  510. package/dest/p2p/index.d.ts.map +1 -1
  511. package/dest/p2p/index.js +1 -0
  512. package/dest/p2p/peer_error.d.ts +3 -1
  513. package/dest/p2p/peer_error.d.ts.map +1 -1
  514. package/dest/p2p/peer_error.js +5 -0
  515. package/dest/p2p/signature_utils.d.ts +35 -17
  516. package/dest/p2p/signature_utils.d.ts.map +1 -1
  517. package/dest/p2p/signature_utils.js +125 -20
  518. package/dest/p2p/signed_txs.d.ts +15 -13
  519. package/dest/p2p/signed_txs.d.ts.map +1 -1
  520. package/dest/p2p/signed_txs.js +26 -24
  521. package/dest/p2p/validated_proposal.d.ts +35 -0
  522. package/dest/p2p/validated_proposal.d.ts.map +1 -0
  523. package/dest/p2p/validated_proposal.js +17 -0
  524. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  525. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  526. package/dest/parity/parity_base_private_inputs.js +7 -5
  527. package/dest/parity/parity_public_inputs.d.ts +8 -4
  528. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  529. package/dest/parity/parity_public_inputs.js +6 -3
  530. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  531. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  532. package/dest/proofs/chonk_proof.d.ts +57 -7
  533. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  534. package/dest/proofs/chonk_proof.js +112 -15
  535. package/dest/proofs/recursive_proof.d.ts +2 -2
  536. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  537. package/dest/rollup/avm_proof_data.d.ts +3 -3
  538. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  539. package/dest/rollup/block_headers_hash.d.ts +1 -1
  540. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  541. package/dest/rollup/block_headers_hash.js +8 -2
  542. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  543. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  544. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  545. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  546. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  547. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  548. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  549. package/dest/rollup/checkpoint_header.d.ts +8 -3
  550. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  551. package/dest/rollup/checkpoint_header.js +20 -10
  552. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  553. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  554. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  555. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  556. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  557. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  558. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  559. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  560. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  561. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  562. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  563. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  564. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  565. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  566. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  567. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  568. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  569. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  570. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  571. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  572. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  573. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  574. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  575. package/dest/schemas/schemas.d.ts +32 -78
  576. package/dest/schemas/schemas.d.ts.map +1 -1
  577. package/dest/schemas/schemas.js +2 -2
  578. package/dest/slashing/helpers.d.ts +2 -2
  579. package/dest/slashing/helpers.d.ts.map +1 -1
  580. package/dest/slashing/helpers.js +10 -7
  581. package/dest/slashing/index.d.ts +2 -3
  582. package/dest/slashing/index.d.ts.map +1 -1
  583. package/dest/slashing/index.js +1 -2
  584. package/dest/slashing/serialization.d.ts +2 -6
  585. package/dest/slashing/serialization.d.ts.map +1 -1
  586. package/dest/slashing/serialization.js +0 -60
  587. package/dest/slashing/types.d.ts +18 -112
  588. package/dest/slashing/types.d.ts.map +1 -1
  589. package/dest/slashing/types.js +16 -24
  590. package/dest/slashing/{tally.d.ts → votes.d.ts} +5 -6
  591. package/dest/slashing/votes.d.ts.map +1 -0
  592. package/dest/slashing/{tally.js → votes.js} +19 -10
  593. package/dest/snapshots/types.d.ts +15 -78
  594. package/dest/snapshots/types.d.ts.map +1 -1
  595. package/dest/stats/stats.d.ts +2 -2
  596. package/dest/stats/stats.d.ts.map +1 -1
  597. package/dest/tests/factories.d.ts +25 -32
  598. package/dest/tests/factories.d.ts.map +1 -1
  599. package/dest/tests/factories.js +81 -86
  600. package/dest/tests/mocks.d.ts +11 -6
  601. package/dest/tests/mocks.d.ts.map +1 -1
  602. package/dest/tests/mocks.js +57 -63
  603. package/dest/timetable/budgets.d.ts +57 -0
  604. package/dest/timetable/budgets.d.ts.map +1 -0
  605. package/dest/timetable/budgets.js +56 -0
  606. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  607. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  608. package/dest/timetable/build_proposer_timetable.js +17 -0
  609. package/dest/timetable/consensus_timetable.d.ts +70 -0
  610. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  611. package/dest/timetable/consensus_timetable.js +89 -0
  612. package/dest/timetable/index.d.ts +5 -37
  613. package/dest/timetable/index.d.ts.map +1 -1
  614. package/dest/timetable/index.js +4 -39
  615. package/dest/timetable/proposer_timetable.d.ts +106 -0
  616. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  617. package/dest/timetable/proposer_timetable.js +132 -0
  618. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  619. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  620. package/dest/trees/append_only_tree_snapshot.js +6 -3
  621. package/dest/trees/nullifier_leaf.d.ts +19 -42
  622. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  623. package/dest/trees/nullifier_leaf.js +3 -0
  624. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  625. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  626. package/dest/trees/nullifier_membership_witness.js +0 -21
  627. package/dest/trees/public_data_leaf.d.ts +21 -53
  628. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  629. package/dest/trees/public_data_witness.d.ts +19 -71
  630. package/dest/trees/public_data_witness.d.ts.map +1 -1
  631. package/dest/trees/public_data_witness.js +0 -27
  632. package/dest/tx/block_header.d.ts +7 -4
  633. package/dest/tx/block_header.d.ts.map +1 -1
  634. package/dest/tx/block_header.js +11 -4
  635. package/dest/tx/call_context.d.ts +4 -14
  636. package/dest/tx/call_context.d.ts.map +1 -1
  637. package/dest/tx/capsule.d.ts +7 -3
  638. package/dest/tx/capsule.d.ts.map +1 -1
  639. package/dest/tx/capsule.js +9 -3
  640. package/dest/tx/execution_payload.d.ts +1 -1
  641. package/dest/tx/execution_payload.d.ts.map +1 -1
  642. package/dest/tx/execution_payload.js +1 -1
  643. package/dest/tx/fee_provider.d.ts +10 -0
  644. package/dest/tx/fee_provider.d.ts.map +1 -0
  645. package/dest/tx/fee_provider.js +1 -0
  646. package/dest/tx/function_data.d.ts +4 -10
  647. package/dest/tx/function_data.d.ts.map +1 -1
  648. package/dest/tx/global_variable_builder.d.ts +4 -15
  649. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  650. package/dest/tx/global_variables.d.ts +16 -49
  651. package/dest/tx/global_variables.d.ts.map +1 -1
  652. package/dest/tx/global_variables.js +10 -14
  653. package/dest/tx/hashed_values.d.ts +10 -3
  654. package/dest/tx/hashed_values.d.ts.map +1 -1
  655. package/dest/tx/hashed_values.js +15 -4
  656. package/dest/tx/in_tx.d.ts +5 -17
  657. package/dest/tx/in_tx.d.ts.map +1 -1
  658. package/dest/tx/index.d.ts +2 -1
  659. package/dest/tx/index.d.ts.map +1 -1
  660. package/dest/tx/index.js +1 -0
  661. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  662. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  663. package/dest/tx/indexed_tx_effect.js +9 -6
  664. package/dest/tx/partial_state_reference.d.ts +22 -65
  665. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  666. package/dest/tx/partial_state_reference.js +6 -3
  667. package/dest/tx/private_execution_result.d.ts +11 -21
  668. package/dest/tx/private_execution_result.d.ts.map +1 -1
  669. package/dest/tx/private_execution_result.js +6 -6
  670. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  671. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  672. package/dest/tx/private_tx_constant_data.js +13 -4
  673. package/dest/tx/profiling.d.ts +67 -353
  674. package/dest/tx/profiling.d.ts.map +1 -1
  675. package/dest/tx/profiling.js +17 -7
  676. package/dest/tx/protocol_contracts.d.ts +5 -9
  677. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  678. package/dest/tx/proven_tx.d.ts +30 -74
  679. package/dest/tx/proven_tx.d.ts.map +1 -1
  680. package/dest/tx/proven_tx.js +6 -0
  681. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  682. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  683. package/dest/tx/public_call_request_with_calldata.js +6 -3
  684. package/dest/tx/simulated_tx.d.ts +73 -1148
  685. package/dest/tx/simulated_tx.d.ts.map +1 -1
  686. package/dest/tx/simulated_tx.js +19 -12
  687. package/dest/tx/state_reference.d.ts +30 -117
  688. package/dest/tx/state_reference.d.ts.map +1 -1
  689. package/dest/tx/state_reference.js +6 -4
  690. package/dest/tx/tree_snapshots.d.ts +27 -84
  691. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  692. package/dest/tx/tree_snapshots.js +6 -4
  693. package/dest/tx/tx.d.ts +34 -17
  694. package/dest/tx/tx.d.ts.map +1 -1
  695. package/dest/tx/tx.js +70 -30
  696. package/dest/tx/tx_constant_data.d.ts +4 -3
  697. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  698. package/dest/tx/tx_constant_data.js +6 -3
  699. package/dest/tx/tx_context.d.ts +32 -131
  700. package/dest/tx/tx_context.d.ts.map +1 -1
  701. package/dest/tx/tx_context.js +6 -6
  702. package/dest/tx/tx_hash.d.ts +6 -4
  703. package/dest/tx/tx_hash.d.ts.map +1 -1
  704. package/dest/tx/tx_hash.js +13 -5
  705. package/dest/tx/tx_receipt.d.ts +145 -59
  706. package/dest/tx/tx_receipt.d.ts.map +1 -1
  707. package/dest/tx/tx_receipt.js +144 -58
  708. package/dest/tx/validator/error_texts.d.ts +9 -2
  709. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  710. package/dest/tx/validator/error_texts.js +10 -1
  711. package/dest/tx/validator/tx_validator.d.ts +5 -27
  712. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  713. package/dest/tx/validator/tx_validator.js +0 -4
  714. package/dest/types/shared.d.ts +4 -12
  715. package/dest/types/shared.d.ts.map +1 -1
  716. package/dest/types/shared.js +6 -12
  717. package/dest/update-checker/dev_version.d.ts +3 -0
  718. package/dest/update-checker/dev_version.d.ts.map +1 -0
  719. package/dest/update-checker/dev_version.js +1 -0
  720. package/dest/update-checker/index.d.ts +4 -2
  721. package/dest/update-checker/index.d.ts.map +1 -1
  722. package/dest/update-checker/index.js +3 -1
  723. package/dest/update-checker/package_version.d.ts +6 -0
  724. package/dest/update-checker/package_version.d.ts.map +1 -0
  725. package/dest/update-checker/package_version.js +13 -0
  726. package/dest/update-checker/version_checker.d.ts +25 -0
  727. package/dest/update-checker/version_checker.d.ts.map +1 -0
  728. package/dest/update-checker/version_checker.js +50 -0
  729. package/dest/validators/errors.d.ts +21 -1
  730. package/dest/validators/errors.d.ts.map +1 -1
  731. package/dest/validators/errors.js +19 -0
  732. package/dest/validators/schemas.d.ts +147 -614
  733. package/dest/validators/schemas.d.ts.map +1 -1
  734. package/dest/validators/schemas.js +6 -4
  735. package/dest/validators/types.d.ts +20 -3
  736. package/dest/validators/types.d.ts.map +1 -1
  737. package/dest/versioning/versioning.d.ts +4 -2
  738. package/dest/versioning/versioning.d.ts.map +1 -1
  739. package/dest/versioning/versioning.js +5 -2
  740. package/dest/vks/verification_key.d.ts +4 -139
  741. package/dest/vks/verification_key.d.ts.map +1 -1
  742. package/dest/vks/verification_key.js +5 -126
  743. package/dest/world-state/genesis_data.d.ts +21 -0
  744. package/dest/world-state/genesis_data.d.ts.map +1 -0
  745. package/dest/world-state/genesis_data.js +8 -0
  746. package/dest/world-state/index.d.ts +2 -1
  747. package/dest/world-state/index.d.ts.map +1 -1
  748. package/dest/world-state/index.js +1 -0
  749. package/dest/world-state/world_state_revision.d.ts +15 -26
  750. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  751. package/dest/world-state/world_state_revision.js +7 -1
  752. package/package.json +14 -12
  753. package/src/abi/abi.ts +86 -21
  754. package/src/abi/authorization_selector.ts +2 -8
  755. package/src/abi/buffer.ts +38 -5
  756. package/src/abi/contract_artifact.ts +63 -15
  757. package/src/abi/decoder.ts +23 -78
  758. package/src/abi/encoder.ts +42 -6
  759. package/src/abi/event_selector.ts +2 -8
  760. package/src/abi/function_selector.ts +4 -13
  761. package/src/abi/function_signature_decoder.ts +77 -0
  762. package/src/abi/index.ts +1 -0
  763. package/src/abi/note_selector.ts +3 -12
  764. package/src/abi/selector.ts +1 -1
  765. package/src/abi/utils.ts +6 -4
  766. package/src/avm/avm.ts +6 -1
  767. package/src/avm/message_pack.ts +12 -3
  768. package/src/avm/revert_code.ts +19 -39
  769. package/src/aztec-address/index.ts +50 -17
  770. package/src/block/attestation_info.ts +16 -11
  771. package/src/block/block_data.ts +3 -4
  772. package/src/block/block_hash.ts +21 -14
  773. package/src/block/block_parameter.ts +72 -4
  774. package/src/block/index.ts +0 -1
  775. package/src/block/l2_block.ts +13 -1
  776. package/src/block/l2_block_info.ts +8 -6
  777. package/src/block/l2_block_source.ts +275 -143
  778. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +81 -0
  779. package/src/block/l2_block_stream/index.ts +1 -0
  780. package/src/block/l2_block_stream/interfaces.ts +101 -9
  781. package/src/block/l2_block_stream/l2_block_stream.ts +268 -179
  782. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  783. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  784. package/src/block/proposal/attestations_and_signers.ts +85 -24
  785. package/src/block/test/l2_tips_store_test_suite.ts +276 -22
  786. package/src/block/validate_block_result.ts +48 -2
  787. package/src/checkpoint/checkpoint.ts +25 -6
  788. package/src/checkpoint/checkpoint_data.ts +44 -4
  789. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  790. package/src/checkpoint/digest.ts +28 -0
  791. package/src/checkpoint/index.ts +5 -0
  792. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  793. package/src/checkpoint/simulation_overrides.ts +171 -0
  794. package/src/checkpoint/validate.ts +262 -0
  795. package/src/config/chain-config.ts +13 -16
  796. package/src/config/index.ts +1 -0
  797. package/src/config/network-consensus-config.ts +299 -0
  798. package/src/config/node-rpc-config.ts +51 -1
  799. package/src/config/sequencer-config.ts +68 -9
  800. package/src/contract/complete_address.ts +7 -3
  801. package/src/contract/contract_address.ts +11 -10
  802. package/src/contract/contract_class_id.ts +2 -2
  803. package/src/contract/contract_instance.ts +73 -3
  804. package/src/contract/index.ts +0 -2
  805. package/src/contract/interfaces/contract_class.ts +2 -82
  806. package/src/contract/interfaces/contract_data_source.ts +2 -4
  807. package/src/contract/interfaces/contract_instance.ts +32 -10
  808. package/src/contract/interfaces/node-info.ts +11 -0
  809. package/src/contract/partial_address.ts +8 -2
  810. package/src/contract/private_function.ts +3 -1
  811. package/src/database-version/version_manager.ts +113 -6
  812. package/src/deserialization/index.ts +35 -2
  813. package/src/epoch-helpers/index.ts +27 -0
  814. package/src/file-store/factory.ts +20 -4
  815. package/src/file-store/http.ts +29 -10
  816. package/src/file-store/index.ts +2 -0
  817. package/src/file-store/memory.ts +94 -0
  818. package/src/gas/README.md +318 -0
  819. package/src/gas/fee_math.ts +120 -0
  820. package/src/gas/gas.ts +8 -3
  821. package/src/gas/gas_fees.ts +26 -13
  822. package/src/gas/gas_settings.ts +63 -15
  823. package/src/gas/index.ts +2 -0
  824. package/src/gas/tx_gas_limits.ts +123 -0
  825. package/src/ha-signing/config.ts +78 -57
  826. package/src/ha-signing/index.ts +12 -1
  827. package/src/ha-signing/local_config.ts +65 -0
  828. package/src/ha-signing/types.ts +48 -34
  829. package/src/hash/hash.ts +63 -10
  830. package/src/interfaces/allowed_element.ts +28 -4
  831. package/src/interfaces/api_limit.ts +6 -1
  832. package/src/interfaces/archiver.ts +96 -92
  833. package/src/interfaces/aztec-node-admin.ts +36 -21
  834. package/src/interfaces/aztec-node-debug.ts +92 -0
  835. package/src/interfaces/aztec-node.ts +419 -263
  836. package/src/interfaces/block-builder.ts +66 -14
  837. package/src/interfaces/block_response.ts +92 -0
  838. package/src/interfaces/chain_tips.ts +16 -0
  839. package/src/interfaces/checkpoint_parameter.ts +20 -0
  840. package/src/interfaces/checkpoint_response.ts +84 -0
  841. package/src/interfaces/client.ts +8 -1
  842. package/src/interfaces/configs.ts +93 -10
  843. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  844. package/src/interfaces/l1_publish_info.ts +40 -0
  845. package/src/interfaces/l2_logs_source.ts +13 -39
  846. package/src/interfaces/merkle_tree_operations.ts +11 -20
  847. package/src/interfaces/p2p-bootstrap.ts +2 -2
  848. package/src/interfaces/p2p.ts +80 -19
  849. package/src/interfaces/private_kernel_prover.ts +98 -12
  850. package/src/interfaces/prover-agent.ts +1 -1
  851. package/src/interfaces/prover-client.ts +11 -8
  852. package/src/interfaces/prover-node.ts +36 -21
  853. package/src/interfaces/proving-job-source.ts +4 -4
  854. package/src/interfaces/proving-job.ts +18 -6
  855. package/src/interfaces/public_storage_override.ts +26 -0
  856. package/src/interfaces/server.ts +5 -1
  857. package/src/interfaces/server_circuit_prover.ts +2 -2
  858. package/src/interfaces/slasher.ts +17 -10
  859. package/src/interfaces/tx_provider.ts +10 -0
  860. package/src/interfaces/validator.ts +95 -42
  861. package/src/interfaces/world_state.ts +19 -4
  862. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  863. package/src/kernel/hints/key_validation_request.ts +18 -16
  864. package/src/kernel/hints/read_request.ts +1 -1
  865. package/src/kernel/index.ts +5 -1
  866. package/src/kernel/log_hash.ts +36 -13
  867. package/src/kernel/note_hash.ts +1 -1
  868. package/src/kernel/nullifier.ts +1 -1
  869. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  870. package/src/kernel/private_context_inputs.ts +10 -3
  871. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
  872. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  873. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  874. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  875. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  876. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  877. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  878. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  879. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +38 -14
  880. package/src/kernel/private_log_data.ts +4 -1
  881. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  882. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  883. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  884. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  885. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  886. package/src/kernel/public_call_request.ts +22 -7
  887. package/src/keys/derivation.ts +79 -22
  888. package/src/keys/public_key.ts +26 -2
  889. package/src/keys/public_keys.ts +124 -110
  890. package/src/kv-store/config.ts +29 -0
  891. package/src/kv-store/index.ts +1 -0
  892. package/src/l1-contracts/index.ts +1 -1
  893. package/src/logs/app_tagging_secret.ts +160 -0
  894. package/src/logs/app_tagging_secret_kind.ts +21 -0
  895. package/src/logs/contract_class_log.ts +15 -14
  896. package/src/logs/index.ts +7 -8
  897. package/src/logs/log_cursor.ts +110 -0
  898. package/src/logs/log_result.ts +104 -0
  899. package/src/logs/logs_query.ts +138 -0
  900. package/src/logs/pre_tag.ts +3 -6
  901. package/src/logs/private_log.ts +9 -3
  902. package/src/logs/query_all_logs_by_tags.ts +98 -0
  903. package/src/logs/shared_secret_derivation.ts +55 -11
  904. package/src/logs/siloed_tag.ts +20 -11
  905. package/src/logs/tag.ts +8 -8
  906. package/src/logs/tagging_index_range.ts +18 -0
  907. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  908. package/src/messaging/index.ts +1 -0
  909. package/src/messaging/l1_to_l2_message.ts +56 -15
  910. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  911. package/src/messaging/l2_to_l1_membership.ts +189 -35
  912. package/src/messaging/l2_to_l1_message.ts +29 -9
  913. package/src/noir/index.ts +6 -3
  914. package/src/note/note_dao.ts +1 -4
  915. package/src/p2p/attestation_utils.ts +8 -1
  916. package/src/p2p/block_proposal.ts +111 -36
  917. package/src/p2p/checkpoint_attestation.ts +38 -30
  918. package/src/p2p/checkpoint_proposal.ts +126 -85
  919. package/src/p2p/consensus_payload.ts +59 -28
  920. package/src/p2p/gossipable.ts +4 -4
  921. package/src/p2p/index.ts +1 -0
  922. package/src/p2p/peer_error.ts +7 -0
  923. package/src/p2p/signature_utils.ts +117 -23
  924. package/src/p2p/signed_txs.ts +46 -28
  925. package/src/p2p/validated_proposal.ts +43 -0
  926. package/src/parity/parity_base_private_inputs.ts +10 -4
  927. package/src/parity/parity_public_inputs.ts +9 -2
  928. package/src/proofs/chonk_proof.ts +132 -12
  929. package/src/rollup/avm_proof_data.ts +2 -2
  930. package/src/rollup/block_headers_hash.ts +11 -2
  931. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  932. package/src/rollup/checkpoint_header.ts +16 -2
  933. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  934. package/src/schemas/schemas.ts +6 -1
  935. package/src/slashing/helpers.ts +13 -9
  936. package/src/slashing/index.ts +1 -2
  937. package/src/slashing/serialization.ts +1 -81
  938. package/src/slashing/types.ts +24 -49
  939. package/src/slashing/{tally.ts → votes.ts} +22 -4
  940. package/src/stats/stats.ts +6 -2
  941. package/src/tests/factories.ts +111 -119
  942. package/src/tests/mocks.ts +88 -76
  943. package/src/timetable/README.md +609 -0
  944. package/src/timetable/budgets.ts +87 -0
  945. package/src/timetable/build_proposer_timetable.ts +42 -0
  946. package/src/timetable/consensus_timetable.ts +126 -0
  947. package/src/timetable/index.ts +4 -66
  948. package/src/timetable/proposer_timetable.ts +190 -0
  949. package/src/timetable/timetable-example.svg +108 -0
  950. package/src/trees/append_only_tree_snapshot.ts +8 -3
  951. package/src/trees/nullifier_leaf.ts +4 -0
  952. package/src/trees/nullifier_membership_witness.ts +0 -21
  953. package/src/trees/public_data_witness.ts +0 -31
  954. package/src/tx/block_header.ts +16 -5
  955. package/src/tx/capsule.ts +10 -2
  956. package/src/tx/execution_payload.ts +2 -1
  957. package/src/tx/fee_provider.ts +10 -0
  958. package/src/tx/global_variable_builder.ts +3 -20
  959. package/src/tx/global_variables.ts +12 -20
  960. package/src/tx/hashed_values.ts +19 -9
  961. package/src/tx/index.ts +1 -0
  962. package/src/tx/indexed_tx_effect.ts +18 -6
  963. package/src/tx/partial_state_reference.ts +8 -3
  964. package/src/tx/private_execution_result.ts +5 -5
  965. package/src/tx/private_tx_constant_data.ts +25 -2
  966. package/src/tx/profiling.ts +15 -6
  967. package/src/tx/proven_tx.ts +6 -0
  968. package/src/tx/public_call_request_with_calldata.ts +8 -3
  969. package/src/tx/simulated_tx.ts +31 -19
  970. package/src/tx/state_reference.ts +9 -4
  971. package/src/tx/tree_snapshots.ts +9 -4
  972. package/src/tx/tx.ts +98 -37
  973. package/src/tx/tx_constant_data.ts +8 -3
  974. package/src/tx/tx_context.ts +8 -3
  975. package/src/tx/tx_hash.ts +20 -5
  976. package/src/tx/tx_receipt.ts +267 -82
  977. package/src/tx/validator/error_texts.ts +13 -1
  978. package/src/tx/validator/tx_validator.ts +1 -5
  979. package/src/types/shared.ts +8 -13
  980. package/src/update-checker/dev_version.ts +2 -0
  981. package/src/update-checker/index.ts +3 -1
  982. package/src/update-checker/package_version.ts +17 -0
  983. package/src/update-checker/version_checker.ts +65 -0
  984. package/src/validators/errors.ts +26 -0
  985. package/src/validators/schemas.ts +6 -4
  986. package/src/validators/types.ts +21 -2
  987. package/src/versioning/versioning.ts +5 -2
  988. package/src/vks/verification_key.ts +5 -184
  989. package/src/world-state/genesis_data.ts +37 -0
  990. package/src/world-state/index.ts +1 -0
  991. package/src/world-state/world_state_revision.ts +9 -1
  992. package/dest/abi/mocked_keys.d.ts +0 -2
  993. package/dest/abi/mocked_keys.d.ts.map +0 -1
  994. package/dest/abi/mocked_keys.js +0 -1
  995. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  996. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  997. package/dest/block/checkpointed_l2_block.js +0 -46
  998. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  999. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1000. package/dest/contract/private_function_membership_proof.js +0 -124
  1001. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1002. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1003. package/dest/contract/utility_function_membership_proof.js +0 -87
  1004. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1005. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1006. package/dest/interfaces/epoch-prover.js +0 -1
  1007. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1008. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1009. package/dest/interfaces/get_logs_response.js +0 -12
  1010. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1011. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1012. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1013. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1014. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1015. package/dest/l1-contracts/slash_factory.js +0 -158
  1016. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1017. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1018. package/dest/logs/extended_contract_class_log.js +0 -67
  1019. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1020. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1021. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  1022. package/dest/logs/extended_public_log.d.ts +0 -106
  1023. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1024. package/dest/logs/extended_public_log.js +0 -73
  1025. package/dest/logs/log_filter.d.ts +0 -22
  1026. package/dest/logs/log_filter.d.ts.map +0 -1
  1027. package/dest/logs/log_filter.js +0 -11
  1028. package/dest/logs/log_id.d.ts +0 -85
  1029. package/dest/logs/log_id.d.ts.map +0 -1
  1030. package/dest/logs/log_id.js +0 -94
  1031. package/dest/logs/message_context.d.ts +0 -29
  1032. package/dest/logs/message_context.d.ts.map +0 -1
  1033. package/dest/logs/message_context.js +0 -56
  1034. package/dest/logs/pending_tagged_log.d.ts +0 -14
  1035. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  1036. package/dest/logs/pending_tagged_log.js +0 -34
  1037. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1038. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1039. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1040. package/dest/slashing/empire.d.ts +0 -31
  1041. package/dest/slashing/empire.d.ts.map +0 -1
  1042. package/dest/slashing/empire.js +0 -87
  1043. package/dest/slashing/tally.d.ts.map +0 -1
  1044. package/dest/update-checker/update-checker.d.ts +0 -49
  1045. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1046. package/dest/update-checker/update-checker.js +0 -130
  1047. package/src/abi/mocked_keys.ts +0 -2
  1048. package/src/block/checkpointed_l2_block.ts +0 -70
  1049. package/src/contract/private_function_membership_proof.ts +0 -167
  1050. package/src/contract/utility_function_membership_proof.ts +0 -118
  1051. package/src/interfaces/epoch-prover.ts +0 -72
  1052. package/src/interfaces/get_logs_response.ts +0 -35
  1053. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1054. package/src/l1-contracts/slash_factory.ts +0 -180
  1055. package/src/logs/extended_contract_class_log.ts +0 -87
  1056. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1057. package/src/logs/extended_public_log.ts +0 -94
  1058. package/src/logs/log_filter.ts +0 -31
  1059. package/src/logs/log_id.ts +0 -125
  1060. package/src/logs/message_context.ts +0 -62
  1061. package/src/logs/pending_tagged_log.ts +0 -41
  1062. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1063. package/src/slashing/empire.ts +0 -104
  1064. package/src/update-checker/update-checker.ts +0 -166
@@ -0,0 +1,31 @@
1
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
+
3
+ import { PrivateCallData } from './private_call_data.js';
4
+ import { PrivateKernelData } from './private_kernel_data.js';
5
+
6
+ /**
7
+ * Input to the batched private kernel inner circuit, which processes three app calls in a single
8
+ * iteration following a previous kernel.
9
+ */
10
+ export class PrivateKernelInner3CircuitPrivateInputs {
11
+ constructor(
12
+ public previousKernel: PrivateKernelData,
13
+ public privateCall0: PrivateCallData,
14
+ public privateCall1: PrivateCallData,
15
+ public privateCall2: PrivateCallData,
16
+ ) {}
17
+
18
+ toBuffer() {
19
+ return serializeToBuffer(this.previousKernel, this.privateCall0, this.privateCall1, this.privateCall2);
20
+ }
21
+
22
+ static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInner3CircuitPrivateInputs {
23
+ const reader = BufferReader.asReader(buffer);
24
+ return new PrivateKernelInner3CircuitPrivateInputs(
25
+ reader.readObject(PrivateKernelData),
26
+ reader.readObject(PrivateCallData),
27
+ reader.readObject(PrivateCallData),
28
+ reader.readObject(PrivateCallData),
29
+ );
30
+ }
31
+ }
@@ -68,14 +68,24 @@ export const privateKernelResetDimensionNames: DimensionName[] = [
68
68
  'PRIVATE_LOG_SILOING',
69
69
  ];
70
70
 
71
- export interface DimensionConfig {
72
- variants: number[];
73
- standalone: number[];
71
+ export interface ResetCatalogEntry {
72
+ name: string;
73
+ dimensions: number[];
74
+ // Measured gate count (circuit_size) of the compiled variant. Used by the selector to pick the
75
+ // cheapest variant that covers the requested dimensions, e.g. if the required dimensions are
76
+ // `6 - 2 - 2` then a variant with capacity `8 - 2 - 2` might be cheaper than one with capacity
77
+ // `6 - 4 - 4`.
74
78
  cost: number;
75
79
  }
76
80
 
77
81
  // Must match the config in noir-projects/noir-protocol-circuits/private_kernel_reset_config.json
78
82
  export interface PrivateKernelResetDimensionsConfig {
79
- dimensions: { [K in DimensionName]: DimensionConfig };
80
- specialCases: number[][];
83
+ // Variants used for mid-tx resets that prevent overflow. Never the last kernel in the chain.
84
+ inner: ResetCatalogEntry[];
85
+ // Variants used as the terminal kernel for the rollup-bound private-only path. Each runs
86
+ // final-reset siloing and tail finalisation in one proof.
87
+ finalTail: ResetCatalogEntry[];
88
+ // Terminal variants for the public-bound path (transactions with public function calls). Runs
89
+ // final-reset siloing and tail-to-public partitioning by revertibility in one proof.
90
+ finalTailToPublic: ResetCatalogEntry[];
81
91
  }
@@ -0,0 +1,69 @@
1
+ import type {
2
+ MAX_KEY_VALIDATION_REQUESTS_PER_TX,
3
+ MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
4
+ MAX_NULLIFIERS_PER_TX,
5
+ MAX_NULLIFIER_READ_REQUESTS_PER_TX,
6
+ } from '@aztec/constants';
7
+ import { bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
8
+
9
+ import type { UInt64 } from '../types/shared.js';
10
+ import type { PrivateKernelResetHints } from './hints/private_kernel_reset_hints.js';
11
+ import type { PaddedSideEffectAmounts, PaddedSideEffects } from './padded_side_effects.js';
12
+ import { kernelStateIsForPublic } from './private_kernel_circuit_public_inputs.js';
13
+ import type { PrivateKernelData } from './private_kernel_data.js';
14
+ import { PrivateKernelResetCircuitPrivateInputsVariants } from './private_kernel_reset_circuit_private_inputs.js';
15
+ import type { PrivateKernelResetDimensions } from './private_kernel_reset_dimensions.js';
16
+
17
+ /**
18
+ * Input to a terminal reset+tail circuit. `isForPublic()` selects the rollup-bound (`reset_tail`)
19
+ * or public-bound (`reset_tail_to_public`) family.
20
+ */
21
+ export class PrivateKernelResetTailCircuitPrivateInputs {
22
+ constructor(
23
+ public previousKernel: PrivateKernelData,
24
+ public paddedSideEffects: PaddedSideEffects,
25
+ public hints: PrivateKernelResetHints<
26
+ typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
27
+ typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
28
+ typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX,
29
+ typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX,
30
+ typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX,
31
+ typeof MAX_NULLIFIERS_PER_TX
32
+ >,
33
+ public dimensions: PrivateKernelResetDimensions,
34
+ public paddedSideEffectAmounts: PaddedSideEffectAmounts,
35
+ public expirationTimestampUpperBound: UInt64,
36
+ ) {}
37
+
38
+ isForPublic() {
39
+ return kernelStateIsForPublic(this.previousKernel.publicInputs);
40
+ }
41
+
42
+ /**
43
+ * Returns a dimension-trimmed view of the reset portion of these inputs (without the tail
44
+ * fields). The prover uses this to feed witness generation of the variant matching the chosen
45
+ * dimensions.
46
+ */
47
+ trimResetToSizes() {
48
+ const hints = this.hints.trimToSizes(
49
+ this.dimensions.NOTE_HASH_PENDING_READ,
50
+ this.dimensions.NOTE_HASH_SETTLED_READ,
51
+ this.dimensions.NULLIFIER_PENDING_READ,
52
+ this.dimensions.NULLIFIER_SETTLED_READ,
53
+ this.dimensions.KEY_VALIDATION,
54
+ this.dimensions.TRANSIENT_DATA_SQUASHING,
55
+ );
56
+ return new PrivateKernelResetCircuitPrivateInputsVariants(this.previousKernel, this.paddedSideEffects, hints);
57
+ }
58
+
59
+ toBuffer() {
60
+ return serializeToBuffer(
61
+ this.previousKernel,
62
+ this.paddedSideEffects,
63
+ this.hints,
64
+ this.dimensions,
65
+ this.paddedSideEffectAmounts,
66
+ bigintToUInt64BE(this.expirationTimestampUpperBound),
67
+ );
68
+ }
69
+ }
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
- import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, BufferSink, serializeToSink } from '@aztec/foundation/serialize';
4
4
 
5
5
  import { AztecAddress } from '../aztec-address/index.js';
6
6
  import { Gas } from '../gas/gas.js';
@@ -60,8 +60,14 @@ export class PartialPrivateTailPublicInputsForPublic {
60
60
  );
61
61
  }
62
62
 
63
- toBuffer() {
64
- return serializeToBuffer(
63
+ toBuffer(): Buffer;
64
+ toBuffer(sink: BufferSink): void;
65
+ toBuffer(sink?: BufferSink): Buffer | void {
66
+ if (!sink) {
67
+ return BufferSink.serialize(this);
68
+ }
69
+ serializeToSink(
70
+ sink,
65
71
  this.nonRevertibleAccumulatedData,
66
72
  this.revertibleAccumulatedData,
67
73
  this.publicTeardownCallRequest,
@@ -89,8 +95,13 @@ export class PartialPrivateTailPublicInputsForRollup {
89
95
  return this.end.getSize();
90
96
  }
91
97
 
92
- toBuffer() {
93
- return serializeToBuffer(this.end);
98
+ toBuffer(): Buffer;
99
+ toBuffer(sink: BufferSink): void;
100
+ toBuffer(sink?: BufferSink): Buffer | void {
101
+ if (!sink) {
102
+ return BufferSink.serialize(this);
103
+ }
104
+ serializeToSink(sink, this.end);
94
105
  }
95
106
 
96
107
  static empty() {
@@ -234,6 +245,15 @@ export class PrivateKernelTailCircuitPublicInputs {
234
245
  return noteHashes.filter(n => !n.isZero());
235
246
  }
236
247
 
248
+ getNonEmptyL2ToL1Msgs() {
249
+ const l2ToL1Msgs = this.forPublic
250
+ ? this.forPublic.nonRevertibleAccumulatedData.l2ToL1Msgs.concat(
251
+ this.forPublic.revertibleAccumulatedData.l2ToL1Msgs,
252
+ )
253
+ : this.forRollup!.end.l2ToL1Msgs;
254
+ return l2ToL1Msgs.filter(m => !m.isEmpty());
255
+ }
256
+
237
257
  getNonEmptyNullifiers() {
238
258
  const nullifiers = this.forPublic
239
259
  ? this.forPublic.nonRevertibleAccumulatedData.nullifiers.concat(
@@ -291,16 +311,20 @@ export class PrivateKernelTailCircuitPublicInputs {
291
311
  );
292
312
  }
293
313
 
294
- toBuffer() {
314
+ toBuffer(): Buffer;
315
+ toBuffer(sink: BufferSink): void;
316
+ toBuffer(sink?: BufferSink): Buffer | void {
317
+ if (!sink) {
318
+ return BufferSink.serialize(this);
319
+ }
295
320
  const isForPublic = !!this.forPublic;
296
- return serializeToBuffer(
297
- isForPublic,
298
- this.constants,
299
- this.gasUsed,
300
- this.feePayer,
301
- bigintToUInt64BE(this.expirationTimestamp),
302
- isForPublic ? this.forPublic!.toBuffer() : this.forRollup!.toBuffer(),
303
- );
321
+ serializeToSink(sink, isForPublic, this.constants, this.gasUsed, this.feePayer);
322
+ sink.writeUInt64(this.expirationTimestamp);
323
+ if (isForPublic) {
324
+ this.forPublic!.toBuffer(sink);
325
+ } else {
326
+ this.forRollup!.toBuffer(sink);
327
+ }
304
328
  }
305
329
 
306
330
  static empty() {
@@ -85,7 +85,10 @@ export class ScopedPrivateLogData {
85
85
 
86
86
  static fromFields(fields: Fr[] | FieldReader) {
87
87
  const reader = FieldReader.asReader(fields);
88
- return new ScopedPrivateLogData(reader.readObject(PrivateLogData), AztecAddress.fromField(reader.readField()));
88
+ return new ScopedPrivateLogData(
89
+ reader.readObject(PrivateLogData),
90
+ AztecAddress.fromFieldUnsafe(reader.readField()),
91
+ );
89
92
  }
90
93
 
91
94
  isEmpty() {
@@ -10,11 +10,12 @@ import { Fr } from '@aztec/foundation/curves/bn254';
10
10
  import { schemas } from '@aztec/foundation/schemas';
11
11
  import {
12
12
  BufferReader,
13
+ BufferSink,
13
14
  FieldReader,
14
15
  type Tuple,
15
16
  assertLength,
16
- serializeToBuffer,
17
17
  serializeToFields,
18
+ serializeToSink,
18
19
  } from '@aztec/foundation/serialize';
19
20
 
20
21
  import { inspect } from 'util';
@@ -100,8 +101,13 @@ export class PrivateToAvmAccumulatedData {
100
101
  );
101
102
  }
102
103
 
103
- toBuffer() {
104
- return serializeToBuffer(...PrivateToAvmAccumulatedData.getFields(this));
104
+ toBuffer(): Buffer;
105
+ toBuffer(sink: BufferSink): void;
106
+ toBuffer(sink?: BufferSink): Buffer | void {
107
+ if (!sink) {
108
+ return BufferSink.serialize(this);
109
+ }
110
+ serializeToSink(sink, ...PrivateToAvmAccumulatedData.getFields(this));
105
111
  }
106
112
 
107
113
  static empty() {
@@ -200,8 +206,13 @@ export class PrivateToAvmAccumulatedDataArrayLengths {
200
206
  return new PrivateToAvmAccumulatedDataArrayLengths(reader.readNumber(), reader.readNumber(), reader.readNumber());
201
207
  }
202
208
 
203
- toBuffer() {
204
- return serializeToBuffer(...PrivateToAvmAccumulatedDataArrayLengths.getFields(this));
209
+ toBuffer(): Buffer;
210
+ toBuffer(sink: BufferSink): void;
211
+ toBuffer(sink?: BufferSink): Buffer | void {
212
+ if (!sink) {
213
+ return BufferSink.serialize(this);
214
+ }
215
+ serializeToSink(sink, ...PrivateToAvmAccumulatedDataArrayLengths.getFields(this));
205
216
  }
206
217
 
207
218
  static empty() {
@@ -12,10 +12,11 @@ import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
12
12
  import { Fr } from '@aztec/foundation/curves/bn254';
13
13
  import {
14
14
  BufferReader,
15
+ BufferSink,
15
16
  FieldReader,
16
17
  type Tuple,
17
- serializeToBuffer,
18
18
  serializeToFields,
19
+ serializeToSink,
19
20
  } from '@aztec/foundation/serialize';
20
21
 
21
22
  import { inspect } from 'util';
@@ -85,8 +86,13 @@ export class PrivateToPublicAccumulatedData {
85
86
  );
86
87
  }
87
88
 
88
- toBuffer() {
89
- return serializeToBuffer(...PrivateToPublicAccumulatedData.getFields(this));
89
+ toBuffer(): Buffer;
90
+ toBuffer(sink: BufferSink): void;
91
+ toBuffer(sink?: BufferSink): Buffer | void {
92
+ if (!sink) {
93
+ return BufferSink.serialize(this);
94
+ }
95
+ serializeToSink(sink, ...PrivateToPublicAccumulatedData.getFields(this));
90
96
  }
91
97
 
92
98
  toFields(): Fr[] {
@@ -2,7 +2,7 @@ import { DomainSeparator, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import type { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
5
- import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
5
+ import { BufferReader, BufferSink, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
6
6
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
7
7
  import type { FieldsOf } from '@aztec/foundation/types';
8
8
 
@@ -24,16 +24,22 @@ export class PrivateToPublicKernelCircuitPublicInputs {
24
24
  public expirationTimestamp: UInt64,
25
25
  ) {}
26
26
 
27
- toBuffer() {
28
- return serializeToBuffer(
27
+ toBuffer(): Buffer;
28
+ toBuffer(sink: BufferSink): void;
29
+ toBuffer(sink?: BufferSink): Buffer | void {
30
+ if (!sink) {
31
+ return BufferSink.serialize(this);
32
+ }
33
+ serializeToSink(
34
+ sink,
29
35
  this.constants,
30
36
  this.nonRevertibleAccumulatedData,
31
37
  this.revertibleAccumulatedData,
32
38
  this.publicTeardownCallRequest,
33
39
  this.gasUsed,
34
40
  this.feePayer,
35
- bigintToUInt64BE(this.expirationTimestamp),
36
41
  );
42
+ sink.writeUInt64(this.expirationTimestamp);
37
43
  }
38
44
 
39
45
  static getFields(fields: FieldsOf<PrivateToPublicKernelCircuitPublicInputs>) {
@@ -10,7 +10,7 @@ import { type FieldsOf, makeTuple } from '@aztec/foundation/array';
10
10
  import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection';
11
11
  import { Fr } from '@aztec/foundation/curves/bn254';
12
12
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
13
- import { BufferReader, type Tuple, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
13
+ import { BufferReader, BufferSink, type Tuple, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
14
14
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
15
15
 
16
16
  import { inspect } from 'util';
@@ -79,8 +79,13 @@ export class PrivateToRollupAccumulatedData {
79
79
  return this.toBuffer();
80
80
  }
81
81
 
82
- toBuffer() {
83
- return serializeToBuffer(...PrivateToRollupAccumulatedData.getFields(this));
82
+ toBuffer(): Buffer;
83
+ toBuffer(sink: BufferSink): void;
84
+ toBuffer(sink?: BufferSink): Buffer | void {
85
+ if (!sink) {
86
+ return BufferSink.serialize(this);
87
+ }
88
+ serializeToSink(sink, ...PrivateToRollupAccumulatedData.getFields(this));
84
89
  }
85
90
 
86
91
  toString() {
@@ -2,7 +2,7 @@ import { DomainSeparator, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import type { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
5
- import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
5
+ import { BufferReader, BufferSink, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
6
6
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
7
7
  import type { FieldsOf } from '@aztec/foundation/types';
8
8
 
@@ -44,14 +44,14 @@ export class PrivateToRollupKernelCircuitPublicInputs {
44
44
  return this.end.nullifiers.filter(n => !n.isZero());
45
45
  }
46
46
 
47
- toBuffer() {
48
- return serializeToBuffer(
49
- this.constants,
50
- this.end,
51
- this.gasUsed,
52
- this.feePayer,
53
- bigintToUInt64BE(this.expirationTimestamp),
54
- );
47
+ toBuffer(): Buffer;
48
+ toBuffer(sink: BufferSink): void;
49
+ toBuffer(sink?: BufferSink): Buffer | void {
50
+ if (!sink) {
51
+ return BufferSink.serialize(this);
52
+ }
53
+ serializeToSink(sink, this.constants, this.end, this.gasUsed, this.feePayer);
54
+ sink.writeUInt64(this.expirationTimestamp);
55
55
  }
56
56
 
57
57
  /**
@@ -1,7 +1,7 @@
1
1
  import { COUNTED_PUBLIC_CALL_REQUEST_LENGTH, PUBLIC_CALL_REQUEST_LENGTH } from '@aztec/constants';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { schemas } from '@aztec/foundation/schemas';
4
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
4
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
5
5
  import type { FieldsOf } from '@aztec/foundation/types';
6
6
 
7
7
  import { inspect } from 'util';
@@ -89,8 +89,13 @@ export class PublicCallRequest {
89
89
  );
90
90
  }
91
91
 
92
- toBuffer() {
93
- return serializeToBuffer(...PublicCallRequest.getFields(this));
92
+ toBuffer(): Buffer;
93
+ toBuffer(sink: BufferSink): void;
94
+ toBuffer(sink?: BufferSink): Buffer | void {
95
+ if (!sink) {
96
+ return BufferSink.serialize(this);
97
+ }
98
+ serializeToSink(sink, ...PublicCallRequest.getFields(this));
94
99
  }
95
100
 
96
101
  static empty() {
@@ -188,8 +193,13 @@ export class PublicCallRequestArrayLengths {
188
193
  return new PublicCallRequestArrayLengths(reader.readNumber(), reader.readNumber(), reader.readBoolean());
189
194
  }
190
195
 
191
- toBuffer() {
192
- return serializeToBuffer(...PublicCallRequestArrayLengths.getFields(this));
196
+ toBuffer(): Buffer;
197
+ toBuffer(sink: BufferSink): void;
198
+ toBuffer(sink?: BufferSink): Buffer | void {
199
+ if (!sink) {
200
+ return BufferSink.serialize(this);
201
+ }
202
+ serializeToSink(sink, ...PublicCallRequestArrayLengths.getFields(this));
193
203
  }
194
204
 
195
205
  static empty() {
@@ -250,8 +260,13 @@ export class CountedPublicCallRequest {
250
260
  return new CountedPublicCallRequest(reader.readObject(PublicCallRequest), reader.readNumber());
251
261
  }
252
262
 
253
- toBuffer() {
254
- return serializeToBuffer(...CountedPublicCallRequest.getFields(this));
263
+ toBuffer(): Buffer;
264
+ toBuffer(sink: BufferSink): void;
265
+ toBuffer(sink?: BufferSink): Buffer | void {
266
+ if (!sink) {
267
+ return BufferSink.serialize(this);
268
+ }
269
+ serializeToSink(sink, ...CountedPublicCallRequest.getFields(this));
255
270
  }
256
271
 
257
272
  static empty() {
@@ -7,11 +7,15 @@ import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
7
7
 
8
8
  import { AztecAddress } from '../aztec-address/index.js';
9
9
  import type { KeyPrefix } from './key_types.js';
10
+ import { PublicKey, hashPublicKey } from './public_key.js';
10
11
  import { PublicKeys } from './public_keys.js';
11
12
  import { getKeyGenerator } from './utils.js';
12
13
 
13
- export function computeAppNullifierHidingKey(masterNullifierHidingKey: GrumpkinScalar, app: AztecAddress): Promise<Fr> {
14
- return computeAppSecretKey(masterNullifierHidingKey, app, 'n'); // 'n' is the key prefix for nullifier hiding key
14
+ export function computeAppNullifierHidingKey(
15
+ masterNullifierHidingSecretKey: GrumpkinScalar,
16
+ app: AztecAddress,
17
+ ): Promise<Fr> {
18
+ return computeAppSecretKey(masterNullifierHidingSecretKey, app, 'n'); // 'n' is the key prefix for nullifier hiding key
15
19
  }
16
20
 
17
21
  export function computeAppSecretKey(skM: GrumpkinScalar, app: AztecAddress, keyPrefix: KeyPrefix): Promise<Fr> {
@@ -26,7 +30,7 @@ export async function computeOvskApp(ovsk: GrumpkinScalar, app: AztecAddress): P
26
30
  return GrumpkinScalar.fromBuffer(ovskAppFr.toBuffer());
27
31
  }
28
32
 
29
- export function deriveMasterNullifierHidingKey(secretKey: Fr): GrumpkinScalar {
33
+ export function deriveMasterNullifierHidingSecretKey(secretKey: Fr): GrumpkinScalar {
30
34
  return sha512ToGrumpkinScalar([secretKey, DomainSeparator.NHK_M]);
31
35
  }
32
36
 
@@ -38,24 +42,27 @@ export function deriveMasterOutgoingViewingSecretKey(secretKey: Fr): GrumpkinSca
38
42
  return sha512ToGrumpkinScalar([secretKey, DomainSeparator.OVSK_M]);
39
43
  }
40
44
 
41
- export function deriveSigningKey(secretKey: Fr): GrumpkinScalar {
42
- // TODO(#5837): come up with a standard signing key derivation scheme instead of using ivsk_m as signing keys here
43
- return sha512ToGrumpkinScalar([secretKey, DomainSeparator.IVSK_M]);
45
+ export function deriveMasterMessageSigningSecretKey(secretKey: Fr): GrumpkinScalar {
46
+ return sha512ToGrumpkinScalar([secretKey, DomainSeparator.MSSK_M]);
47
+ }
48
+
49
+ export function deriveMasterFallbackSecretKey(secretKey: Fr): GrumpkinScalar {
50
+ return sha512ToGrumpkinScalar([secretKey, DomainSeparator.FBSK_M]);
44
51
  }
45
52
 
46
53
  export function computePreaddress(publicKeysHash: Fr, partialAddress: Fr) {
47
- return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1);
54
+ return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2);
48
55
  }
49
56
 
50
57
  export async function computeAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise<AztecAddress> {
51
58
  // Given public keys and a partial address, we can compute our address in the following steps.
52
- // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1);
59
+ // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V2);
53
60
  // 2. addressPoint = (preaddress * G) + ivpk_m
54
61
  // 3. address = addressPoint.x
55
62
  const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
56
63
  const address = await Grumpkin.add(
57
64
  await derivePublicKeyFromSecretKey(new Fq(preaddress.toBigInt())),
58
- publicKeys.masterIncomingViewingPublicKey,
65
+ publicKeys.ivpkM,
59
66
  );
60
67
 
61
68
  return new AztecAddress(address.x);
@@ -83,42 +90,92 @@ export async function computeAddressSecret(preaddress: Fr, ivsk: Fq) {
83
90
  return addressSecretCandidate;
84
91
  }
85
92
 
86
- export function derivePublicKeyFromSecretKey(secretKey: Fq) {
93
+ export function derivePublicKeyFromSecretKey(secretKey: Fq): Promise<PublicKey> {
94
+ // 0 * G is the point at infinity. The WASM encodes infinity with an out-of-field x coordinate that Point cannot
95
+ // deserialize, so return the point directly instead of calling into it.
96
+ if (secretKey.isZero()) {
97
+ return Promise.resolve(PublicKey.INFINITY);
98
+ }
87
99
  return Grumpkin.mul(Grumpkin.generator, secretKey);
88
100
  }
89
101
 
102
+ /**
103
+ * The six master secret keys that fully define an account's privacy keys.
104
+ */
105
+ export type MasterSecretKeys = {
106
+ masterNullifierHidingSecretKey: GrumpkinScalar;
107
+ masterIncomingViewingSecretKey: GrumpkinScalar;
108
+ masterOutgoingViewingSecretKey: GrumpkinScalar;
109
+ masterTaggingSecretKey: GrumpkinScalar;
110
+ masterMessageSigningSecretKey: GrumpkinScalar;
111
+ masterFallbackSecretKey: GrumpkinScalar;
112
+ };
113
+
90
114
  /**
91
115
  * Computes secret and public keys and public keys hash from a secret key.
92
116
  * @param secretKey - The secret key to derive keys from.
93
117
  * @returns The derived keys.
94
118
  */
95
- export async function deriveKeys(secretKey: Fr) {
119
+ export function deriveKeys(secretKey: Fr) {
96
120
  // First we derive master secret/hiding keys - we use sha512 here because this derivation will never take place
97
121
  // in a circuit
98
- const masterNullifierHidingKey = deriveMasterNullifierHidingKey(secretKey);
99
- const masterIncomingViewingSecretKey = deriveMasterIncomingViewingSecretKey(secretKey);
100
- const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
101
- const masterTaggingSecretKey = sha512ToGrumpkinScalar([secretKey, DomainSeparator.TSK_M]);
122
+ return deriveKeysFromMasterSecretKeys({
123
+ masterNullifierHidingSecretKey: deriveMasterNullifierHidingSecretKey(secretKey),
124
+ masterIncomingViewingSecretKey: deriveMasterIncomingViewingSecretKey(secretKey),
125
+ masterOutgoingViewingSecretKey: deriveMasterOutgoingViewingSecretKey(secretKey),
126
+ masterTaggingSecretKey: sha512ToGrumpkinScalar([secretKey, DomainSeparator.TSK_M]),
127
+ masterMessageSigningSecretKey: deriveMasterMessageSigningSecretKey(secretKey),
128
+ masterFallbackSecretKey: deriveMasterFallbackSecretKey(secretKey),
129
+ });
130
+ }
131
+
132
+ /**
133
+ * Derives the master public keys and the {@link PublicKeys} struct from a set of master secret keys.
134
+ * @param secretKeys - The master secret keys to derive public keys from.
135
+ * @returns The provided secret keys alongside the derived public keys.
136
+ */
137
+ export async function deriveKeysFromMasterSecretKeys(secretKeys: MasterSecretKeys) {
138
+ const {
139
+ masterNullifierHidingSecretKey,
140
+ masterIncomingViewingSecretKey,
141
+ masterOutgoingViewingSecretKey,
142
+ masterTaggingSecretKey,
143
+ masterMessageSigningSecretKey,
144
+ masterFallbackSecretKey,
145
+ } = secretKeys;
102
146
 
103
- // Then we derive master public keys
104
- const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
147
+ const masterNullifierHidingPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingSecretKey);
105
148
  const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
106
149
  const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
107
150
  const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey);
151
+ const masterMessageSigningPublicKey = await derivePublicKeyFromSecretKey(masterMessageSigningSecretKey);
152
+ const masterFallbackPublicKey = await derivePublicKeyFromSecretKey(masterFallbackSecretKey);
108
153
 
109
- // We hash the public keys to get the public keys hash
154
+ // The non-owner-visible PublicKeys carries hashes for npk/ovpk/tpk/mspk/fbpk and the raw
155
+ // point only for ivpk_m. The npk/ovpk/tpk/mspk/fbpk raw points are also returned alongside so the key
156
+ // store can persist them under `${account}-{n|ov|t|ms|fb}pk_m` (only their hashes live in publicKeys).
157
+ // The ivpk_m point isn't returned separately because it already lives in publicKeys.ivpkM.
110
158
  const publicKeys = new PublicKeys(
111
- masterNullifierPublicKey,
159
+ await hashPublicKey(masterNullifierHidingPublicKey),
112
160
  masterIncomingViewingPublicKey,
113
- masterOutgoingViewingPublicKey,
114
- masterTaggingPublicKey,
161
+ await hashPublicKey(masterOutgoingViewingPublicKey),
162
+ await hashPublicKey(masterTaggingPublicKey),
163
+ await hashPublicKey(masterMessageSigningPublicKey),
164
+ await hashPublicKey(masterFallbackPublicKey),
115
165
  );
116
166
 
117
167
  return {
118
- masterNullifierHidingKey,
168
+ masterNullifierHidingSecretKey,
119
169
  masterIncomingViewingSecretKey,
120
170
  masterOutgoingViewingSecretKey,
121
171
  masterTaggingSecretKey,
172
+ masterMessageSigningSecretKey,
173
+ masterFallbackSecretKey,
174
+ masterNullifierHidingPublicKey,
175
+ masterOutgoingViewingPublicKey,
176
+ masterTaggingPublicKey,
177
+ masterMessageSigningPublicKey,
178
+ masterFallbackPublicKey,
122
179
  publicKeys,
123
180
  };
124
181
  }
@@ -1,4 +1,28 @@
1
- import type { Point } from '@aztec/foundation/curves/grumpkin';
1
+ import { DomainSeparator } from '@aztec/constants';
2
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { Point } from '@aztec/foundation/curves/grumpkin';
2
5
 
3
- /** Represents a user public key. */
6
+ /**
7
+ * Hashes a public key.
8
+ *
9
+ * Mirrors Noir's `hash_public_key` in `noir-protocol-circuits/crates/types/src/public_keys.nr`:
10
+ * `Poseidon2(DOM_SEP__SINGLE_PUBLIC_KEY_HASH, [pk.x, pk.y])`.
11
+ *
12
+ * This is distinct from Noir's generic `Hash` impl for `EmbeddedCurvePoint` (`noir_stdlib/src/embedded_curve_ops.nr`),
13
+ * which simply absorbs `x` then `y` into a `Hasher` state with no domain separator. That generic impl is unsuitable
14
+ * for hashing keys at the protocol boundary, where the domain separator is required to prevent collisions with hashes
15
+ * of other Grumpkin points (e.g. note commitments, nullifiers).
16
+ */
17
+ export function hashPublicKey(pk: PublicKey): Promise<Fr> {
18
+ return poseidon2HashWithSeparator([pk.x, pk.y], DomainSeparator.SINGLE_PUBLIC_KEY_HASH);
19
+ }
20
+
21
+ /**
22
+ * Represents a user public key.
23
+ *
24
+ * Structurally identical to a Grumpkin `Point`; exposed as a distinct name so call sites read as "public key" where
25
+ * that's the domain meaning.
26
+ */
4
27
  export type PublicKey = Point;
28
+ export const PublicKey = Point;